feat(powerbi): Add support for powerbi datamarts#28896
Conversation
There was a problem hiding this comment.
Pull request overview
Adds PowerBI Datamart support as a DashboardDataModel type across the OpenMetadata schema/UI types and the PowerBI ingestion source, including lineage and unit test coverage.
Changes:
- Extend
DataModelTypewithPowerBIDatamartin the JSON schema and UI-generated TypeScript API/entity enums. - Add PowerBI scan-result parsing for
datamarts[], emitCreateDashboardDataModelRequestentries for datamarts, and add upstream-datamart lineage emission. - Add unit tests validating datamart datamodel emission and upstream lineage filtering (self-reference excluded).
Reviewed changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| openmetadata-ui/src/main/resources/ui/src/generated/entity/data/dashboardDataModel.ts | Adds PowerBIDatamart to the UI entity DataModelType enum. |
| openmetadata-ui/src/main/resources/ui/src/generated/api/data/createDashboardDataModel.ts | Adds PowerBIDatamart to the create-request DataModelType enum. |
| openmetadata-spec/src/main/resources/json/schema/entity/data/dashboardDataModel.json | Extends the schema enum/javaEnums to include PowerBIDatamart. |
| ingestion/src/metadata/ingestion/source/dashboard/powerbi/models.py | Introduces Datamart + UpstreamDatamart models and adds datamarts to Group. |
| ingestion/src/metadata/ingestion/source/dashboard/powerbi/metadata.py | Emits datamart datamodels, builds datamart source URLs, and generates upstream lineage. |
| ingestion/tests/unit/topology/dashboard/test_powerbi.py | Adds unit tests for datamart datamodel yield and upstream-datamart lineage filtering. |
|
|
🟡 Playwright Results — all passed (19 flaky)✅ 4264 passed · ❌ 0 failed · 🟡 19 flaky · ⏭️ 88 skipped
🟡 19 flaky test(s) (passed on retry)
How to debug locally# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip # view trace |
Code Review ✅ Approved 1 resolved / 1 findingsAdds PowerBI Datamart support under DashboardDatamodels and fixes the missing experience query parameter in the URL. No issues found. ✅ 1 resolved✅ Quality: Datamart URL omits experience query param used elsewhere
OptionsDisplay: compact → Showing less information. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |



Describe your changes:
Fix #28051
Add support for PowerBI datamarts under DashboardDatamodels
Type of change:
High-level design:
N/A — small change.
Tests:
Use cases covered
Unit tests
Backend integration tests
Ingestion integration tests
Playwright (UI) tests
Manual testing performed
UI screen recording / screenshots:
Not applicable.
Checklist:
Fixes <issue-number>: <short explanation>Fixes #<issue-number>above.