Power BI - Plotly App Challenge

Power BI Semantic Shell — a white-label Dash developer platform over any Power BI model

Most Power BI + Dash integrations stop at pulling data and drawing charts. This app goes deeper — it treats the Power BI semantic model itself as the product, building a full analytics shell that connects to any workspace without touching the .pbix file.

Built with Dash, Dash Mantine Components, and a clean-architecture Python backend (domain / infrastructure / presentation layers), it authenticates via Azure AD service principal and exposes four live views over the AdventureWorks semantic model:

  • :bar_chart: Executive Summary — KPI cards, revenue trends, category breakdowns, and a product performance table powered by AG Grid, all driven by live DAX queries against the semantic model
  • :file_cabinet: Schema Explorer — browsable table / column / measure tree auto-generated from the live model — no hardcoded schema
  • :spider_web: Model Diagram — interactive entity-relationship diagram built from relationship metadata returned by the Power BI REST API
  • :memo: DAX Query Editor — write and execute arbitrary DAX against the live model with a full Ace editor, schema-aware autocomplete (tables, columns, measures), syntax highlighting, CSV export, and paginated AG Grid results
  • :frame_with_picture: Native Power BI Embed — the original Power BI report rendered inside the Dash shell via app-owns-data embedding (service principal token flow)

What makes this different: the app is designed to be model-agnostic. Point it at any Power BI workspace + dataset via environment variables and it self-configures — schema explorer, autocomplete, and diagrams all rebuild from the live metadata. No hardcoded table names, no dataset-specific code.

Live app: https://f75c585e-e923-4cf2-8867-847d94075ea6.plotly.app
GitHub: https://github.com/back1ply/plotly-power-bi-semantic-model

▎ Note: the app runs on Plotly Community Cloud free tier so there may be a ~10s cold start — hit any page and wait a moment for it to wake up.

Showcase screenshot below.