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.