[
    ~[tlist_sql; 
        SELECT DISTINCT
            SUM(COALESCE(Att_AdaAdm_Defaults_All.AttendanceValue,0)) as ada,
            SUM(COALESCE(Att_AdaAdm_Defaults_All.MembershipValue,0)) as adm,
            -- COALESCE(COUNT(CASE WHEN Att_AdaAdm_Defaults_All.MembershipValue != 0 THEN Att_AdaAdm_Defaults_All.AttendanceValue END) - SUM(Att_AdaAdm_Defaults_All.AttendanceValue),0) as absence,
            COALESCE(SUM(COALESCE(Att_AdaAdm_Defaults_All.MembershipValue,0)) - SUM(Att_AdaAdm_Defaults_All.AttendanceValue),0) as absence,
            TO_CHAR(ps_enrollment_all.EntryDate, '~[dateformat]') as entryDate,
            TO_CHAR(ps_enrollment_all.ExitDate, '~[dateformat]') as exitDate,
            Students.lastfirst,
            Students.dcid,
            Students.Student_Number,
            Att_AdaAdm_Defaults_All.Student_Track,
            FTE.Name,
            Att_AdaAdm_Defaults_All.Grade_Level,
            Schools.Name,
            SUM(COALESCE(Att_AdaAdm_Defaults_All.OffTrack,0)) as otd,
            Students.ID,
            PS_Enrollment_All.MembershipShare,
            Students.Enroll_Status
        FROM Att_AdaAdm_Defaults_All
        JOIN ps_enrollment_all ON ps_enrollment_all.studentid = Att_AdaAdm_Defaults_All.studentid
            AND ps_enrollment_all.schoolid = Att_AdaAdm_Defaults_All.schoolid
            AND Att_AdaAdm_Defaults_All.CalendarDate BETWEEN PS_Enrollment_all.EntryDate and PS_Enrollment_all.ExitDate - 1
            AND (
                    ps_enrollment_all.entrydate BETWEEN to_date('~(gpv.startDate;onlydatecharacters)','~[dateformat]') AND to_date('~(gpv.endDate;onlydatecharacters)','~[dateformat]') OR
                    ps_enrollment_all.exitdate - 1 BETWEEN to_date('~(gpv.startDate;onlydatecharacters)','~[dateformat]') AND to_date('~(gpv.endDate;onlydatecharacters)','~[dateformat]') OR
                    (ps_enrollment_all.entrydate < to_date('~(gpv.startDate;onlydatecharacters)','~[dateformat]') AND ps_enrollment_all.exitdate > to_date('~(gpv.endDate;onlydatecharacters)','~[dateformat]'))
                )
        JOIN Students ON Students.Id = ps_enrollment_all.StudentID
        JOIN FTE ON FTE.ID = Att_AdaAdm_Defaults_All.FTEID
        JOIN Schools ON Schools.School_Number = Students.SchoolID
        WHERE
            Att_AdaAdm_Defaults_All.CalendarDate BETWEEN to_date('~(gpv.startDate;onlydatecharacters)','~[dateformat]') AND to_date('~(gpv.endDate;onlydatecharacters)','~[dateformat]')
            AND Att_AdaAdm_Defaults_All.CalendarDate IN (SELECT date_value FROM Calendar_Day WHERE insession = 1)
            AND Att_AdaAdm_Defaults_All.SchoolID = ~(curschoolid)
            ~[if.~(gpv.studentSelection)=cur] 
                AND Students.dcid IN (SELECT dcid FROM ~[temp.table.current.selection:students])
            [/if]
            ~[if.~(gpv.inactiveStudents)=false]
                AND Students.Enroll_Status = 0
            [/if]
        GROUP BY
            Students.DCID,
            Students.lastfirst,
            Students.Student_Number,
            ps_enrollment_all.EntryDate,
            ps_enrollment_all.ExitDate,
            Att_AdaAdm_Defaults_All.Student_Track,
            FTE.Name,
            Att_AdaAdm_Defaults_All.Grade_Level,
            Schools.Name,
            Students.ID,
            PS_Enrollment_All.MembershipShare,
            Students.Enroll_Status
        ORDER BY Students.lastfirst
      ;]
        {
            "attendance": "~(ada;JSON)",
            "membership": "~(adm;JSON)",
            "absence": "~(absence;JSON)",
            "entryDate": "~(entryDate;JSON)",
            "exitDate": "~(exitDate;JSON)",
            "studentName": "~(Students.lastfirst;JSON)",
            "studentDCID": "~(Students.DCID;JSON)",
            "studentNumber":"~(Students.Student_Number;JSON)",
            "track": "~(Att_AdaAdm_Defaults_All.Student_Track;JSON)",
            "fte": "~(FTE.Name;JSON)",
            "grade": "~(Att_AdaAdm_Defaults_All.Grade_Level;JSON)",
            "school": "~(Schools.Name;JSON)",
            "otd": "~(otd;JSON)",
            "id": "~(id;JSON)",
            "mShare": "~(mShare;JSON)",
            "status": "~(status;JSON)",
            "dne": "",
            "selected": true
        },
      [/tlist_sql]{}
]