Skip to content

Case study · data

Endpoint Management Analytics

A single analytics surface for a managed device fleet — compliance, update rings, configuration drift and app health, built from Microsoft Graph and refreshed on a schedule.

Rebuilt on synthetic data — figures illustrative

hero.png
Endpoint Management Analytics dashboard overview page
01

Overview

Device-management data lived in a dozen places: the Intune admin center, ad-hoc CSV exports, a handful of PowerShell scripts, and separate spreadsheets for update rings and compliance. Answering a simple question — "how healthy is the fleet this week?" — meant stitching those sources together by hand, and the answer was stale by the time it was assembled.

02

Objective

Replace the manual stitching with one analytics surface that a workplace engineer or a manager can open and trust: current compliance, update-ring coverage and progress, configuration drift, and app-install health, all on the same refresh cadence and all traceable back to the device.

03

Approach

A PowerShell job runs on a schedule, authenticates to Microsoft Graph as an app registration, and pages through the device, compliance-state, configuration-profile and app-assignment endpoints, writing each to CSV. Power Query normalises those extracts — typing columns, splitting OS build strings, collapsing the per-setting compliance rows to one state per device, and appending the current pull to a weekly snapshot table so history accrues without storing every day.

The model is a star schema: a device dimension keyed on the Entra device ID, small Platform and Update Ring dimensions, and fact tables for compliance snapshots, feature-update state, configuration drift and app results. DAX measures carry the logic — compliance rate, week-over-week and vs-baseline deltas off the snapshot table, ring coverage roll-ups, and drift/error rates per profile. Every visual drills through to the device list behind it, so a headline number is never a dead end.

04

Solution

Six pages, one rhythm. A fleet overview leads with headline compliance, ring coverage and a rising weekly trend line; a compliance page breaks that trend down per platform; a device page lists every non-compliant or in-grace machine with the exact setting at fault and its last check-in. Three more pages cover update-ring rollout against a target build, configuration-profile drift ranked worst-first, and app-install health per application. Remediation starts from the report — the device page is a worklist, not a summary.

Every figure shown is synthetic. In this build the fleet runs around 88% compliant across roughly 1,800 devices, climbing from about 90% to 93% over two months, with macOS and Android trailing Windows and iOS by a few points; ring coverage sits near 75% mid-rollout and app installs around 94%. They're there to show the shape of the surface, not to stand in for real numbers.

solution-overview.png
Compliance page with the weekly trend broken down per platform
Compliance trend — read off the weekly snapshot table, split per platform.
solution-drilldown.png
Device worklist showing the setting at fault and last check-in per device
The device page — a remediation worklist, not a summary.
05

Technology

  • Power BI
  • DAX
  • Power Query
  • Data Modeling
  • Microsoft Intune
  • Microsoft Graph
  • PowerShell
06

Outcome

What exists today is the full report end to end — the star-schema model, every DAX measure, and all six pages with working drill-throughs — built and verified against the synthetic dataset shown here. The pattern is what would point at a real fleet's Graph data with no structural changes: swap the synthetic CSVs for the real extraction output, and the same model, measures and pages carry it.

07
gallery-1.png
Update ring coverage and rollout progress page
gallery-2.png
Configuration profile drift page
gallery-3.png
App install health page