Infinite Campus SIS to Power BI, done for you

An Infinite Campus Power BI Dashboard Built on Your SIS Extract — Attendance, Enrollment, Assessment and Intervention

The route out of Campus gets settled first — an Ad hoc Reporting export, the Data Extract Utility, or the OneRoster API — and then a senior US-based engineer models attendance, enrollment, assessment and RTI at their own grain and joins them to MUNIS, so the cabinet, principals and board open one report instead of six spreadsheets.

  • Microsoft-certified
  • Read-only access you grant
  • Hours never expire
  • 3–5 day turnaround
  • You own the model
Operations Monitor Overall OEE 78% First-pass yield 91% Line A Line B Line C

Representative dashboard — sample data

Where these builds stall

The SIS ships three ways out, and they were built for different jobs

District teams rarely get stuck on which numbers matter. Attendance, enrollment, assessment results and who is being intervened with are the four conversations every cabinet and school board already has. Where a Campus reporting project stalls is one step earlier, at how those records leave the SIS at all — because there is more than one answer, each answer was designed for a different purpose, and the one you can actually use depends on who hosts your instance and what your agreement says.

There is no first-party Infinite Campus connector in Power BI. What the SIS does ship, by the vendor’s own account of third-party integration, is API setup, Ad hoc Reporting filters, and a Data Extract Utility for automated extraction — with anything past those three scoped by its Technical Services team as a fee-for-service engagement. Picking the wrong one of the three is not fatal, but it is expensive: it usually surfaces three weeks in, when the interface that returned a clean roster turns out never to have carried attendance history at all.

What we build from the Campus extract

  • Attendance & chronic absence
  • Enrollment & mobility
  • Assessment & proficiency
  • RTI plans & progress monitoring
  • Per-pupil spending via MUNIS
  • Per-school row-level security

Try us risk-free for 4 hours

Buy a block of prepaid Flex hours and, if you’re unhappy within the first 4 hours, we refund you in full — no questions asked. Hours are deducted only for work you’ve reviewed and approved, there’s no project minimum, and your banked hours never expire.

What the build covers

Six things that decide whether the numbers hold

Every one of them sits upstream of the first visual, and every one is where an in-house attempt tends to run out of road.

An ad hoc filter is a contract about fields

Ad hoc Reporting lets your staff define exactly which fields, for exactly which students, leave the SIS. Written once and version-controlled, that filter is the cleanest statement of scope in the whole project — and the reason your Campus administrator approves a short list rather than a blank cheque.

The Data Extract Utility is the schedulable route

Infinite Campus describes it as an automated tool for transferring data by flat file off Campus servers so it can be uploaded into third-party software. That is exactly the shape a nightly Power BI refresh wants — provided someone keeps the files, because a flat file is a moment in time and history is yours to hold.

OneRoster answers a different question

Campus built its OneRoster API to the IMS Global specification so a system such as an LMS can retrieve roster and section data, plus assignments, grades and scores where enabled. It is excellent at that. Asking it for multi-year attendance or intervention history is asking the wrong interface.

Attendance is a calendar problem before it is a rate

Campus records attendance against a school calendar with its own in-session days, period structure and codes. Turning that into the average daily attendance and membership figures your state defines — and into a chronic absence flag — runs through the calendar, not through a row count.

One child can hold several enrollments

Campus keeps dated enrollment records per school, calendar and year. A student who transfers across town in October, or withdraws and comes back, leaves more than one record. Headcount, membership days and mobility are three different questions and only one of them is a row count.

The finance join is the part no tool does for you

Site spending lives in MUNIS or whichever ERP your business office runs, on its own site codes and its own fiscal year. Nothing inside the SIS can see it. Getting spending to sit next to enrollment and results is a mapping and calendar exercise, and it is most of why districts hire out this build.

How does Power BI actually get data out of Infinite Campus?

Through one of the tools the SIS already ships, and the first job of the engagement is deciding which one your district can actually use. Microsoft publishes no Campus connector, so nothing here is a two-click setup: each route is a different permission conversation, returns a different shape, and supports a different refresh cadence. We establish which one your hosting arrangement and contract allow before designing around it, and we confirm the method in the scope estimate before any hours are spent.

Infinite Campus is unusually direct about this. Its own guidance for districts integrating third-party applications says the SIS has built-in tools to offer API setup, Ad hoc Reporting options to filter specific data sets, and a Data Extract Utility for automated data extraction — and that anything beyond those gets scoped by its Technical Services team (opens in new tab) as a fee-for-service engagement. That is worth reading twice before a project plan assumes a live database connection exists. Where the extract lands as files, we stage them into a store you control and refresh from there, using Power BI dataflows (opens in new tab) or your own storage, so the model never depends on a file someone forgot to drop.

Routes out of Infinite Campus compared — what each one was built for
Route What it is and what it returns When we use it
Ad hoc Reporting export A saved filter defining fields and population, exported as a data set from inside Campus. Your staff already build these for state reporting, so the tool and the permissions are familiar For scoping and for the first build, because the filter is the specification. We write it to the fields the reporting needs and nothing else, so the approval conversation is short and auditable
Data Extract Utility Campus’s automated extract tool: scheduled flat files transferred off Campus servers for loading into third-party software Our default for the ongoing feed. It is the only built-in route designed to run unattended, which is what a nightly refresh needs. We land the files in a store you own so multi-year history accumulates instead of being overwritten
OneRoster API Campus’s implementation of the IMS Global OneRoster specification, letting a credentialed third-party system retrieve roster and section data plus assignments, grades and scores where enabled Where the reporting question really is roster, section and gradebook shaped. We say plainly when it is not: enrollment spans, attendance history and intervention plans are outside what it was designed to carry
State reporting extracts and published filters The files your team already submits to the state, plus the ad hoc filters state agencies publish for districts — Kentucky’s KSIS programme is a public example As a reconciliation source on every engagement, and as the pragmatic fallback where nothing else is open. Someone has already validated those files, which makes them the cheapest way to prove the dashboard agrees with the submission
Campus Analytics Suite or in-SIS dashboards The vendor’s own premium analytics — Early Warning, Campus Insights and Premium Surveys — which Infinite Campus describes on its Campus Analytics Suite page (opens in new tab) as built into the SIS with no imports, exports or synchronization necessary; third-party products such as CCS DataViz (opens in new tab), whose dashboards appear inside Infinite Campus, sit in the same place Always our first question. If your need is pre-built views for staff working inside Campus, that is the cheaper answer and we will say so. It stops being the answer when the report has to include data the SIS cannot see
A governed copy someone already landed Campus data an internal pipeline, a regional service agency or a state warehouse already lands somewhere you can read Asked about before anything else. If a trustworthy copy exists we model on it and skip the extraction work entirely, which is usually the fastest route to a report anyone will trust

One consequence of that list deserves naming early, because it reshapes projects. Many districts do not run their own Campus instance at all — a state agency does. Montana’s Office of Public Instruction operates Infinite Campus as its statewide student information system (opens in new tab), through which districts submit required staff, student and course information, and the Kentucky Department of Education runs KSIS the same way, publishing reference materials and state-published ad hoc filters (opens in new tab) for its districts. In those states the database is not yours to connect to, and the route is whichever extract the hosting arrangement allows. That is a constraint we design inside, not a reason the project cannot happen.

What does the Campus extract carry, and what does the model have to work out?

Four areas of the SIS do most of the work, and each one arrives at a grain that is not the grain the dashboard needs. That gap — between what Campus stores and what a cabinet asks for — is most of the build. The table below is the set of derivations that come up on nearly every district engagement, written as documented DAX measures over a star schema with a school calendar rather than as one-off report filters.

What the SIS extract carries, and what the semantic model has to add
Reporting need What Infinite Campus holds What the model adds
Attendance and chronic absence Attendance records against a school calendar, with its own in-session days, period structure and attendance codes that carry a presence meaning One attendance fact with day and period grain reconciled, absences classified consistently, and the rate expressed against days enrolled rather than days in the year — which is what makes a chronic absence flag defensible
Enrollment and mobility Dated enrollment records per student, school, calendar and year, so transfers and re-entries leave more than one record for one child Point-in-time headcount, membership days, and entries and withdrawals as separate measures, so a re-enrolled student is one child with two records rather than two children
Assessment and proficiency Results recorded against a test structure, with score fields and result types that differ by assessment and by the year it was administered A stated proficiency rule per assessment, growth measured only where the same test is comparable across years, and results joined to attendance and intervention on the same student key
Intervention and MTSS RTI plans with a plan type, content area and intervention tier, plus the progress monitoring recorded against them A declared grain — plan, tier period or observation — so “students on a plan”, “plans open” and “progress checks recorded” stop being three different counts of the same thing
Behavior Behavior events recorded per school under the codes and resolutions your district configured, used differently from building to building One behavior fact at a declared grain, so referrals, resolutions and days of instruction lost are separable — and comparable across schools that record them differently
Site spending (MUNIS or your ERP) Nothing — it lives in the finance system, on its own site, fund and object codes, and on a fiscal year rather than a school year A conformed school dimension with an agreed mapping table and a shared calendar, so per-pupil spending sits next to enrollment and results without anyone re-keying a spreadsheet
Multi-year trend Prior years behind school, calendar and year keys that change as schools open, merge or recode, and behind extracts that are overwritten unless someone keeps them A history store you own with slowly changing school and student dimensions, so last year’s numbers still reconcile after this year’s recode

