Skip to main content
Question

Help with creating reports from attendance data

  • July 24, 2026
  • 6 replies
  • 247 views

Forum|alt.badge.img+2

I am working with a small nonprofit foreign language school. I need to create a report that shows the # students in attendance each quarter. I have the following tables:

  • Students
  • Classes
  • Attendance

 

Each Attendance record has the following fields:

  • Class session ID
  • Date of session
  • Class (each class is specific to a year, so FY26 Eng100)
  • Class Hours (# hours per session)
  • Year-Quarter (a formula field that calculates year & quarter based on date of session. ie 2026 Q2)
  • Students present
  • # Students present

Each Student record has the following fields:

  • Student name
  • current classes (each class is specific to a year, so FY26 Eng100)
  • previous classes
  • attendance (which links to Attendance, and lists all the class sessions that student has attended)
  • quarters in attendance (rollup field: source is Attendance, rolls up ArrayUnique of Year-Quarter)
  • Rollup fields of # hours attended each quarter: “2025 Q4 Attendance hours”, “2026 Q1 Attendance Hours” Etc
  • Demographic data about student (region, age, gender, etc)

 

How can I pull reports that show # students in attendance each quarter? And demographic reports like # students from a region in each quarter? I thought I could use Pivot Tables to do so but 

6 replies

Ac_dvlp
Forum|alt.badge.img+1
  • Participating Frequently
  • July 24, 2026

How about creating a junction table with one record per student-per-session?

Add lookups for Year-Quarter and the demographic fields you care about onto that table, then build an Interface Chart off it- group by Year-Quarter and split by the demographic field  to get the quarterly and demographic breakdowns you're after.


Forum|alt.badge.img+2
  • Author
  • New Participant
  • July 24, 2026

That could work! I’ll give it a try and report back. Will need the junction table to automatically populate from the attendance table, which is usually completed via a Fillout form but could also be edited directly in the table after the fact. Any thoughts on creating that automation?


TheTimeSavingCo
Forum|alt.badge.img+32

re: Any thoughts on creating that automation?

Does this look right?  If so I’ve set it up here for you to check out!

And here’s how the automation looks:

 

  1. Repeating group that runs for each linked Student in the ‘Session’ record
  2. For each of the linked students, it looks in the ‘Attendance’ table for a record that contains this Student and this Attendance record
    1. If it doesn’t exist, it creates one
    2. This is done to prevent duplicate records from being created, as you mentioned that attendance is edited sometimes?

Deleting existing attendance records is also technically automatable but would require either a script or a helper field; probably easier to delete the Attendance record manually instead of setting it up as it seems like that’d be pretty rare?

If you do want to set that up let me know which one you’d like (script or helper fields) and I’ll see what I can do to help!

 


Forum|alt.badge.img+1
  • New Participant
  • July 27, 2026

Thanks for this. A couple things not making sense to me. If you’re willing to help me understand --

1- What is the purpose of the first action; ‘update record’, updating the record in the ‘Sessions’ table? 

2- How do you create the conditional logic If Record Length=0? I’m able to find that option as I try to recreate the automation in my base. 


TheTimeSavingCo
Forum|alt.badge.img+32

1- What is the purpose of the first action; ‘update record’, updating the record in the ‘Sessions’ table? 

This is to untick the checkbox that triggers the automation!  Not strictly needed but nice to have to know that the automation’s running

---

2- How do you create the conditional logic If Record Length=0? I’m able to find that option as I try to recreate the automation in my base. 

Ah we need to click into ‘Find Records’ and then select ‘Length’

 


Forum|alt.badge.img+1
  • New Participant
  • August 15, 2026

Thanks! I’m going to give this a try and will report back