general comment
820 Topicspbivisuals.powerbi.com server failure
We're using PBI Embedded with some certified custom visuals including Plotly. These custom visuals have stopped displaying recently and we've traced the problem to simple GET calls on pbivisuals.powerbi.com returning data so incredibly slowly that the visual times out. Occasionally that server will return the requested json definition (all 38MB of it) in 150ms. But the vast majority of times it will respond at less than 10kb per second (or not at all) and the request will ultimately time out. This is very easy to replicate in any browser by trying to access the Plotly visual definition directly: https://pbivisuals.powerbi.com/plotlyJSVisualEEDDFAAB4619388784AE7972BC162ECDFAAB46196.2.1.0.0.cc6d7a5f02f9a7ef6a04543a2a66140847cec0ac298cbe8d7eb853fead875102.pbiviz.json We've tested fetching this via VPN across multiple global locations, via different browsers on different machines etc and is is almost always paralyzingly slow. Is anyone able to suggest how to get Microsoft to look at this? Just to reiterate, our production reporting platform is effectively down atm because of this server-side issue. Thanks for any assistance you can offer!18Views0likes2CommentsCan we improve relationship arrow rendering in the semantic model view?
There are multiple issues with the way relationship arrows are rendered, and this image displays a few of them: (Note: I am using the web interface, via Edge.) Is there anything I can do to combat this confusing display pattern? An arrow that points ambigiously is worse than no arrow at all. If anyone in power is reading: please either give us more control over how these are rendered or make them behave logically. Example: in the first and last relationships shown above, I know that the arrow has rotated because the connecting lines are not perfectly aligned, but these lines should automatically align vertically as the others have and the arrow should only rotate if there are visible horizontal connectors extending out its sides.97Views0likes5CommentsPower 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!Solved21KViews2likes4CommentsPower BI Direct Connection to SAP HANA Production Database
Hello, I would like to ask about best practices and licensing considerations when connecting Power BI directly to an SAP HANA production database. Currently, we are using a copy of our SAP HANA database as the source for our Power BI reports. This creates delays because the copied database must be refreshed regularly, meaning our reports do not contain live data. Since Power BI has native SAP HANA integration, I would like to understand whether it is technically supported and considered best practice to connect Power BI directly to an SAP HANA production database for reporting purposes. I would also like to know whether this could potentially breach SAP licensing agreements or usage policies, and whether Microsoft and SAP recommend a specific architecture for near real-time or live reporting. Any guidance or experiences with similar setups would be greatly appreciated. Thank you.Solved955Views2likes5CommentsMissing "Show data point as a table" in Power BI Service for a map visual
I have a report created in Power BI Desktop and published to the Power BI Service. The report contains a Bing map visual with bubbles sized by the number of wagons at various stations. Issue: In Power BI Desktop, when I right-click on a bubble, I see and can use the option "Show data point as a table." However, in the Power BI Service (web version), this same right-click option is missing. The context menu does not show it at all. Steps to Replicate: Publish the report with the map visual to Power BI Service. Open the report in a web browser. Right-click on a bubble on the map. Observe that the option "Show data point as a table" is absent. Additional Context: I have confirmed that this is not a report structure issue. When I download the same report from the service and open it in Power BI Desktop, the right-click option works correctly. I've also been told that this option was available in the service for this report in the past. Question: What could be the cause of this discrepancy, and is there a solution or a workaround to provide this functionality to web users? Is this a known limitation or a recent change in the service?Solved242Views1like4CommentsBuilding a cross-platform SQL Server → Power BI lineage/impact tool — is this solving a real problem
Hi all — looking for honest feedback from people who manage larger Power BI environments alongside SQL Server, since I want to sanity-check an idea before investing more time in it. The problem I'm trying to solve: In enterprises with a lot of legacy SQL Server (stored procedures, views) feeding Power BI datasets, nobody seems to have a reliable way to answer: "If I drop/rename/change the type of this column, what breaks downstream?" Today this seems to get handled by manually grepping SQL code, tribal knowledge, or just shipping the change and waiting to see what breaks. What I'm prototyping: A tool that: Scans SQL Server (sys.dm_sql_referenced_entities) to find which views/procedures reference which columns. Parses the Power BI dataset model (via the extracted .tmdl files from a .pbix, using the sourceColumn property, or via the REST API/XMLA for live datasets) to map SQL columns to dataset columns. Builds a dependency graph so you can search a column and instantly see every downstream SQL object, dataset, measure, and (eventually) visual/report page that depends on it. Also aims to flag columns that appear genuinely unused (not in any visual, measure, RLS rule, sort-by-column, tooltip, or drill-through across every report on a shared dataset) as safe-to-review-for-deletion candidates — always with a human approving the actual delete, never automatic. Where I know Power BI already has native coverage, and I don't want to overclaim: Refresh failure notifications and refresh history are already native. Power BI's own lineage view shows dataset → report/dashboard relationships within Power BI. My understanding is none of this extends upstream into the SQL Server layer, or predicts impact before a SQL-side change ships — that's the gap I think this fills. Genuinely want to know if I'm wrong about that. Questions for the community: If you manage Power BI + SQL Server together, is "what breaks if I change this column" a real recurring pain point for you, or is it rare enough that manual checking is genuinely fine? Are there existing tools/features I'm missing that already solve this well (Purview, third-party lineage tools, etc.) that would make this redundant? For those on DirectQuery/composite models vs. Import mode — does the "what breaks downstream" problem feel different or worse for you? Would automatic "safe to delete" candidate detection (human-approved, not automatic execution) be something you'd actually use, or does it feel too risky no matter how it's framed? Any war stories about a schema change that silently broke a report you'd be willing to share? (Trying to gut-check how common/costly this actually is.) Appreciate any honest pushback — including "this already exists" or "not worth building" — I'd rather find out now than after building it out further. Parchitect , Zanqueta , jaryszek Need helpSolved345Views2likes6CommentsUnhandled error from powerbi-client embed event listener is surfaced as global browser Script error
Hi Power BI team, we believe we found a bug/limitation in powerbi-client event handling for embedded reports. When a report is embedded in an iframe (cross-origin), an exception thrown in an embed event listener appears to escape as a global browser error (window.onerror / Script error) instead of being contained in the SDK event pipeline. Environment powerbi-client: 2.23.1 Angular: 21.2.x Browser: Chrome (prod build) Embed host and iframe are cross-origin Observed behavior powerbi-client receives a postMessage from iframe, routes it to event handling, and dispatches embed events. If one listener throws during this flow, the app receives a global window error (generic Script error / event-wrapped error), which can trigger app-level global error handling/UI alerts. The global error lacks actionable context and looks like app failure, even though it is iframe/event-listener noise. Expected behavior Exceptions from embed event listeners should be safely handled/isolated by SDK (or surfaced only through SDK error channel), not leaked as global browser errors. At minimum, provide reliable error metadata so host apps can distinguish SDK listener failures from real app errors. Workaround on our side We suppress non-actionable global errors in our Angular ErrorHandler when: message contains Script error, or wrapped error has cause instanceof Event This avoids user noise, but ideally the SDK should not leak these as global errors. Repro outline Embed Power BI report with powerbi-client. Register at least one embed event listener (e.g. loaded, rendered, error). Throw an exception inside that listener. Observe global window error event and host app global error handler invocation.770Views1like6Comments"When a new row appears" report alert not firing on a Direct Lake (OneLake) model
I've set up a Fabric Activator alert on a Power BI report table using the "When a new row appears" condition, with a unique row identifier column, notifying via Teams. The visual is a table on a report page, and the semantic model is Direct Lake on OneLake. The problem: I added a new test record (a new unique ID) to the underlying data. The record shows up correctly in the report table, but I never received the Teams notification. What I've already checked/ruled out: - The alert is bound to the correct visual, and the unique-identifier column is present in that visual. - The new record is visible in the report, so the model is reflecting the change & the data is present. - There are no filters excluding the new record from that visual. - The semantic model has "Keep your Direct Lake data up to date" turned on My Working Theory: Because this is Direct Lake, the model reframes (re-points to the latest Delta/Parquet files) rather than doing a traditional refresh, and it does so automatically as data lands. My suspicion is that the Activator "new row" rule only re-revaluates when it receives a semantic model refresh event - which a reframe does not raise - so the report updates but the rule never runs to detect the new identifier. My questions: Has anyone successfully used the "when a new row appears" report visual alert against a Direct Lake model, and had it fire correctly? Does this alert type require a scheduled/triggered refresh (reframe) on the Direct Lake model to evaluate? if so, does forcing a reframe (refresh API or the Semantic model refresh pipeline activity) after each load reliably trigger it? If the report visual path isn't dependable for batch-loaded Direct Lake data, what pattern are you using instead (e.g. scheduled KQL Queryset > Activator, OneLake events, or a pipeline driven notification)? Any confirmation of the refresh-vs-reframe behavior, or proven design pattern, would be much appreciated. Thank you!119Views0likes0CommentsC# 5.1 API SDK missing error object from exports
It would appear that the Microsoft.PowerBI.Api 5.1.0 SDK for .NET has removed the Error object from the Export model. Here's a raw response from Postman calling the https://api.powerbi.com/v1.0/myorg/groups/xxx/reports/xxx/exports/xxx endpoint, with my specific GUIDs replaced with xxx. Note the error object with code, message, and detail properties. { "@odata.context": "https://wabi-us-east2-d-primary-redirect.analysis.windows.net/v1.0/myorg/groups/xxx/$metadata#exports/$entity", "id": "xxx", "createdDateTime": "2026-06-25T13:18:35.0382337Z", "lastActionDateTime": "2026-06-25T13:18:39.7605289Z", "reportId": "xxx", "reportName": "xxx", "status": "Failed", "error": { "code": "Invalid_Report_Parameters", "message": "RootActivityId(xxx): One of the supplied report parameter names does not exist.", "details": [] }, "percentComplete": 0, "expirationTime": "0001-01-01T00:00:00Z" } However, the Export object modeled in the SDK library (Export.cs) omits the error property entirely: using System; using System.Text.Json; using Azure; namespace Microsoft.PowerBI.Api.Models; public class Export { public string Id { get; } public DateTimeOffset? CreatedDateTime { get; } public DateTimeOffset? LastActionDateTime { get; } public Guid? ReportId { get; } public string ReportName { get; } public ExportState? Status { get; } public int? PercentComplete { get; } public string ResourceLocation { get; } public string ResourceFileExtension { get; } public DateTimeOffset? ExpirationTime { get; } internal Export() { } internal Export(string id, DateTimeOffset? createdDateTime, DateTimeOffset? lastActionDateTime, Guid? reportId, string reportName, ExportState? status, int? percentComplete, string resourceLocation, string resourceFileExtension, DateTimeOffset? expirationTime) { Id = id; CreatedDateTime = createdDateTime; LastActionDateTime = lastActionDateTime; ReportId = reportId; ReportName = reportName; Status = status; PercentComplete = percentComplete; ResourceLocation = resourceLocation; ResourceFileExtension = resourceFileExtension; ExpirationTime = expirationTime; } Anyone else noticed this, or am I missing something here? Previous versions of the SDK (4.x.x) had the error property clearly accessible. Is there another way to get error details when exports fail?Solved864Views1like6Comments