Skip to main content

A tool for managing Power BI Enhanced Report Format (PBIR) projects

Project description

PBIR Utilities

pbir-utils is a python project designed to streamline the tasks that Power BI developers typically handle manually in Power BI Desktop. This module offers a range of utility functions to efficiently manage and manipulate PBIR metadata.

Features

  • CLI Support: Access all utilities directly from the command line.
  • Extract Metadata: Retrieve key metadata informations from PBIR files.
  • Update Metadata: Apply updates to metadata within PBIR files.
  • Report Wireframe Visualizer: Visualize PBIR report wireframe.
  • Disable Visual Interactions: Bulk disable interactions in PBIR report.
  • Remove Measures: Bulk remove report-level measures.
  • Get Measure Dependencies: Extract the dependency tree for report-level measures.
  • Update Report Level Filters: Update the filters added to the Power BI report level filter pane.
  • Sort Report Level Filters: Reorder filters in report filter pane on a specified sorting strategy.
  • Sanitize Power BI Report: Clean up and optimize Power BI reports.

Installation

pip install pbir-utils

CLI Usage

The pbir-utils command is available after installation.

1. Sanitize Report

Sanitize a Power BI report by removing unused or unwanted components.

pbir-utils sanitize "C:\Reports\MyReport.Report" --actions remove_unused_measures cleanup_invalid_bookmarks --dry-run
pbir-utils sanitize "C:\Reports\MyReport.Report" --actions all

2. Extract Metadata

Export attribute metadata from PBIR to CSV.

pbir-utils extract-metadata "C:\Reports\MyReport.Report" "C:\Output\metadata.csv"

3. Visualize Wireframes

Display report wireframes using Dash and Plotly.

pbir-utils visualize "C:\Reports\MyReport.Report"
pbir-utils visualize "C:\Reports\MyReport.Report" --pages "Overview" "Detail"

4. Batch Update

Batch update attributes in PBIR project using a mapping CSV.

pbir-utils batch-update "C:\PBIR\Project" "C:\Mapping.csv" --dry-run

5. Disable Interactions

Disable visual interactions between visuals.

pbir-utils disable-interactions "C:\Reports\MyReport.Report" --dry-run
pbir-utils disable-interactions "C:\Reports\MyReport.Report" --pages "Overview" --source-visual-types slicer

6. Remove Measures

Remove report-level measures.

pbir-utils remove-measures "C:\Reports\MyReport.Report" --dry-run
pbir-utils remove-measures "C:\Reports\MyReport.Report" --measure-names "Measure1" "Measure2"

7. Measure Dependencies

Generate a dependency tree for measures.

pbir-utils measure-dependencies "C:\Reports\MyReport.Report"

8. Update Filters

Update report-level filters.

pbir-utils update-filters "C:\Reports" '[{"Table": "Sales", "Column": "Region", "Condition": "In", "Values": ["North", "South"]}]' --dry-run

9. Sort Filters

Sort report-level filter pane items.

pbir-utils sort-filters "C:\Reports" --sort-order Ascending --dry-run
pbir-utils sort-filters "C:\Reports" --sort-order Custom --custom-order "Region" "Date"

Python API Usage

You can also use the library in your Python scripts:

import pbir_utils as pbir

# Example: Sanitize a report
pbir.sanitize_powerbi_report("C:\\Reports\\MyReport.Report", actions=["remove_unused_measures"])

To get started, refer to example_usage.ipynb notebook, which contains detailed examples demonstrating how to use the various functions available in pbir_utils.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pbir_utils-1.0.0.tar.gz (49.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pbir_utils-1.0.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file pbir_utils-1.0.0.tar.gz.

File metadata

  • Download URL: pbir_utils-1.0.0.tar.gz
  • Upload date:
  • Size: 49.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pbir_utils-1.0.0.tar.gz
Algorithm Hash digest
SHA256 967f395b381c4c69d896ea7cad122de6e8848ac3c52fa3dca92cf54f43ceb104
MD5 2e3032d0d7d1dd314235578c9652741b
BLAKE2b-256 7ea9c7f13742ea8b71653128cac6fde1a21bbde45b047b10f95d027d14fe653b

See more details on using hashes here.

File details

Details for the file pbir_utils-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pbir_utils-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pbir_utils-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44345a1e6d982d24579340571bcf4307635e8d83888b481bd39fd66913ef4f6c
MD5 aec4a1afbef79140721d7e773921f161
BLAKE2b-256 0ac5dc680a2b00bb0c49a3c55e7dc49b4d68565642e4bb4594530c0445268361

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page