Power BI Report Automation
This project automates logging into Power BI, applying dynamic filters via URL query strings, and capturing personalized report screenshots. Developed in C# with Selenium, it's designed to streamline the generation and delivery of custom data views. This is particularly valuable for users who lack a Microsoft Fabric license, as it provides a programmatic way to achieve dynamic report subscriptions and receive email notifications of snapshots tailored to their specific data, mirroring a core feature natively supported by Fabric.
Details
- The solution starts by using Selenium WebDriver in C# to automate the entire process, from logging into Power BI to navigating to the specific report page
- Once on the report, it dynamically applies filters by injecting query string parameters directly into the report's URL, and captures high-fidelity screenshots of these personalized report views
- The data used in the URL's query string for filtering is dynamically sourced from Power BI Datasets via DAX and Power BI REST APIs
- These generated report screenshots are then automatically stored directly to OneDrive, triggering Power Automate flow for seamless sharing
- The project's versatility makes it ideal for scenarios demanding automated, custom report snapshots delivery, especially when a Fabric license isn't available
- Please find the source code in my GitHub repository
Tools & Technologies
- Power BI, C#, Selenium, Power Automate
Demo
This demo walks you through the functionality, showcasing how the report is filtered by Category A, B, and C, with a distinct screenshot taken for each category.