Skip to content

This is a python module for creating PowerBI dashboards

License

Notifications You must be signed in to change notification settings

Russell-Shean/powerbpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

811 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Power Bpy

Do you wish you could build dashboards with code, but can't because the client specifically asked for Power BI or your employer only supports publishing Power BI? Do you love Power BI, but wish there was a way to automatically generate parts of your dashboard to speed up your development process?

Introducing Power Bpy, a python package that lets you create Power BI dashboards using python. Dashboards created using these functions can be opened, edited and saved normally in Power BI desktop. Power Bpy uses the new .pbip/.pbir format which stores dashboards as directories of text files instead of binary files letting you version control your dashboards!

Not immediately convinced?
See some example dashboards or the use cases section below for more details about when you might use this package.

pypi Version PyPI Downloads Codecov test coverage

Features

Currently the package has functions that let you do the following without opening Power BI Desktop:

Dependencies

Before you can start to build power BI dashboards using this package's functions you'll need the following:

  1. Python 3.10+
  2. Power BI Desktop (You can create the dashboards without this, but not view them).

Power BI settings:
You'll need to enable some preview features in Power BI Desktop. Navigate to File > Options and Settings > Options > Preview features and enable the following options:

  1. Power BI Project (.pbip) save option
  2. Store Semantic Model using TMDL format
  3. Store reports using enhanced metadata format (PBIR)

Example Workflows

  • For more details about how to install python and run python scripts, see the setup tutorial.
  • To see an intro example of how to create dashboards using the package, see the test dashboard tutorial.
  • To see more example dashboards and the scripts used to create them, see the example dashboards section of the website.

Publishing

The .pbip and .pbir formats can be tricky to publish to Power BI Service. See this guide for potential workarounds that let you continue publishing.

Use Cases

Q: Why would I use a python package to create dashboards instead of just creating dashboards/visualizations using python tools such as flask?

A: Many organizations only support certain tools for publishing. Power BI is often bundled with an organization's subscription to Microsoft. If your organization lets you use flask or react or whatever else, then this package probably won't be much use. If the only tool you are allowed to use to create and publish dashboards is Power BI, this package might help you build version controlled, reproducible and automated dashboard workflows using python instead of manually re-creating dashboards in Power BI desktop.

Q: I like Power BI because I don't have to write code to build dashboards. Why would I use this instead of Power BI Desktop?

A: You don't have to choose! Dashboards created with Power Bpy can be opened and edited normally in Power BI Desktop. You can use code when it makes sense and point-and-click tools when it doesn't.

Additionally, Power BI isn't actually a no-code tool because you have to learn DAX and M. This package give you the additional option of using python, (a language many people find easy to learn and use), for both data preparation and building dashboards.

You also don't have to be really good at python to use the functions in this package, see the test dashboard and example dashboards tutorials for examples of how easy it is to build dashboards with python!

Contributing

I welcome various types of feedback:

  1. Pull requests to add features, fix bugs, add tests, or improve documentation. If the change is a major change, create an issue first.

  2. Issues to suggest new features, report bugs, or tell me that the documentation is confusing.

  3. Power BI feature requests. I need help from Power BI developers who don't necessarily have experience with python or github, but who do know what Power BI features they'd like to see.

    If possible it would be really helpful to show the change you want you by including a .pbix file that has the feature, or even better, before and after commits to GitHub of the dashboard showing the change. (Use the .pbip or .pbir format for the Github commits).

Sponsorship

Power Bpy is free and open-source, however if you found the package useful or inspiring, feel free to sponsor the project so that I can keep building it out. Additionally, I am a freelance software developer; if you would like to hire me to build out a custom Power Bpy workflow for your organization, please feel free to reach out to me on Linkedin or Bluesky.

About

This is a python module for creating PowerBI dashboards

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages