Analytics troubleshooting
What you saw, why, and what to do about it, grouped by the screen you are on. The general rule for this module is set out in full in why analytics figures read zero: a zero here rarely means what it looks like it means.
Getting in
"Access Denied, you do not have permission to view analytics and reports."
You hold Staff, Parent, or a role this module does not recognise at all. Every action in this module needs the reporting setting or the narrower financial-management setting, and there is no analytics screen a staff member's account can reach.
The page loads but every panel fails
You are almost certainly on a read-only account. The page checks a wider screen-side setting that also lets that account through, and it satisfies zero settings PTRS actually enforces anywhere in the product. There is no workaround short of a different account.
The analytics dashboard
Avg Daily Attendance and Compliance Score both read zero
Structural, and permanent. The first reads a daily summary table nothing writes to; the second reads a compliance snapshot that only the scoring engine can write, and its write can never be reached. Neither will change with more data. Use the statistical report for attendance; there is no working compliance score anywhere in the product today.
Every KPI tile shows "+0% vs prior period"
The percentage is a fixed value on every tile. No comparison is ever requested or computed. Ignore the arrows; the figures above them are real for four of the six tiles.
Open Incidents shows a red rising arrow but "+0%"
This tile is the one exception to the rule above: its own trend is set to rising whenever the count is greater than zero at all. That is a non-zero indicator dressed as a rising trend next to a fixed "+0%", and it does not mean incidents actually increased.
Turning on "Compare to previous period" shows the same number twice
The prior-period line is worked out by dividing by a change figure that is fixed at zero, so the divisor never moves and the previous period always equals the current one, on every tile.
The YTD button gives the same result as 90 Days
It sends the same request. Choosing it sends no window at all, which falls back to the standard 90-day trend window. Nothing in PTRS computes a true year-to-date figure. Use Custom and set the first of January through today instead.
The Attendance Trends chart is empty at every date range
It reads the daily summary table that has no writer. It will be empty in every installed copy of PTRS, at every range and every location.
The Attendance Heatmap is a full grid of zeroes
PTRS returns real check-in data here. The panel expects different field names than the ones actually sent, so every cell lookup misses and prints zero. A grid of zeroes here says nothing about your attendance either way. Only the message saying there is no heatmap data is a truthful empty state; that one means PTRS genuinely returned no rows.
The Program Enrollment panel has data when nothing else does
Expected. That panel reads live program records from the Programs module directly rather than this module's own enrolment figures. It is one of the four panels on the page reading a genuinely live source.
The Compliance Trend chart has points in one environment and none in another
You are looking at a development setup. It is given one sample snapshot when it is first created; a real installed copy of PTRS never gets one, because the engine that would write further snapshots fails before reaching that step.