show and tell
1329 TopicsGuidance Needed - End-to-End Migration Lifecycle — Pre-Migration to Post-Migration
'd also appreciate guidance on the complete migration lifecycle, from planning through post-migration support. Pre-Migration Assessment: How do you inventory and assess 400+ SSRS reports, identify dependencies, document business logic, analyze report usage, and decide which reports to migrate, consolidate, or retire? Migration Planning and Design: How do you map existing SQL tables, stored procedures, SSRS expressions, and report-level queries to reusable Power BI semantic models, DAX measures, and the target architecture? Migration and Development: What is the recommended approach for migrating reports in phases, building shared semantic models, implementing security, and eventually transitioning data pipelines to Microsoft Fabric? Testing and Validation: How do you reconcile SSRS and Power BI results, validate business calculations, test performance and security, and obtain business-user sign-off? Deployment and Cutover: How do you manage development, test, and production environments, deployment pipelines, parallel report availability, user acceptance testing, and the retirement of legacy SSRS reports? Post-Migration Support and Optimization: How do you monitor refresh failures, report performance, data accuracy, user adoption, and production issues? What documentation, knowledge transfer, and support processes should be in place? Governance and Continuous Improvement: How can Microsoft Purview or other tools help maintain business definitions, data lineage, report ownership, and centralized documentation as the organization moves toward Fabric? For anyone who has completed a similar enterprise migration, what methodology, tools, checklists, or lessons learned would you recommend at each stage?56Views0likes4CommentsHow are teams handling AI-driven automation around Power BI Embedded applications?
I’m exploring patterns for adding AI-driven automation around Power BI Embedded applications. For example: Power BI Embedded → user interaction → backend/API event → AI analysis → business action I’m particularly interested in how teams are handling: event-driven actions from embedded reports calling backend APIs securely using AI to summarize or interpret report context triggering workflows based on report interactions authentication with service principals or managed identities keeping the architecture maintainable in production Are there recommended patterns for combining Power BI Embedded, Fabric APIs, and AI services without putting too much logic into the client application?78Views0likes6CommentsDashboard Rendering Issue – Existing Dashboard Tiles Changed
a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; } Description We are experiencing an unexpected rendering issue in Power BI Service dashboards. Several existing dashboards that had been functioning correctly for a long time have recently changed their appearance without any modifications made by report authors, dashboard owners, workspace administrators, or tenant administrators. Environment Product: Power BI Service / Microsoft Fabric Dashboard theme: Custom dark theme (ALS corporate branding) Reports published and functioning correctly Issue observed in multiple dashboards Multiple users affected Problem Details The underlying reports display correctly and retain the intended formatting. However, dashboard tiles have unexpectedly changed appearance: White background areas appear within visuals that previously had transparent or dark backgrounds. Some visuals no longer respect the original report styling. Dashboard appearance changes depending on the selected dashboard theme. When switching the dashboard from dark theme to light theme, affected visual areas change color accordingly, suggesting that dashboard theme rendering is overriding or incorrectly applying visual formatting. No reports have been republished. No dashboard tiles have been re-pinned. No changes have been made to visual formatting settings. No known administrative or tenant-level changes were performed before the issue appeared. Expected Behavior Existing dashboard tiles should maintain their previous appearance and continue rendering consistently with their saved configuration. Actual Behavior Dashboard tiles are rendered differently than before, displaying unexpected background colors and theme-driven formatting changes. Troubleshooting Performed We verified that: The underlying reports render correctly. Visual formatting inside reports has not changed. The issue is visible only on dashboards. Multiple users observe the same behavior. Reopening the dashboard does not resolve the issue. No recent report publication or dashboard modification was performed. Potential Cause The issue appears related to dashboard theme rendering within Power BI Service rather than report configuration.142Views1like5CommentsLooking for a Donut/Pie Chart Custom Visual with Text Wrap Support for Category Labels
Hi Community, I'm currently building a Power BI report in Microsoft Fabric and am facing a limitation with the standard Donut/Pie Chart visual. Many of my categories have long names, and the built-in visual does not support text wrapping for legend/category labels, resulting in truncated text that users cannot fully read without relying on tooltips. I'm looking for a custom visual (preferably free) that supports: Donut or Pie chart visualization Text wrapping for category labels or legends Displaying the full category name directly on the report page Good readability when dealing with long labels Compatibility with Power BI / Microsoft Fabric Has anyone found a custom visual that supports this functionality? If not, how have you handled long category names in donut/pie charts while keeping the report user-friendly? Any recommendations or examples would be greatly appreciated. Thank you!Solved73Views0likes5CommentsDeveloper mode & git for reports with live connection
Hello! I currently have two reports that share the same dataset published, hence are connected to that dataset via live connection I want to start using version control for this reports and that includes for example any metrics created at the dataset level but i'm not sure what are the best practices right now. In the future I want to have everything being automated via deployment pipelines as well So my questions is, has anyone tried the developer mode with live connection and if yes what best practices or setup do you recommend?9.2KViews2likes25CommentsHow are teams automating Power BI development workflows using AI agents?
I am exploring how AI agents can help automate repetitive tasks in Power BI development and data workflows. Some possible use cases: Automatically generating reports from business requirements Triggering data preparation workflows through APIs Validating datasets before publishing dashboards Detecting anomalies and suggesting improvements Automating documentation for datasets and reports I am interested in learning how developers are currently combining Microsoft Fabric, Power BI APIs, notebooks, and AI agents. What architecture patterns or best practices are you using for AI-driven BI automation?Solved83Views0likes3CommentsDynamic Refresh Period Per Firm - Date Slicer Shows Global Range Instead of Firm-Specific Range
Hey all, I have a transactions dataset with multiple firms where each firm needs a different data retention period. Firm A needs 12 months of history, while Firm B needs 15 months. Users are scoped to one firm at a time via RLS. The issue: Even though the fact table correctly loads firm-specific months from Snowflake, the date slicer shows the same global date range (15 months) for both firms. Current Setup: Parameters: RefreshPeriod = "12" (default months) RefreshPeriodOverrides = "FirmB:15" (firm-specific overrides) FirmRefreshCaseSQL = generates CASE WHEN FIRM_KEY = [FirmB] THEN -15 ELSE -12 END MaxRefreshPeriod = "15" (max across all firms) Data Loading: Transaction fact table: Uses FirmRefreshCaseSQL in WHERE clause, correctly loads 12 months for Firm A and 15 months for Firm B Calendar dimension: Uses MaxRefreshPeriod, loads 15 months globally Relationships: Transaction[Transaction Date] → Calendar[Transaction Date] (many-to-one, single direction) Transaction[FIRM_KEY] → Firm[Firm ID] (many-to-one) Date Slicer: Bound to Calendar[Transaction Date] Expected Behavior: When Firm A is selected: slicer shows last 12 months When Firm B is selected: slicer shows last 15 months Actual Behavior: Both firms show last 15 months because the calendar dimension is global and doesn't know which dates belong to which firm What I've Tried: ✗ Setting parameter overrides at the report level - didn't propagate to semantic model ✗ Testing with measures - confirmed fact data is correct per firm, but slicer uses calendar dimension 🔄 Current approach: Adding a "Firm-Date Availability Bridge" table with distinct (FIRM_KEY, Transaction Date) combinations to enable filter propagation: Firm → Bridge → Calendar Questions: Is a bridge table the right approach for this scenario, or is there a simpler pattern? Should I consider making the Date↔Transaction relationship bidirectional instead? (Concerned about RLS implications) Are there any DAX-only solutions that don't require model changes? Has anyone solved firm-specific date filtering without loading separate datasets per firm? Any guidance would be appreciated! Thank you!Solved123Views0likes4CommentsPower BI Embedded: Multiple Users Seeing the Last Logged-In District's Data
Hi, We have a Power BI report embedded in our .NET application. We use DirectQuery, and our SQL Server production environment contains around 1,800 databases. In Power BI, we pass a database parameter to connect the report to the appropriate district's database. Each user belongs to a specific district, and the report should display data only from their respective district/database. We are facing an issue when multiple users log in at the same time. For example, User A logs in from District A, and the report connects to the District A database and displays the correct data. Then User B logs in from District B, and the report connects to the District B database. After User B logs in, User A also starts seeing District B data. It appears that the last-loaded database parameter value is being used by all users instead of maintaining a separate database parameter value for each user's embedded report session. We are using Power BI Embedded with a .NET application and DirectQuery, with approximately 1,800 SQL databases in production. What is the recommended approach for this scenario? How can we ensure that each user's embedded Power BI report independently uses the correct database parameter without affecting other users? Would Dynamic RLS, effective identity, separate embed tokens, or another Power BI Embedded approach be appropriate for this architecture? Any guidance on how Power BI handles parameters and DirectQuery connections for multiple concurrent embedded users would be greatly appreciated. Thanks!Solved103Views0likes5CommentsDirect Lake on OneLake + Deployment Pipelines + Git: parameter rules deploy but semantic model refre
Hi all, I’m trying to make a Fabric / Power BI semantic model deployment flow work for Dev -> Prod with Git and Deployment Pipelines, but I’m stuck on Direct Lake on OneLake source rebinding. Setup: I have two Fabric workspaces: DEV workspace: TPA-BI-Hub-Dev DEV lakehouse: lh_tpa_bi_hub PROD workspace: TPA-BI-Hub PROD lakehouse: lh_tpa_bi_hub The semantic model is a Direct Lake on OneLake model. In TMDL, the source expression uses: AzureStorage.DataLake( "https://onelake.dfs.fabric.microsoft.com/<workspace-id>/<lakehouse-id>", [HierarchicalNavigation=true] ) Tables have Direct Lake partitions, for example: partition dim_kontakt = entity mode: directLake source entityName: dim_kontakt schemaName: gold expressionSource: 'DirectLake - lh_tpa_bi_hub' Microsoft docs say Direct Lake on OneLake does not directly support deployment pipeline data source rebinding rules, but a parameter expression can be used in the connection string. Reference: https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-overview Attempt 1: split parameters We changed the expression to: AzureStorage.DataLake( "https://onelake.dfs.fabric.microsoft.com/" & WorkspaceId & "/" & LakehouseId, [HierarchicalNavigation=true] ) with parameter rules in the Production stage: WorkspaceId = <PROD workspace id> LakehouseId = <PROD lakehouse id> The model deployed and showed data, but refresh/reframe failed with: DirectQuery schema evaluation is not supported by the service-side ServiceLegacySchemaEvaluations. DirectQuery schema evaluation is a desktop-only path. Attempt 2: single full URL parameter Based on community examples, we changed to: expression 'DirectLake - lh_tpa_bi_hub' = let Source = AzureStorage.DataLake(#"OneLakeSource", [HierarchicalNavigation=true]) in Source expression OneLakeSource = "https://onelake.dfs.fabric.microsoft.com/<DEV workspace id>/<DEV lakehouse id>" meta [IsParameterQuery = true, Type = "Text", IsParameterQueryRequired = true] annotation PBI_ResultType = Text Then Production parameter rule: OneLakeSource = https://onelake.dfs.fabric.microsoft.com/<PROD workspace id>/<PROD lakehouse id> But Fabric validation failed with: ConceptualSchemaSettings should not be provided for non-Direct Lake queries That sounds like the service no longer classifies the parameterized expression as Direct Lake, even though the table partitions are still mode: directLake. Questions: 1. What is the recommended Git-compatible Dev -> Prod deployment pattern for Direct Lake on OneLake semantic models? Specifically: 2. Is parameterizing AzureStorage.DataLake(...) officially supported for semantic model refresh/reframe in the Power BI service, or only for deployment-time rule substitution? 3. Is the single URL parameter pattern expected to work with Git-integrated semantic models and Deployment Pipelines? 4. If parameter rules are unreliable here, is the recommended approach to maintain environment-specific branches, e.g.:develop has static DEV OneLake URL main / release-prod has static PROD OneLake URL 5. Or should we migrate to Direct Lake on SQL endpoint to use deployment pipeline data source rules properly? Related sources I found: Microsoft Direct Lake overview: https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-overview Microsoft Direct Lake development/TMDL source types: https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-develop Community example using OneLakeURI parameter: https://www.datazoe.blog/post/deployment-pipelines-and-power-bi-semantic-models-with-direct-lake-on-onelake-tables Direct Lake on OneLake vs SQL identification: https://data-mozart.com/direct-lake-models-are-they-onelake-or-sql-and-how-to-check/ Any confirmation of a working production-grade pattern would be very helpful.269Views0likes3CommentsPower BI Design Best Practices
Hello fellow developers and data enthusiasts, I've put together a comprehensive set of 12 Power BI design best practices based on my insights and explorations in the data realm. I'd love to get your thoughts and feedback on these principles! 1.Understand Your Target Audience Design a dedicated view for each sort of audience. Example: Leaders should have an executive view on what they are concerned about, whereas customers should have a low-level perspective on what they are engaging in. Before designing a view, consider the employee's kind of job; for example, providing a financial balance sheet to a non-financial employee is pointless. 2.Define Clear Objectives Always begin with an understanding of your dashboard's primary goal and the problem that needs to be solved. Example: If you're developing a sales performance dashboard, your goal may be to deliver real-time insights on revenue, sales trends, and product performance to assist sales teams in making data-driven decisions. 3.Choose the Appropriate Visualizations Choose relevant data visualizations. Example: Use a bar chart to demonstrate how different product categories contribute to overall income. Show the progression of revenue over time with a bar/line chart. A map visualization may be more successful than a pie chart for showing geographical sales data. 4.Break the problem and solve by visual Break the problem into numerous questions that address the problem, then construct each visual such that it answers at least one of the questions/doubts presented in the analysis. Example: Each visual on the Sales Dashboard should address or resolve each issue or doubt raised through the sales analysis. 5.Design with consistency Maintain consistency in design, layout, and formatting throughout every component of the dashboard for a consistent user experience. Example: Make ensure that all charts and graphs use the same color scheme or pattern of similar data points across several visuals (i.e., Profit – Green color, Loss – Red color) and maintain organizational design standards all over the dashboard. 6.Use Reports/Dashboard in the appropriate place. Develop reports when an in-depth and comprehensive examination is required, and dashboards when quick overview, executive summaries, and real-time monitoring is required. Example: Report: (Descriptive & Diagnostic Analysis) In Sales Report, what has happened in the past two years and why it has happened should be addressed. Dashboard: (Predictive & Prescriptive Analysis) In Sales Dashboard, with minimal information about what has happened and prescribing what to do in future to solve this can be addressed. 7.Ensure visibility. Maintain users informed of ongoing activities, such as data loading or refreshing. Example: Using icons or a progress bar to illustrate the state of a data refresh process, as well as indications to identify when they were last updated (to demonstrate how old the data is). 8.Design with freedom. Allow users to quickly customize data with filters, slicers, and interactive components. Allow users to rollback or undo actions. Example: Providing filter choices for date ranges (e.g., particular dates, quarters, or years) to enable different data analysis, giving drill-down charts for exploring data, and allowing users to reverse changes by providing Back navigation and clear slicers options where necessary to undo an operation. 9.Use Meaningful and Contextual Labels. To provide context and improve understanding, use clear and descriptive labels for charts, graphs, and filters etc. Example: Use terms like "Monthly Revenue Trends" or "Sales by Region" rather than "Revenue Data" or "Sales Information" instead of generic labels. 10.Use white space effectively. Make thoughtful use of white space to improve readability and identify important details. Example: To avoid congestion and promote understanding, space out graphics and text sections. 11.Improve user Engagement. To increase user involvement and study, use interactive components like as filters, slicers, and tooltips. Example: Include data slicers that allow users to filter data by date ranges or category of products, allowing for customized analysis. 12.Help the user. With pop-ups and documents, assist the user in understanding the action they are performing. Example: Including help icons with precise documentation, as well as providing tooltips to visualizations that explain the relevance of individual data points or trends. I believe these practices are crucial for creating impactful and user-friendly reports. However, I'm eager to hear about your journeys. Have you found similar principles effective? Do you have additional tips to enhance Power BI design? Your feedback is invaluable! Feel free to share your thoughts or suggest any other practices you've discovered during your expeditions in the realm of Power BI. Let's collaborate and further enrich our data voyages together!Solved21KViews2likes4Comments