| Day selector | Date slicer in tile mode over a date dimension, so every visual filters to the selected day. |
| KPI tiles | Card visuals over DAX measures. Utilisation is on-site headcount divided by contractors in scope. |
| Deployment map | Azure Maps bubble layer, latitude and longitude from the site table, bubble size by headcount and colour by trade legend. A Shape Map with a Melbourne LGA TopoJSON gives the same footprint as a choropleth if you want headcount shaded by sector instead. |
| Trade and sector bars | Stacked bar visuals. Clicking a bar cross-filters every other visual, which is default interaction rather than anything custom. |
| Week roster grid | Matrix visual. Contractor, trade, ticket and sector on rows, day of week on columns, and a text measure in values returning the site name. Cell colour comes from conditional formatting by field value against a trade colour column. |
| Trade filter swatches | A list slicer on trade. Power BI slicers don't carry colour chips, so the colour lives in the chart legends instead. |
| Selected day highlighted in the grid | Conditional background formatting driven by a measure comparing the column date to the slicer selection, rather than the cell outline used here. |
| Always-on site labels | Power BI map visuals surface this on hover as a tooltip. Persistent labels are the one thing easier in HTML than in the tool. |