tips and tricks
52116 TopicsFabric Data Agent Access issue
I have created a fabric data agent using semantic model of a published report, It is working fine but I'm not able to share it with others I published the agent in M365 copilot and share with my teams of 100 people only 4 or 5 people can go to M365 copilot and search the agent and added the agent to their agent tab others are not even seeing the agent but if I share the agent link from M365 copilot then they see the agent but agent is not answering the questions but it's perfectly answering for me and other 4 to 5 people who see the agent when I surfed it said it said there are 2 level of access to get answer from the agent 1. agent level access 2. underlying data level access I have workspace contributor access for workspace, read, write, reshare permission for the agent. most of them share the same access but there are not able to see the only difference I found is I'm having premium per user license and most of other have pro license so I doubted it but internet says license is not an issue can anyone pls help me with this issue15Views0likes0CommentsRetail/SME banking analytics on Azure: consolidate into Fabric or keep Databricks and Azure ML?
We worked on an Azure-based analytics setup for a retail and SME banking platform. Data comes from core banking systems, transaction platforms, CRM, risk engines, payment gateways and external credit bureau data. The current architecture is: Azure Data Factory + Databricks for ingestion, transformation and validation Azure Data Lake with raw, processed and curated layers, for batch and near real-time analytics Power BI for fraud alerts, credit exposure, portfolio performance and compliance reporting Azure Machine Learning for fraud detection, credit scoring, churn prediction and forecasting Event-driven workflows for data refreshes, alerting, model retraining and regulatory reporting Purview, RBAC, encryption, audit trails and lineage for FCA/GDPR requirements Volume is around 8.5-9 million transactions per day on the fraud side. If you were designing this, would you move most of it into Fabric (OneLake + Lakehouse, Data Factory/Dataflows, Power BI with Direct Lake, and Fabric's ML capabilities)? Or would you keep Databricks and Azure ML as separate components for a regulated banking workload at this scale? I'm particularly interested in how you'd handle the ML/model retraining side and governance across Fabric and Purview.12Views0likes0CommentsClaude Code Credit Cost Estimation for Power Bi report
Hi everyone, I’m working on a POC for Power BI + Claude Integration, specifically the Report Authoring skill. We need to use Claude Code to create the required report pages and visuals. I’m currently trying to estimate the Claude Code credit/token consumption and approximate cost for completing this POC.Has anyone worked on a similar POC using Claude Code? If so, could you please share: Approximate credits/tokens consumed Estimated cost Any recommendations for estimating the usage before starting Any guidance or experience would be really helpful. Thanks!Solved116Views1like7CommentsDynamic axis label: show real name only for one company, others "Anonymous"
I have a bar chart (ranking) with one bar per company. All companies should stay visible, but the labels on the axis should work like this: The company of the current user (identified via USERPRINCIPALNAME() and a mapping table Company ↔ E-Mail) shows its real name All other companies show as "Anonymous" (or a neutral label) Example: Bar Label for user of Company 12 1 Anonymous 2 Anonymous 3 Company 12 4 Anonymous The problem: An axis field must be a column, but the logic depends on the current user, so I can only build it as a measure: DAX Firma Anzeige = VAR _Own = [Eigene Firma] // LOOKUPVALUE on the mapping table via USERPRINCIPALNAME() VAR _Current = SELECTEDVALUE( Fakten[Firma] ) RETURN IF( _Current = _Own, _Current, "Anonymous" ) A calculated column doesn't work either, because it is only calculated at refresh time and not per user. My current workaround: I show an index/letter on the axis and a separate small table that maps the letter to the user's company. My client finds this too complicated. Question: Is there any way to show a user-dependent label (real name vs. "Anonymous") directly on the axis of a bar chart? For example with field parameters, dynamic format strings, visual calculations, or a different table design? Or is there a better pattern for this scenario? Thanks in advance!Solved43Views3likes7CommentsPower BI Field Parameters with Paginated Reports – Looking for Guidance
Power BI Field Parameters with Paginated Reports – Looking for Guidance Hi everyone, I am trying to understand the best approach for using Power BI Field Parameters with Paginated Reports. I understand that Power BI Field Parameters allow users to dynamically switch between fields or measures in a Power BI report. My question is whether similar functionality can be achieved when working with Paginated Reports. For example, I am looking for something like: Power BI Report → Field Parameter → Paginated Report → Dynamically change the field/column displayed or used by the Paginated Report Specifically: Can a Power BI Field Parameter be passed to a Paginated Report? Can a Paginated Report consume a Power BI Field Parameter directly? Can a Field Parameter be used to dynamically determine which column/field is used in a Paginated Report query? If Power BI Field Parameters are not supported for this scenario, is there an equivalent out-of-the-box feature in Power BI Report Builder / Paginated Reports? Can this be achieved using standard Paginated Report Parameters, expressions, or dynamic query logic? Is the Paginated Report visual in Power BI the recommended way to achieve this type of interaction? For example, the desired experience would be: User selects: Customer Name OR Product Name OR Supplier Name and the Paginated Report dynamically uses the selected field/column. I understand that Power BI Field Parameters and Paginated Report Parameters are different concepts, so I am specifically trying to understand whether there is a supported way to achieve the same dynamic field-selection experience in Paginated Reports. If anyone has implemented this scenario, I would appreciate guidance on the supported approach and any limitations. Thanks!54Views1like4CommentsMicrosoft Known Issues
Known issues are temporary bugs that we've discovered in Microsoft Fabric. These bugs are known and are being actively fixed. Before you submit a Support request, or search Community forums for an answer, see if the problem that you're experiencing is already known to Microsoft. There are two locations to look up current known issues: Known issues as a list on Learn Known issues page on the Fabric support site For service level outages or degradation notifications, check https://support.fabric.microsoft.com/. To create a support ticket, visit https://learn.microsoft.com/en-us/power-bi/support/create-support-ticket.91Views3likes1CommentAutomating PDF export from a .pbit template so the report can be bundled into an output ZIP
Hi all, I am looking for advice on automating the final step of a POC report generation process, and I want to sanity check what is actually possible before I go too far down one route. The current setup We run a batch data analysis process orchestrated on Alteryx Server, using a set of Alteryx macros. A customer file is processed by an upstream matching engine, and a second automated job collects the resulting CSV outputs, builds a folder of clean report ready files, compresses everything into a single ZIP, and drops it on a file share. All the steps that need to be performed, and the order they run in, are held in SQLite tables, so the orchestration layer is already data driven and I have somewhere sensible to slot an extra step in. An analyst then does the following manually: Downloads and unzips the output ZIP. Copies a Power BI template file (.pbit) into the working folder. Opens the .pbit, which prompts for a folder path parameter, and points it at the local data folder. Waits for the model to load and all visuals to render. Part of our documented instructions is that the analyst has to navigate to the map page and actually click on the map visual before exporting, otherwise the map does not render properly in the PDF and comes out blank or incomplete. Exports the report to PDF from Power BI Desktop, then saves it back to the working folder. The report structure never changes. Only the underlying CSV data and a couple of parameter values (a display name and the folder path) change per run. What I want to achieve I want the PDF to be generated automatically as part of the batch job, so that when the requester downloads the output ZIP, the finished PDF is already sitting inside it. Ideally with zero manual Power BI Desktop interaction. I have already spent a fair bit of time on this with AI tools, both ChatGPT and Claude, and I still have not landed on a workable approach. They both keep steering me towards publishing to the Power BI Service and orchestrating the export through Power Automate. I am not ruling that out forever, but it is not a good fit for what I am trying to do right now. The whole point is that the PDF is already in the ZIP at the moment the person downloads it, rather than being produced somewhere else and delivered separately. So I would really appreciate any help or ideas from people who have tackled something similar. Happy to provide more detail on the structure if that is useful. Many thanks in advance :)37Views0likes4CommentsPower BI M-Query with TVF execution issue
Dear Team, I have designed a report in Power BI it is art of a Tableau to Power BI migration. I have separated the visuals among three pages with drill through option. It is working as expected but facing a slowness. So I think to use a benefit of M-Query with TVF passing parameter values to make pushdown query. parameter value is a single parameter and accept a comma separated values from 1st page visual. However I have created TVF. TVF is executing properly in DB side. But when I create a bind parameter and associated with my column make it text and enable multi option to get multiple values . Now I write a code snippet let VP=if P_param= null or P_param= "" or P_param= "XXXX" then "ALL" else if Value.Is(P_param, type list) then Text.Combine(List.Transform(P_param, Text.From), ",") else Text.From(P_param), SQL_Query = "SELECT * FROM MY_TVF('" & VP & "')", Source = #table({"Generated_SQL"}, {{SQL_Query}}) in Source This code has been written to check whether the selected parameter from visual VP=1001 is passing properly in TVF. Objective: 1. SELECT * FROM MY_TVF('1001,1002') (if multiple value selected from visual) 2. SELECT * FROM MY_TVF('1001') (if single value is sent) But when I click from visual using drill through feature the TVF is showing always SELECT * FROM MY_TVF('ALL') - The drill through fields when I put in the 2nd page then it is showing proper values . but it is not passing in the TVF so query is not executed it returns blank. My objective is from 1st page matrix visual when I select record one by one accordingly the value will pass and show the result. In matrix 1st column is A1 and A2 is the second column. A1 & A2 are also in drillthrough bucket. A1 can contain multiple A2. so when one A1 is selected then multiple comma separated A2 has been passed in TVF. A2 is an id field. and when A2 column it self selected then single value will pass. But value is not passing and I am not getting the benefit of query pushdown by M-Parameter. The A2 column is parameter binded. it is a text field. P_Param= A2. (bind to A2) . multiple accepted. could you please check and provide any assistance? I have tried all possible options but no results has been encountered. Regards Jishnu Bhattacharya85Views2likes6CommentsF64 Import Model Refresh Fails Due to Memory: Can Data Duplication Be Avoided
Hello, We are experiencing refresh failures for a large Power BI Import semantic model on an F64 Microsoft Fabric capacity. The refresh fails because the operation exceeds the available memory. Our main objective is to resolve the refresh failure. We are also trying to understand how the model is compressed and which objects consume the most storage, because reducing the model size may help reduce the refresh-time memory requirement. Current Environment The semantic model contains three fact tables and multiple dimension tables. The data source is an Azure Synapse Analytics dedicated SQL pool. The semantic model and reports run on an F64 Microsoft Fabric capacity. The semantic model uses Import storage mode. The semantic model size is approximately 14.8 GB. We import only the columns required for reporting, relationships, calculations, and security. One fact table contains approximately 3.8 billion rows. This large fact table is divided into partitions of approximately 100 million rows using XMLA. We refresh only the partitions that contain changed data. The other two fact tables have been denormalized by adding only the required descriptive attributes that were previously obtained from dimension tables. We denormalized those two fact tables because some table visuals were failing with the following error when using the normalized design: Query exceeded available resources. The denormalized design improved the table visual behaviour, but it increased the semantic model size. Main issue: Refresh failure due to memory usage Even though we refresh only the affected partitions of the 3.8-billion-row fact table, the semantic model refresh is failing because of the memory constraint on the F64 capacity. We would like to understand how memory is used during an Import semantic model refresh. Our understanding is that Power BI needs to preserve the currently queryable version of the model or partition while it processes a new version. This could temporarily require memory for both existing and newly processed data, along with additional memory for compression, dictionaries, relationships, indexes, and transaction commit operations. Could you please clarify the exact refresh behaviour? Specifically: Does Power BI temporarily maintain two copies of the complete semantic model, or only two versions of the partition being refreshed? Which model structures may be duplicated or rebuilt during a partition refresh? How much additional working memory is normally required beyond the stored semantic model size? Could a 14.8 GB semantic model exceed the F64 memory limit during refresh because the existing model, refreshed partition, dictionaries, relationship indexes, and processing workspace are held in memory at the same time? Does refreshing one partition at a time materially reduce peak memory, or can model-level structures still cause high memory consumption? Can refresh-time model duplication be disabled? Is there any supported way to prevent or reduce the apparent duplication of data during refresh? For example, can an Import refresh directly modify or update the existing data in a partition instead of building a separate replacement version and switching to it after processing completes? We would like to know whether any of the following is possible: Update existing compressed data in place. Append new rows directly to an existing processed partition. Delete or modify individual rows without recreating the affected partition. Disable the refresh transaction or shadow-copy behaviour. Disable the retention of the old partition version during processing. Commit the refresh in smaller stages to reduce peak memory. Release the old partition from memory before loading the replacement. Process only model metadata, relationships, or calculations without creating another data copy. Configure a lower-memory refresh mode for large Import semantic models. Control the number of rows or segments processed in each refresh transaction. If in-place updates or disabling refresh-time duplication are not supported, what is the recommended approach for refreshing a model of this size on F64? We understand that transactional refresh behaviour may be required to keep the existing semantic model available to report users and to allow rollback if processing fails. However, we would like confirmation of whether this behaviour can be changed or optimized. VertiPaq dictionary and compression question We are also investigating which columns contribute most to the semantic model size. Consider the following simplified example: LargeFact[EntityIdentifier] SecondFact[EntityIdentifier] EntityDimension[EntityIdentifier] All three columns use the same data type and contain many of the same identifier values. Does VertiPaq create: one shared dictionary for the identifier across the complete semantic model, one dictionary per table, one independent dictionary per physical column, or separate dictionaries or encoding structures at the partition or segment level? Does the relationship between the fact and dimension tables allow the key dictionaries to be reused, or does every physical column maintain its own dictionary and encoded value storage? For example, suppose the fact table containing 3.8 billion rows has a foreign-key column referencing another table. If that foreign-key column contains substantially fewer distinct values than the total row count, is its storage broadly composed of: a dictionary containing the distinct values, encoded references for the 3.8 billion rows, column segments, relationship indexes, hierarchy structures, and other internal storage objects? We would like to understand whether the storage is primarily caused by: the dictionary, the encoded values across 3.8 billion rows, internal relationship structures, partition-related structures, or a combination of these. Storage query used I used the following DAX query to identify the columns and internal storage objects consuming the most space: // Check largest storage entity EVALUATE VAR SegmentSizes = GROUPBY ( INFO.STORAGETABLECOLUMNSEGMENTS(), [TABLE_ID], [COLUMN_ID], "Records", SUMX ( CURRENTGROUP(), [RECORDS_COUNT] ), "SegmentUsedBytes", SUMX ( CURRENTGROUP(), [USED_SIZE] ), "SegmentAllocatedBytes", SUMX ( CURRENTGROUP(), [ALLOCATED_SIZE] ) ) VAR ColumnDetails = SELECTCOLUMNS ( INFO.STORAGETABLECOLUMNS(), "TABLE_ID", [TABLE_ID], "COLUMN_ID", [COLUMN_ID], "Table", [DIMENSION_NAME], "Column", [ATTRIBUTE_NAME], "ColumnType", [COLUMN_TYPE], "DataType", [DATATYPE], "Encoding", [COLUMN_ENCODING], "DictionaryBytes", [DICTIONARY_SIZE] ) VAR Combined = NATURALLEFTOUTERJOIN ( SegmentSizes, ColumnDetails ) RETURN SELECTCOLUMNS ( Combined, "Table", [Table], "Column or object", [Column], "Object type", [ColumnType], "Data type", [DataType], "Encoding", [Encoding], "Records", [Records], "Segment MB", DIVIDE ( [SegmentUsedBytes], 1024 * 1024 ), "Dictionary MB", DIVIDE ( [DictionaryBytes], 1024 * 1024 ), "Approximate total MB", DIVIDE ( [SegmentUsedBytes] + COALESCE ( [DictionaryBytes], 0 ), 1024 * 1024 ), "Allocated MB", DIVIDE ( [SegmentAllocatedBytes], 1024 * 1024 ) ) ORDER BY [Approximate total MB] DESC The query showed identifier columns from multiple tables among the largest storage objects. The most significant result was a foreign-key column in the 3.8-billion-row fact table. The query reported that this column, or its related internal storage object, was consuming up to approximately 13 GB. Could you please confirm whether this query correctly estimates storage usage by column or internal storage object? Main questions Our primary questions are: How can we resolve the refresh failure caused by the F64 memory constraint? Does Import refresh temporarily duplicate the complete model, or only the affected partition and related structures? Is there any supported way to update an existing Import partition in place? Can refresh-time duplication or transactional processing be disabled? Is there a supported configuration that reduces peak refresh memory? Is the storage query above correct, particularly the approximately 13 GB reported for a foreign-key object? Are VertiPaq dictionaries maintained per column, per table, per partition, or per model? What architecture would Microsoft recommend for an Import semantic model containing a 3.8-billion-row fact table on F64? Our immediate objective is to complete the refresh successfully. Model-size optimization is important mainly because it may reduce the peak memory required during processing. At the same time, we need to avoid reintroducing the 'Query exceeded available resources.' error in the report table visuals. Thank you.34Views2likes2Comments