This repository showcases a Power BI Project (PBIP) folder structure in the src folder, featuring multiple reports and semantic models.
graph TD
Report01.Report --> Model01.SemanticModel
Report02.Report --> Model01.SemanticModel
Report03.Report --> Model01.SemanticModel
Report04.Report --> Model02.SemanticModel
Report05.Report --> Model03.SemanticModel
It also demonstrates how to PBIP to a Fabric workspace using Fabric CRUD REST APIs together with fabric-cicd and run how to automatically run best practice analysis.
- Fork the repo.
- Create a Service Principal and configure required Github secrets and variables in your repo if you wish to test deployment from GitHub.
- Create the target Fabric Workspace and add the service principal as Admin.
- Run the deploy Github action to deploy content to the workspace.
Before running the Github Action, ensure you configure the following GitHub action secrets and variables:
Name | Type | Value |
---|---|---|
FABRIC_CLIENT_ID |
Secret | Service Principal client ID from your tenant |
FABRIC_CLIENT_SECRET |
Secret | Service Principal secret |
FABRIC_TENANT_ID |
Secret | Your tenant ID |
- Make sure you have the Fabric CICD installed. If not, run:
$ pip install fabric-cicd
- Create the target Fabric Workspace
- Run the deploy.py
- Manually bpa Github action or after a pull-request against main branch
- You can also run locally by running the script bpa.ps1
You can use GitHub Copilot to modify your PBIP files more efficiently—for example, by setting descriptions across all semantic model objects. This project includes a copilot-instructions.md file that guides Copilot to work more effectively with TMDL files.