The finance join is worth dwelling on, because it is the one thing no SIS-resident tool can do and the reason most of these engagements exist. A consultancy case study for the Buffalo School District describes the same pattern from the outside: the engagement analyzed data sources including Infinite Campus and MUNIS and connected those systems to Power BI (opens in new tab) to deliver attendance and school-climate reporting with drill-down to district, school, grade and student. That is the work: not two systems side by side, but one conformed school dimension, one shared calendar, and an agreed mapping between finance site codes and Campus school identifiers. The modeling discipline underneath it — one date table, conformed dimensions, measures rather than calculated columns — follows Microsoft’s star schema guidance (opens in new tab) and is described on our data modeling and DAX page.

What belongs on the page — which enrollment, attendance and assessment metrics a district should actually track, how chronic absenteeism is defined, and how per-school spending is framed for a board — is covered on our Power BI dashboards for school districts page, and we deliberately do not restate it here. This page is about getting those records out of Infinite Campus correctly and keeping them coming. Districts running the other major K-12 SIS will find the equivalent extraction detail on our PowerSchool Power BI dashboard page, and colleges and universities are a different build entirely — different buyer, different systems — covered on Power BI dashboards for higher education.

How are refresh and student-data security set up?

The model is published to your Power BI workspace and refreshed on a cadence the chosen route can sustain: for most districts an overnight extract of attendance, enrollment and assessment with a changed-date filter, not a full reload of a decade. Districts with long attendance histories get incremental refresh (opens in new tab) so each nightly run touches only the days that changed, inside Microsoft’s documented data refresh limits (opens in new tab). Where a file drop or a database sits inside your network, the on-premises data gateway (opens in new tab) runs on a server your IT team controls, with credentials they hold.

Student records carry obligations that pay data does not. Visibility is enforced by row-level security in the Power BI service (opens in new tab), mapped from accounts to schools, grade spans or roles, so a principal opens their own campus, an MTSS lead sees their caseload and the cabinet sees the district — enforced by the model rather than by who was sent which file. Our walkthrough of a Power BI row-level security setup shows the roles and the test steps. Those FERPA obligations stay with the district, and the US Department of Education’s Student Privacy Policy Office (opens in new tab) is the authoritative reference; what we do is build to the access rules your student data privacy officer sets, test the roles against real accounts before go-live, and document who can see what. Where a subgroup is small enough that a single row identifies a child, we aggregate or suppress rather than publishing and hoping nobody drills.

What does the build cost, and how long does it take?

Prepaid Flex hours that never expire: Starter 20 hours at $125/hr ($2,500), Growth 40 hours at $115/hr ($4,600), Power 80 hours at $100/hr ($8,000), with hourly work from $100/hour on the largest block. A first build covering attendance, enrollment, assessment and intervention for a single district on one route usually fits a Starter block. Adding several years of history, reconciling to state submissions, or bringing site spending across from MUNIS typically moves it to Growth — less because of the development and more because agreeing definitions across assessment, student services and the business office takes conversation.

Most tasks ship within 3–5 business days of scope approval, and you get a scope and hours estimate before anything starts, which is what makes this purchasable against a line item rather than a procurement project. Our guide to Power BI dashboard development cost covers what moves the number, how prepaid Flex hours work explains the model in full, and custom Power BI dashboard development describes the wider service this build sits inside.

Who is this for, and what is out of scope?

Districts, charter management organizations and county offices running Infinite Campus with enough history to trend and no dedicated analytics engineer. Superintendents and cabinets, chief business officials, assessment and accountability directors, MTSS and student services teams working chronic absence, and the IT director who ends up owning the extract all tend to be in the room. Most reach out after assembling the same board packet by hand twice in a row, or after two schools presented different attendance rates at the same meeting.

Writing back to Infinite Campus is out of scope: this is a read-only reporting build, and student records belong in the SIS where they are auditable. State reporting stays untouched — your submissions keep originating in Campus and your existing certification process, while the dashboard reads the same underlying data so problems surface while the window is still open. This is a management reporting tool, not a compliance system, and we do not give legal, funding or accountability advice. We are not affiliated with Infinite Campus, we do not resell its premium products, and where Campus Analytics Suite or an in-SIS dashboard product genuinely answers your question we will tell you so rather than sell around it. Contact is form-only — send your request and we’ll reply with a scope estimate.

What we build from Infinite Campus

  • Attendance against the school calendar, not the year
  • Enrollment, membership and mobility by school
  • Assessment results under a stated proficiency rule
  • RTI plans and progress monitoring at one grain
  • Per-pupil spending joined from MUNIS or your ERP
  • Principal-scoped views secured by school
3–5

business days, typical

Prepaid

hours, never expire

You

