Skip to content

Feature Request: Import Power BI Desktop PBIT / DataModelSchema and generate ODCS v3.1 data contract #1233

@dmaresma

Description

@dmaresma

Summary

Add a new import capability to datacontract-cli to generate a Data Contract in ODCS v3.1 format from a Power BI Desktop template file (.pbit), using its embedded DataModelSchema metadata as the source of truth.

This feature would enable users to bootstrap a data contract directly from an existing Power BI semantic model, reducing manual effort and improving alignment between analytical models and formal data contract definitions.


Motivation

Power BI Desktop template files (.pbit) contain a serialized representation of the semantic model, including datasets, tables, columns, relationships, measures, and other metadata through the DataModelSchema content.

Being able to import this metadata and transform it into an ODCS v3.1-compliant data contract would provide several benefits:

  • Accelerate contract creation from existing BI assets
  • Reduce manual transcription errors
  • Improve governance and documentation of analytical data products
  • Bridge semantic models and data contracts
  • Support reverse-engineering/documentation use cases for Power BI-based data products

This is especially useful when Power BI is already used as a business-facing semantic layer and the contract needs to be formalized for governance, interoperability, or data product publishing.


Proposed Feature

Introduce a new command (or extend the existing import framework) to support:

datacontract import powerbi --source ./model.pbit  --output datacontract.yaml

https://github.com/microsoft/powerbi-desktop-samples/blob/main/Sample%20Reports/Artificial%20Intelligence%20Sample.pbix

datacontract.yaml

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions