The education manager wants to know how many people came through on the general admission program yesterday, separate from the after-hours event and the school groups. You open the daily admission report, and everything is rolled together. There’s no obvious way to say “just this one program.”
That’s a common frustration with Altru’s standard admission reporting. The good news is that the underlying data is all there: every daily sale is tied to a program, a date, and a price type. You just have to get to it through a different door. Below are the options, from what you can try in five minutes to a setup that runs on its own.
First, confirm what your version of the report can do
Altru’s built-in reports change over time, and parameter options can depend on your configuration and security rights. Before building a workaround, spend a few minutes checking:
- Open the report’s parameters and look for any program, program category, or sales-method filter. If one exists, it may only appear for certain roles.
- Check whether a program category filter is available. If your programs are grouped sensibly into categories, filtering by category can get you close enough without anything else.
- If you can’t find a program-level filter, ask Blackbaud support whether one exists or is planned, and whether a different standard report (for example, one focused on sales by program) covers what you need.
If none of that turns up a clean answer, the reliable path is a query.
Build a query that reports admissions by program
An ad hoc query gives you exactly the filter the report is missing, and you control the columns. The general shape:
- Start from sales or ticket data, not constituents. You’re counting admissions, so base the query on the daily sales or ticket information where each row represents a ticket or line item.
- Add filters for date and program. Filter the sale or event date to “yesterday” or a date range, and filter the program to the one (or few) you care about. Using a relative date like “yesterday” or “last week” means you never have to edit the query again.
- Choose your output columns. Typically program name, price type (adult, child, member, and so on), quantity, and amount. Add sales method or the user who rang the sale if you want to compare front desk versus online.
- Summarize. Use the query’s summary options to total quantity and amount by program and price type, so you get a short table instead of thousands of rows.
- Save it with a clear name and share it with the people who ask for this number, so they can run it themselves.
Test it against a day you already know. Pick a recent date, run the standard daily admission report and your query side by side, and confirm that the totals across all programs match. If they don’t, the usual culprits are refunds and exchanges, comp tickets with zero price, or membership-scanned admissions that are recorded differently from paid tickets. Decide how each should count and adjust your filters to match.
A few things that trip people up
- Refunds. A ticket sold yesterday and refunded today may still show on yesterday’s sale. Decide whether you’re reporting sales or net attendance.
- Advance sales. Tickets bought online last week for yesterday’s visit can land on the purchase date or the event date depending on the field you filter. For attendance, you almost always want the event date.
- Member admissions. If members check in without a ticket transaction, they may not appear in a sales-based query at all. Confirm how your organization records member visits before reporting a “total attendance” figure.
Make it a daily habit, not a daily chore
A saved query solves the filter problem, but someone still has to open Altru, run it, and send the numbers around. For a lot of organizations, that’s where things fall apart: the person who knows how to run it is out, or the report goes to three people in three slightly different formats.
Some options that reduce the manual work:
- Share the query, not the export. Program managers who have Altru access can run it themselves with the date they need.
- Create one query per program if different teams each own a program. It’s more to maintain, but each team gets a clean view without touching filters.
- Keep a running log. Exporting the summarized query each morning into a shared spreadsheet gives you a day-by-day history you can chart, which the standard report doesn’t keep for you.
Getting program-level numbers out of Altru automatically
The running-log approach works, but it depends on someone remembering to export. Social Good’s Data Bridge can sync an Altru query to Google Sheets, so the program-filtered admissions query you built above lands in a shared sheet without a manual export. From there, staff can filter, pivot, or chart by program however they like, and Altru remains the source of the numbers.
Quick answers
Can I just filter the exported report in Excel?
Only if the export includes a program column. If the report’s output already rolls programs together, filtering after the fact won’t separate them. A query is more dependable.
Why don’t my query totals match the daily admission report?
Usually refunds, comps, or the difference between sale date and event date. Compare one known day and adjust filters until both match.
Do I need special rights to build queries?
Yes, query access is controlled by security roles. If you can’t create an ad hoc query, ask your Altru system administrator to grant access or build the query and share it with you.



