general comment
820 TopicsCan 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.83Views0likes4Commentspbivisuals.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!5Views0likes0CommentsPower 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.Solved942Views2likes5CommentsMissing "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?Solved237Views1like4CommentsBuilding 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 helpSolved340Views2likes6CommentsUnhandled 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.761Views1like6Comments"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!117Views0likes0CommentsC# 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?Solved855Views1like6CommentsHow to Retrieve Data for Copilot Adoption & ROI Dashboard
Hi everyone, I’m currently working on building a dashboard similar to a Copilot Adoption & ROI Cockpit and I’m trying to understand how to retrieve the underlying data for the following metrics: Assigned licenses / active Copilot users Copilot usage (interactions, hours saved, etc.) Usage segmentation (high vs occasional users) Satisfaction metrics Business value / ROI (hours saved, savings by business line) What is the best way to retrieve and centralize this data? ThanksSolved1.4KViews0likes5Comments