License Compliance — Power BI report¶
Built on the read-only snapshot from the License Compliance script — no live tenant connection, just the sanitized CSV the collector writes to Blob.

Example built on synthetic @contoso.com data.
Download the template¶
License Compliance 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¶
Flagged Devices = DISTINCTCOUNT(Licenses[DeviceName])
Missing Intune = CALCULATE(DISTINCTCOUNT(Licenses[DeviceName]), Licenses[LicenseGap] IN {"Intune","Both"})
Missing Win Ent = CALCULATE(DISTINCTCOUNT(Licenses[DeviceName]), Licenses[LicenseGap] IN {"Windows Enterprise","Both"})
Missing Both = CALCULATE(DISTINCTCOUNT(Licenses[DeviceName]), Licenses[LicenseGap] = "Both")
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.
Related¶
- The script → License Compliance
- The story → Who's missing an Intune license
- Part of → Zero-Access Agent