own everything

A first Infinite Campus build usually fits inside one Flex block, and hours deduct only for work you approve. See Flex pricing →

How it works

From a granted extract to a model your board trusts

  1. 1

    Settle the route and the access

    We confirm which of an Ad hoc Reporting export, the Data Extract Utility or the OneRoster API your hosting and contract actually allow, write the filter down to the fields reporting needs, and agree the definitions — how your calendars and terms run, which attendance rule each school follows, which proficiency cut counts. Then you get a scope and hours estimate before any work begins.

  2. 2

    Extract, land, model

    A senior US-based engineer builds the scheduled extraction, lands attendance, enrollment, assessment and intervention records in a store you own, resolves the grain of each one, builds the star schema and school calendar, joins the finance extract on the agreed mapping, and writes the DAX — validating every total against a report your team already runs in Campus.

  3. 3

    Refresh, secure, hand over

    Published to your workspace with scheduled or incremental refresh, row-level security so each principal opens their own school, and documentation you keep. We maintain it from your banked hours instead of it landing on the one person who understood the extract.

Representative perspective

Two schools brought different attendance rates to the same board meeting, both pulled from Campus. Neither was lying. They had counted different days, and nobody had written down which calendar was right.
Assessment and accountability director, mid-sized district

Representative perspective

We had the roster feed working in an afternoon and then spent a month discovering it was never going to give us three years of attendance. Choosing the right route first would have saved the month.
IT director, K-12 district

Get your SIS data into a report the cabinet can open

Tell us roughly how many students and schools you run, who hosts your Campus instance, which extracts your team rebuilds each month, and what the board asks for. We’ll confirm the extraction route, scope the task, and tell you the hours before anything starts — no project minimums, no obligation.

FAQ

Campus reporting questions, answered

Infinite Campus publishes no Power BI connector, so the data leaves through the tools the SIS already ships: an Ad hoc Reporting filter exported as a data set, the Data Extract Utility writing scheduled flat files off Campus servers, or the OneRoster API. We settle which of those your deployment and your agreement actually allow before modeling anything.

Only for part of the job. Infinite Campus built its OneRoster API to the IMS Global specification so a system such as an LMS can retrieve roster and section data, plus assignments, grades and scores where enabled. Dated enrollment records, daily attendance history, assessment results and RTI plans are not what that interface was designed to carry.

Campus Analytics Suite — Early Warning, Campus Insights and Premium Surveys — lives inside the SIS, which Infinite Campus describes as built into the SIS with no imports, exports or synchronization necessary. That is a real advantage for staff working in Campus. It is not a model you own, and it cannot see your finance system.

Through a conformed school and date dimension, not a direct join. MUNIS keys sites, funds and objects on its own codes and runs a fiscal year; Campus keys schools and calendars on its own and runs a school year. We agree the mapping table and the shared calendar first, and only then does per-pupil spending reconcile.

Yes, and it usually decides the route. Where a state agency hosts the instance — Montana’s EDUCATE and Kentucky’s KSIS are two — your district does not hold the database, so a direct database connection is off the table and the extract has to be one the state’s hosting and your own agreement permit.

We are an independent US-based Power BI consultancy with no Infinite Campus partnership to claim and no data product to resell. We work under read-only access your district grants and can revoke, publish into your own Power BI workspace, and build to the access rules your student data privacy officer sets under FERPA.

Related work

If you are deciding what a district dashboard should show rather than how to extract it — enrollment trends, chronic absenteeism, assessment results, per-school spending — start with Power BI dashboards for school districts, which covers the metric definitions this page deliberately leaves alone. If your district runs the other major K-12 SIS, the equivalent routes out — read-only ODBC, a PowerQuery published through a plugin, or the plugin REST API — are on our PowerSchool Power BI dashboard page. Colleges and universities are a different build again, with a different buyer and different systems, and belong on Power BI dashboards for higher education. When the same figures have to reach trustees on a fixed cadence, the pack and period discipline is on Power BI dashboards for board reporting, and the modeling craft underneath all of them is on our data modeling and DAX page. Every task is scoped before work begins from your prepaid block of senior-led hours — no project minimums, no change-order surprises, and hours are deducted only for work you approve.

Book a free demo

Get senior Power BI help, on demand

Tell us the task. We scope it, you approve, and a senior consultant delivers — typically in 3–5 business days. Prepaid hours that never expire.

  • Prepaid hours from $100/hour — and they never expire
  • Senior-led delivery — 20+ years on the Microsoft platform
  • Typical 3–5 business day turnaround
  • Full refund if you’re unhappy in your first 4 hours

The fastest way to reach us is the form — tell us the task and we'll reply within one business day.

All fields are required.

We reply within one business day. No newsletters, no drip campaigns.

Book a Free Demo