Build a Direct Lake semantic model on the Bronze Lakehouse from Module 2 and spin up a 1-page Power BI report on top. No import, no DirectQuery overhead - Power BI reads your Delta files in OneLake directly, with live data freshness.
From lh_urbanpulse_bronze, click the New semantic model button at the top of the Tables view.
In the picker, tick:
HospitalsWardsStaffregionsfacility_catalogName it: sm_urbanpulse_cityops. Click Confirm.
lh_urbanpulse_bronze with Hospitals, Wards, Staff, regions, and facility_catalog ticked, and the model named sm_urbanpulse_cityopsOpen the semantic model โ Model view. Drag-and-drop to create:
Wards[hospitalId] โโ*โโ1โโ Hospitals[hospitalId]
Staff[hospitalId] โโ*โโ1โโ Hospitals[hospitalId]
Hospitals[regionId] โโ*โโ1โโ regions[regionId]
facility_catalog[facility_id] โโ1โโ1โโ Hospitals[hospitalId]
In the model, right-click Hospitals โ New measure. Repeat for each:
Total Beds = SUM(Hospitals[beds])
ICU Capacity Ratio =
DIVIDE(
SUM(Hospitals[icuBeds]),
SUM(Hospitals[beds]),
0
)
Staff per Bed =
DIVIDE(
COUNTROWS(Staff),
SUM(Hospitals[beds]),
0
)
Top of the semantic model โ Create report โ Auto-create. Power BI builds a starter page using your measures and dimensions.
Add whatever visuals fit your story - cards, bar charts, donuts, maps, slicers. The data, measures, and relationships are all in place. Save as rpt_urbanpulse_cityops.
In the semantic model settings, the Storage mode field for each table should read Direct Lake. If it shows DirectQuery instead, the capacity may not support Direct Lake - contact lab support.
sm_urbanpulse_cityops exists in your workspace.rpt_urbanpulse_cityops has at least three visuals.Module 7 introduces a Fabric Ontology - a semantic graph over your data - so the Module 8 Data Agent can reason about Patients and Trains directly, not just rows and columns.