Every semantic-model developer asks the same question before a deploy: "will this regress under real user load?" Today there's no answer, Power BI teams either hand-write synthetic DAX or skip load-testing entirely.
DAXLoadTest replays the real DAX queries your users have been running against your semantic model, under configurable concurrency, and pinpoints which queries slow down — then tells you the exact Report → Page → Visualresponsible for each regression.
The tool combines three Fabric capabilities that have never been stitched together before:
- Workspace Monitoring Eventhouse as the query corpus, the only source of historical DAX text in Fabric
- sempy.fabric.evaluate_dax for parallel replay, with a novel DAX-VAR-literal tagging trick that survives XMLA normalization and gives a bulletproof join key between sent queries and trace logs
- sempy_labs.report.ReportWrapper to auto-map VisualId GUIDs to human-readable report/page/visual names
- Results land in an interactive Plotly dashboard (KPI tiles, regression bar chart, baseline-vs-load scatter, drill-down table) rendered inline. No Lakehouse, no Delta tables, no setup, set 4 parameters, run the notebook, read the dashboard. Drop it into a Data Factory pipeline to catch performance regressions before they reach users.
External libraries used:
- semantic-link-labs (sempy_labs) — Microsoft's extension library. Used for sempy_labs.report.ReportWrapper.list_visuals() to enrich queries with Report → Page → Visual metadata. Repo: github.com/microsoft/semantic-link-labs
- plotly — interactive dashboard rendering (KPI indicators, bar chart, log-log scatter, drill-down table).
- pandas / numpy — in-memory analytics and join orchestration (pre-installed).
- PySpark + Azure Data Explorer Spark connector (com.microsoft.kusto.spark.synapse.datasource) — pre-installed on Fabric; used to query the Workspace Monitoring Eventhouse via KQL.
Github Repo Link:
Semantic Link - DAXLoadTest
https%3A%2F%2Fgithub.com%2Ftharunkumarr98%2FsemanticLinkChallenge2026%2Fblob%2Fmain%2F2026_SemanticLink_tharunkumarr98_DAXLoadTest.ipynb