So far we have created our Delta PARQUET files in the Delta Lake using Notebooks with Pyspark.
We have created a Semantic Model – Storage mode Direct Lake in fabric
Its time to create some visuals. but the question is. Do we create them in Fabric. or in a bpix file?
Reporting Fabric or Pbix File?
Fabric – Centrally managed
Pbix – offline Development and version controlling available for the files with .pbip (Project file)
For this project we are going to go for the hybrid approach. The semantic model in Fabric. And reports developed in Desktop with Devops Version controlling which are published into Fabric.
This gives us better opportunities for version control and collaboration.
Get Data
In Power BI Desktop
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/05/image-215.png?w=566)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/05/image-216.png?w=1024)
Power BI Reporting
Our front end reporting wont be gone into too much detail here. We are more interested in other areas of Fabric. So here are the basic pages
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image.png?w=1024)
Drill through to Series
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-8.png?w=1024)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-1.png?w=1024)
And Drill through to Episode
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-2.png?w=1024)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-9.png?w=1024)
We now have a pbix Report we can publish through to our Fabric Workspace
Create the Power BI Project (PBIP)
Instead of simply saving as a pbix (black box) file, lets save as a project file instead and see how this can really change how we work with others in Power BI. We should see benefits like:
- Items are stored in JSON format instead of being unreadable in one file
- JSON text files are readable and contain the semantic model and report meta data
- Source Control. Finally real source control for Power BI
- Amendable by more than one person at a time?
- The possibility of using (CI/CD) Continuous Integration and Continuous Delivery with Power BI
Saving as a project is in preview so lets turn it on.
Options and Settings / Options
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-3.png?w=462)
And now we can Save as
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-5.png?w=943)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-6.png?w=435)
And we can see that its a project in the title.
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-7.png?w=437)
Clicking on the title shows us file paths of the objects. we only have the report because the semantic model has been created within Fabric.
Lets have a look at what we have created in Explorer
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-10.png?w=275)
The main project file
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-11.png?w=280)
The reporting folder
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-12.png?w=376)
Our objects within the reporting folder.
Currently this is in One Drive. We want to get this added into Devops and GIT so it can be added into our full source control process along with all the Fabric code.
Azure DevOps build pipelines for continuous integration
First of all we need to make sure Fabric is connected to Azure Devops which it is
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-14.png?w=1024)
And cloned to a local drive. This was done using Visual Studio but there are other ways you can clone.
It would have been better to have saved into this cloned local project, But we can create a folder and move instead.
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-15.png?w=405)
Created a Power BI Folder.
And Moved all the objects mentioned above into this folder
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-16.png?w=722)
Its in local but not yet in the cloud.
I have installed Git Bash to work with https://git-scm.com/downloads
In GIT Bash I change directory to the correct GIT Directory (Local) and us ls to list the information in there
cd source/repos/DebbiesTraining
ls
git status
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-18.png?w=496)
We can see we have powerbi code that is uncommitted and needs pushing to the central GIT repository.
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-20.png?w=333)
We don’t really want to work on the main branch. A better cleaner process is to create a feature branch. InitialPowerBIFile
git add .
The . in git add . is a wildcard that represents all files and directories. basically telling GIT to stage all changes.
git commit -m "InitialPowerBIFile"
-m flag is allowing you to provide a commit message in the command. And our command is committing changes
So far we have added the files to the staging area and committed them. Time to Push to the cloud
git push --set-upstream origin InitialPowerBIFile
You will initially get a log in screen to authenticate the push
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-21.png?w=563)
And this is the line you want to see. We know that we have pushed it to devops
Back in DevOps
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-22.png?w=992)
Remember to change to the correct branch. You wont see it in Main.
We can see the Power BI Items.
Create a Pull Request
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-23.png?w=125)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-24.png?w=183)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-25.png?w=816)
Very simple. We are in Dev and don’t have any reviewers or work on Boards to connect to
Create and Complete
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-26.png?w=194)
Power BI Files are now in Main
How do you now work with the power BI Project file?
Open the project file from your local source control
lets create a new quick report page for Demographics
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-27.png?w=1024)
And save
Back to GIT
git checkout -b "InitialPowerBIFileAllDemographicsPowerBIPage"
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-28.png?w=502)
git status
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-29.png?w=657)
We can see we have modifications
git add .
git commit -m "InitialPowerBIFileAllDemographicsPowerBIPage"
git push --set-upstream origin InitialPowerBIFileAllDemographicsPowerBIPage
Back in Devops
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-30.png?w=432)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-31.png?w=170)
Create and Complete merge. (If you don’t use the reviewing process in Development)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-32.png?w=126)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-33.png?w=606)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-34.png?w=106)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-35.png?w=388)
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-36.png?w=951)
We can see the page is in with lots of work added into this part of the JSON script.
Where is the Semantic Model?
The Semantic model has been created in Fabric.
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-37.png?w=1024)
It says synced on GIT Status.
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-38.png?w=563)
And here is is in Devops.
![](https://debbiesmspowerbiazureblog.home.blog/wp-content/uploads/2024/06/image-39.png?w=427)
Conclusion
The above can be done in Power BI Pro as well as Fabric. Which is good news.
However, my worry about this is that someone creating Pbix Reporting won’t take to the whole GIT process. I suspect that when it comes down to it, it simply wont be done properly.
If you were to go the pbix file route, this would need a lot of governance work to get people to use GIT. At Enterprise level this would be doable but I doubt this would become a real part of the process at self service level.
I did start to question the process. after doing some more reading. It feels like if you created the reporting inside of Fabric, The GIT Process would be simplified. Even though the documentation states that for full GIT control use PBIX. I will be really interested in creating a Power BI Report inside of Fabric to see how this would work in the process at some point.
In the next blogs we are going to look at some new features of Fabric. We can also look at using this feature along with with Devops Pipelines later. (Premium and Fabric only)