Skip to content

Device Hygiene — Power BI report

Built on the read-only snapshot from the Device Hygiene script — no live tenant connection, just the sanitized CSV the collector writes to Blob.

Device Hygiene — example report (synthetic lab data)

Example built on synthetic @contoso.com data.

Download the template

Device Hygiene template (.pbit)

Opens to a finished report

The .pbit carries the data model, every DAX measure, and a pre-built report page (KPI cards, bar charts, a detail table and slicers). On open it prompts for three parameters — StorageAccount, ContainerName, FileName — then for your storage credentials, and loads straight from the container your collector writes to. No manual building.

The measures

Total Devices    = DISTINCTCOUNT(Hygiene[DeviceName])
Needs Action     = CALCULATE(DISTINCTCOUNT(Hygiene[DeviceName]), Hygiene[RecommendedAction] <> "None")
Inactive Devices = CALCULATE(DISTINCTCOUNT(Hygiene[DeviceName]), Hygiene[IsInactive] = "true")
Orphaned Records = CALCULATE(DISTINCTCOUNT(Hygiene[DeviceName]), Hygiene[ReportType] = "Orphaned")

How it's wired

The collector writes the CSV to your storage account; the template reads it from Blob. Because the shaping and pre-aggregation already happened in the runbook, Power BI stays thin — connect, refresh, slice. Swap the three parameters for your own container and nothing else changes.