web modeling
11 TopicsPower BI September 2026 Feature Summary
As the Power BI, Microsoft Fabric, data, and analytics community gathers in Barcelona for the European Microsoft Fabric + SQL Community Conference, this month is packed with news. From new Copilot and AI experiences to reporting, modeling, data connectivity, developer enhancements, and mobile updates, we're sharing the latest innovations designed to help you build, analyze, and act on your data more effectively. Whether you're joining us in person or following along from afar, this roundup is your guide to everything new across Power BI this month. General Deprecation of Old File Picker experience in Power BI Desktop In April we deprecated the old file picker experience in Power BI Desktop. Starting in October, users using versions of Power BI Desktop from March 2026 or earlier will no longer be able to save and share Power BI files to OneDrive and SharePoint. Please ensure you update Power BI Desktop to keep using this functionality. Copilot and AI Power BI Agentic Experiences (Generally Available) Agentic development in Power BI is real, and it is already delivering value: whether you are starting from scratch with greenfield projects or building upon existing solutions in brownfield scenarios, BI developers can delegate the work to an agent, review the result, and refine it rather than starting from scratch every time. What makes this work is tools and context. Through Work IQ and Fabric IQ, the agent grounds its work in your business context—your data, your semantics, and the way your organization operates. Through skills—published by Microsoft in skills-for-fabric, shared by the community, or personalized by your own team—it also picks up your development context: the modeling and reporting practices, conventions, and workflows your team expects. Through tools such as the Power BI Authoring MCP server and the Power BI Desktop Bridge CLI, the agent can act on that context: reading and changing semantic models and reports directly, reloading its edits in Power BI tools, and reviewing its own work. Point an agent at a requirements document or a screenshot of the layout you want, describe what you need, and the agent can help accelerate the initial authoring pass, which you can then review and refine. rt authoring skills. What's available today The powerbi-authoring plugin in microsoft/skills-for-fabric bundling the semantic modeling and reporting agent skills and tools. It was recently updated to support report authoring for remote semantic models in Power BI service and an expanded range of supported report visuals, including custom visuals. To learn more, refer to the Power BI skills documentation. The local Power BI Authoring MCP server allows the agent to edit semantic models in Power BI Desktop. To learn more, refer to the Power BI Authoring MCP documentation. Power BI Desktop Bridge lets an agent reload changes in a running instance of Power BI Desktop and capture screenshots to check its own work. To learn more, refer to the Power BI Desktop Bridge documentation. Browser-based validation for remote report editing, so the agent can validate a report using a headless browser (an automated browser that runs without a visible user interface). Removing the local Power BI Desktop dependency allows the full authoring loop to run without Power BI Desktop, extending the agentic experience to Mac users and others who do not rely on a local installation. To learn more and get started, refer to the Power BI agentic documentation. Microsoft 365 Copilot is coming to Power BI (Preview) Copilot experiences have emerged across the applications people use every day, bringing AI closer to the work happening in each product. But this can also feel fragmented, with different entry points, separate conversations, and uncertainty about which Copilot agent to use. Our goal is to create a consistent Copilot experience that is available wherever people work. People should not have to leave the application they are using to find it. Microsoft 365 Copilot should be available within their experience, carry relevant context across experiences, and connect to the specialized intelligence of each product. We’re taking an important step toward that goal with a preview of Microsoft 365 Copilot integrated directly into Power BI and Microsoft Fabric. This integration gives users a familiar place to bring together business context and trusted data. Shared conversation history lets them continue a discussion as they move between Microsoft 365 Copilot experiences instead of starting over in each application. ower BI experience, including integration with Work IQ. In Power BI, a question no longer has to stop with the numbers in a report. A sales leader could use Fabric IQ to identify which regions are behind plan, then use Work IQ to connect the results with customer emails, meetings, account plans, and documents. They could summarize the complete picture and even kick off actions and tasks in Cowork, all from inside Power BI. This work context and ability to move directly from insight to action were not available in the standalone Power BI Copilot experience. the Cowork integration into the Power BI experience, highlighting the full Microsoft 365 experience embedded into Power BI. A new setting in the Fabric admin portal will determine whether this integration is available by enabling or disabling its entry point in the navigation pane. It will be off by default, giving administrators time to evaluate the experience before introducing it to their organization. Administrators can enable it when they are ready and disable it if they need to pause access. This setting is independent of the existing setting for standalone Power BI Copilot. If both settings are enabled, users with a Microsoft 365 Copilot license will see entry points for both experiences, and standalone Power BI Copilot will continue to appear on Home. If standalone Power BI Copilot is disabled and Microsoft 365 Copilot is enabled, users will see only the Microsoft 365 Copilot entry point. During the initial preview, the integrated experience is available only to users with a Microsoft 365 Copilot license. These users receive the full Copilot Chat experience in Power BI and Fabric, bringing together Fabric data through Fabric IQ and relevant Microsoft 365 context through Work IQ. Existing permissions and governance controls continue to determine which content each user can access. Support for a broader Fabric audience will follow. This expansion will give Fabric users without a Microsoft 365 Copilot license access to an integrated Copilot experience tailored to their available capabilities. The experience may differ from the full licensed offering, but it will extend Fabric IQ and conversational data experiences to more types of Fabric users. The preview will roll out with the setting turned off by default, with administrators choosing when to enable it for their organization. This is an important step toward one Copilot that meets people wherever they work, connecting the context surrounding each decision with trusted business data. To learn more, refer to the Copilot in Power BI documentation. Power BI data answers in Microsoft Copilot Chat (Generally Available) Users can find and ask questions about Power BI reports and semantic models directly from Microsoft 365 Copilot. They can search for relevant Power BI content, attach a report or provide a link, and ask questions in natural language. Powered by Fabric IQ, the experience uses the data, measures, relationships, and business logic already defined in Power BI to provide grounded answers. Users can also bring Power BI insights into conversations that include their Microsoft 365 work context, such as emails, meetings, and documents. Microsoft 365 Copilot now supports Microsoft Purview Data Loss Prevention (DLP) policies and information protection controls for this experience. This helps organizations adopt conversational analytics while applying their existing policies for identifying, classifying, and protecting sensitive data. The experience continues to respect existing Power BI permissions and Microsoft 365 governance controls. Users can only access Power BI content they are authorized to view, and administrators retain control over whether Fabric data is available in Microsoft 365 Copilot. Organizations can use Power BI data answering in Microsoft 365 Copilot with production support and service commitments. This milestone makes it easier for users to bring trusted business data into the flow of work without leaving Microsoft 365 Copilot or creating a separate agent. To learn more, refer to the Fabric IQ in Microsoft 365 Copilot Chat (Frontier) documentation. Fabric IQ Plugin in Microsoft 365 Copilot Cowork (Generally Available) Power BI data is available where multi-step work happens, so a business question, the analysis behind it, and the follow-up it triggers stay in one place. To ground a task in Power BI, users can search for relevant content, attach a report, or paste a link to a report or semantic model. Questions are answered using the data, measures, relationships, and business logic already defined in the semantic model. Coverage now extends to reports published through organizational apps, with improvements to content discovery, large model handling, schema selection, Verified Answers, and row-level value search. The plugin also carries forward the governance controls organizations rely on in Power BI: Existing access controls: Power BI permissions and row-level security determine which reports and semantic models each user can reach. Citations and sensitivity labels: Responses cite the Power BI content behind an answer and surface the Microsoft Purview Information Protection label applied to it, so users can see where a number came from and how it is classified. From insight to action: With Fabric IQ, users can analyze Power BI reports using natural language, uncover key findings, and put those findings to work right away in Cowork. Whether they are summarizing business performance, investigating a trend, or answering a data question, Fabric IQ turns trusted organizational data into outcomes. To learn more about supported scenarios, setup, and current considerations, refer to the Fabric IQ in Microsoft 365 Copilot Cowork documentation. For licensing and pricing information, refer to Microsoft 365 Copilot plans and pricing. Build Fabric Apps more easily in GitHub Copilot App (Preview) Fabric Apps were introduced in June as an AI-first way to build custom web apps with Microsoft Fabric as the backend. This month we’re excited to share that building these Fabric Apps on your governed data has become even easier with the GitHub Copilot App, which gives you a natural language chat interface instead of a command-line interface. . To try it out, start by downloading the GitHub Copilot App. Then navigate to Customize > Plugins > Rayfin, and select Install to enable our dedicated plugin: Rayfin plugin in GitHub Copilot App. Once the plugin is enabled, simply start a new chat and work with Copilot to help plan your Fabric data app. After you review and approve the plan, ask the agent to execute it and specify the workspace where you want to deploy the app. . We look forward to seeing the amazing apps you build! Check out our community gallery for inspiration. Enhanced Report Consumption Copilot with Fabric IQ When viewing a Power BI report, you can enable Fabric IQ from the Copilot pane to better answer complex questions about your data. This enhancement merges existing Fabric IQ capabilities into Power BI Copilot report viewing mode, allowing Copilot to use a multi-step approach to evaluate data in the semantic model and refine its approach when generating a response. . With Fabric IQ enabled, Copilot can: Provide better answers to questions about your data based on detailed reasoning capabilities directly into the report viewing experience. Show reasoning steps to help you understand how Copilot provided an answer. Generate Fabric visuals to help you further analyze your data. Answers can include column, bar, stacked, line, area, pie, donut, scatter visuals. Provide the underlying DAX query and data table used to generate a response. . To learn more, refer to the Ask Copilot questions about your data documentation. New control for Copilot access to semantic models Power BI now provides semantic model editors with greater control over how Copilot can be used with their data. Users with write permissions can block read-only users from accessing a semantic model through Copilot and Microsoft’s remote MCP tools, supporting governance, compliance, and access-control requirements. The setting applies across Copilot experiences that query the semantic model, including Power BI Copilot experiences; Microsoft 365 Copilot Chat and Cowork; and data agents, remote Fabric MCP servers, and Power BI MCP servers. When disabled, users with read-only access won't be able to access that semantic model through these experiences. By default, the setting remains enabled to preserve the current behavior. This setting appears in the Copilot section with the following description: “Allow any person with read-only access to use AI (i.e. Copilot, Microsoft’s MCP tools) on the model and its related reports.” Setting that allows people with read-only permission to use AI experiences with the semantic model and its related reports. This update gives organizations a clear and enforceable way to control AI access to semantic model data while maintaining flexibility for semantic model editors. To learn more, refer to the Use Copilot with Semantic Models in Power BI documentation. Remote Power BI Authoring MCP Server (Preview) The Power BI Authoring MCP enables AI applications to create and modify semantic models in Fabric workspaces, without installing or maintaining anything local. This release also unblocks Mac users that want to use the Power BI Authoring MCP, because the server runs remotely and does not require local binaries. Use the following endpoint in AI applications such as GitHub Copilot App: https://api.fabric.microsoft.com/v1/mcp/powerbi/authoring The local Power BI Authoring MCP server, released in November 2025, remains generally available. It remains an option when an agent needs to work with Power BI Desktop, Power BI Project (PBIP) or TMDL files on disk. The local and remote servers support the same authoring capabilities. We recommend using the remote server when local development is not required, such as when creating a Direct Lake semantic model in a Fabric workspace. In the following example, the AI agent uses one tool call to create a Direct Lake semantic model connected to a Fabric Lakehouse: To learn more, refer to the Power BI Authoring MCP server documentation. Reporting New Report Ribbon on the web (Preview) The Report ribbon is now available on the web, providing a consistent experience for report consumption and authoring that more closely matches Power BI Desktop. The ribbon organizes commands into clear, easy-to-navigate tabs, making it easier for users to discover features, interact with reports, and complete editing and authoring tasks directly in the browser. It also introduces the new Design ribbon and additional capabilities that were previously unavailable on the web, such as Format Painter. This milestone brings greater consistency to Power BI report-authoring experiences and marks an important step toward a seamless, end-to-end reporting workflow on the web. As web authoring capabilities continue to expand, users will be able to accomplish more of their reporting tasks directly in the browser, enabling a more streamlined, productive workflow. Enable the Try the new ribbon (preview) at the top of the page to explore the new experience. You can disable the setting to return to the previous ribbon. To learn more, refer to the Report Ribbon on the web documentation. Live Visual Sharing in Outlook on the web (Preview) For years, sharing data through email has been stagnant. You could send a screenshot, but it immediately became stale. You could attach a report link, but recipients had to leave their workflow to find the context they needed. And every follow-up question often meant another screenshot, another export, or another email thread. Now, we're bringing a new way to share Power BI insights directly in the flow of work with Live Visual Sharing in Outlook. With Live Visual Sharing, you can insert a Power BI visual into Outlook on the web and share it as a live, interactive experience. Recipients can view and interact with the visual directly in Outlook while staying connected to the latest underlying data. When a live visual is shared, Outlook renders an interactive version of the Power BI visual. Rather than embedding a static image, the experience remains connected to the source report and retrieves current data when viewed. Recipients can: Interact with the visual directly in Outlook on the web. Access tooltips and explore data points. See filters and slicers applied at the time of sharing. View refresh information and data context. Navigate back to the source report when deeper analysis is needed. The result is a richer conversation around data, directly within Outlook. Sharing a live visual is simple: Open a Power BI report in the service. Select a visual to share, then select More options in the upper-right corner. Select Share. Select Link to this visual. A pop-up will appear asking if you want to use the current view (apply existing filters and slicers) or not. After selecting Create Link, the link is copied to your clipboard. Open Outlook on the web. This experience is not available in the Outlook desktop app. Create a new email. Paste the link in the email. The visual renders in loop after a few seconds! You can also share the same link in a Loop page, and the visual will also be rendered. By combining Power BI, Outlook, and Loop-powered experiences, we're bringing data closer to where collaboration happens. Live Visual Sharing can support more informed, data-driven conversations in Outlook. To learn more about Live Visual Sharing in Outlook, refer to the Share live Power BI visuals documentation. More control and context in Power BI Home (Generally Available) Power BI Home now provides additional context and personalization options to help users discover the right content more efficiently. With new freshness indicators and customizable list views, you can quickly identify the most relevant reports and semantic models, prioritize the metadata that matters most, and tailor the experience to fit your workflow. Find the right content more easily Discover the right content more easily with new Data Refreshed and Modified Date columns in Power BI Home. By bringing the freshness signals already familiar from workspace list views into Home, users can more easily spot recently updated reports and semantic models, distinguish between similar items, and quickly find the content that matters most. Whether you're checking for the latest business updates or deciding which refreshed report to open, you can navigate with greater confidence and less guesswork. Customize your Home list view Not every user, team, or organization relies on the same signals to discover content. With Column Options, you can show or hide metadata, drag and reorder columns to prioritize the information you use most, and reset to the default view at any time. Whether you rely on freshness signals, endorsements, sensitivity labels, or location information, you can tailor Home to match your workflow. To learn more, refer to the Power BI Home documentation. Set and reset column widths in table and matrix (Generally Available) You can now right-click a column header in a table or matrix and select Set column width to specify its width in pixels. This option helps report viewers improve readability and fit the information they need within the available space, without changing the report author’s design or affecting other viewers. Changes made by viewers last only for the current viewing session. To restore the width defined by the report author, right-click the column header and select Reset column width. To learn more, refer to the Adjust column width in Power BI tables documentation. Visual calculations for small multiples (Generally Available) You can now use visual calculations in visuals with small multiples. Create calculations such as moving averages and compare trends across categories without adding separate measures to the semantic model. In the visual matrix, the field in the small multiples field well appears on the ROWPAGES axis. You can select ROWPAGES by itself or combine them with ROWS and COLUMNS to control how the calculation moves through the visual. e: Create a moving average visual calculation for a line chart divided into small multiples by country. To learn more, refer to the Visual calculations overview documentation. Design ribbon for Power BI reports (Generally Available) The new Design ribbon brings report styling tools together in one location. Apply a built-in or organizational theme, open the Theme pane to customize report-wide defaults, or import and download theme files directly from the ribbon. You can also quickly open Page size, Page background, and Wallpaper settings for the current page. Two new built-in themes, Dark and Soft dark, use the new Versa color palette and styling that closely follows the Fluent 2 base theme. These themes let you design against a dark report canvas and return to the default light theme before publishing if needed. To learn more, refer to the Use the Design ribbon in Power BI documentation. Slider color options for Slicer visual (Generally Available) Match your slicer's slider to your report design. The Slicer visual's Between, Before, After, and Date picker settings include a Slider format section where you can turn the slider on or off, set the handle style, and choose colors for the handles, selected range, and track. Handle options adjust based on the Responsive layout toggle (General > Properties > Advanced options). When Responsive is on, handles appear as circles with Fill color, Border, and Size. When Responsive is off, handles appear as rectangular bars with Border, Width, and Height. To learn more, refer to the Slicer visual in Power BI documentation. Translytical task flows show user date function (UDF) information in button action (Generally Available) The formatting pane now displays the Workspace, Function set, and Data function assigned to a data function button. These read-only details help you confirm that the button references the intended function without reopening the OneLake catalog. This information is especially useful when you review or troubleshoot reports that use several functions or connect to functions across multiple workspaces. To learn how to configure data function buttons, refer to Create a data function button in Power BI. Format pane headers stay visible as you scroll (Generally Available) Expanded section headers now remain visible at the top of the Format visual pane as you scroll through their settings. This update helps you keep track of the section you’re editing, especially when a section contains many formatting options. For example, when you scroll through color settings, the Colors and Data colors headers remain visible for context. To learn more about formatting visuals, refer to Get started formatting report visualizations. Pick the axis initial scroll position (Generally Available) Categorical axes—like month, year, or product name—show a scrollbar when there are more categories than fit in the visual. Until now, the scrollbar always started at the beginning of the data, so the oldest values displayed first. This month, you can set Initial scroll position to End on the axis Layout section, and the visual loads with the most recent data in view. Users can still scroll back to see earlier history. The option is available on stacked, clustered, and 100% stacked bar and column charts; line, area, stacked area, and 100% stacked area charts; line and stacked column and line and clustered column charts; ribbon, waterfall, and scatter charts with a categorical X-axis. Initial scroll positionset toEndon the X-axis. The scrollbar is positioned on the right, showing the most recent months first. To learn more, refer to the Customize x-axis and y-axis properties documentation. Azure Maps geocoding improvements (Generally Available) Large reference layers now render correctly when you filter your report. Reference layers add geographic context using points, lines, and polygons, such as locations, routes, postal codes, sales territories, and administrative regions. The Azure Maps visual renders up to 30,000 reference-layer features at a time. Previously, when a reference layer exceeded this limit, features excluded from the initial view could remain missing even after a report filter narrowed the data to a smaller area. . . . Now, Azure Maps re-evaluates the reference-layer features whenever report filters are applied. The unfiltered view is still limited to 30,000 features, but a filtered view accurately displays the relevant features, up to that limit. On-object interaction improvements (Preview) Based on your feedback during preview, we're introducing the first in a series of on-object interaction improvements, designed to make quick edits to your visuals easier. This month we're refining how you add data and manage some visual elements. The Build flyout now opens only when you select Add data, helping you stay focused when dragging and dropping data directly onto a visual or into the Build pane. We’ve also separated Title and Subtitle in the Add to your visual flyout, so you can manage them independently. In addition, title and subtitle are now turned off by default for matrix, table, and card visuals in reports that use the latest base theme. New reports automatically use the latest base theme. For existing reports, select Update theme in the Theme pane to apply this change. You can turn either element back on when needed. to your visual menu. To learn more, refer to the using on-object interaction with visuals and updating to the latest base theme documentation. Support for Fabric Apps in Org apps (Coming Soon) Soon, users will be able to include generative Fabric Apps alongside the reports, dashboards, notebooks, and other content in your Org Apps. For example, imagine you want people to rate the content in an Org App and share feedback about what would make it more useful. You can create a Fabric App for that experience and add it directly to the Org App. Whether you’re helping people explore what could happen next, act on an insight, or complete a specialized workflow, Fabric Apps give you a flexible new way to build for your audience without sending them somewhere else. Together, organizational apps and Fabric Apps provide a way to bring enterprise reporting, content, and tailored experiences together for your organization. Learn more about org apps and item types supported, including Fabric Apps. Changes to Power BI subscription email delivery Power BI is updating the platform used to deliver subscription emails as part of ongoing improvements to delivery reliability and long-term service health. As eligible subscriptions move to the updated platform, customers may notice changes to the sender identity and email formatting. Each subscription transfers automatically when it moves. Customers do not need to recreate it or change its schedule or recipients. After selecting Subscribe for an item, an information icon identifies a subscription that has moved to the updated email delivery platform. Learn more about changes to Power BI subscription emails. Increased Export to Excel row limits (Coming Soon) Many users export Power BI data to Excel for further analysis. This month, we're increasing the maximum number of rows that can be exported from table visuals using Data with current layout from 150,000 to 500,000. This increase helps you analyze larger datasets in Excel with fewer export operations. s. To learn more about exporting data from Power BI visuals, refer to Export data from a Power BI visualization. Value selection in Narrative visual We are replacing the Q&A natural language experience for creating dynamic values in the Narrative visual and text box with a more deterministic UI. This is due to the ongoing deprecation of the Q&A tool, and also based on feedback that it was hard to deterministically pick exact values through the Q&A experience. Authors can now create and edit custom values through a direct, deterministic UI: select a column or measure, apply any valid summarization, and add any type of filter. Auto-generated values are unchanged, and values previously authored with Q&A remain available as read-only. To learn more, refer to the Create Smart Narrative documentation. Modeling Create and edit DirectQuery semantic models in the Power BI service DirectQuery semantic models can now be created and edited directly in the Power BI service, eliminating the need to download and use Power BI Desktop. Previously, building models that query data sources in real time meant downloading Desktop, authoring the model, and publishing it to the web. Now, web-based modeling gives your team the freedom to: Work from any device: Mac, Linux and Windows users can now author DirectQuery models straight from the browser. Collaborate in real time: Multiple team members can work on the same semantic model simultaneously. Ditch the desktop loop: Skip the download-edit-republish cycle and update your models instantly in the service. Capabilities on the web Start from scratch: Connect to a supported data source and choose DirectQuery mode. Figure: Power Query interface displaying data source connection settings, with DirectQuery selected as the data connectivity mode. Full modeling control: Open existing DirectQuery models to manage relationships, write DAX and tweak table/column properties. : Model View in Power BI Service showing tables, relationships, and the properties panel for editing a DirectQuery semantic model. Flexible storage modes: Easily switch table storage modes from DirectQuery to Import or Dual if needed. : Properties pane that allows user to switch table storage modes from DirectQuery to Import or Dual. Thanks to this new capability, composite models are also available on the web! Head to the Power BI service and open one of your DirectQuery semantic models or create a brand-new one. We'd love to hear what you think! Learn more in the DirectQuery documentation. Approximate Distinct Count comes to Import and Direct Lake (Preview) Distinct count is one of the most resource-intensive operations in any analytical engine. As data cardinality grows, so do CPU and memory usage, often slowing down your interactive reports. APPROXIMATEDISTINCTCOUNT already offered a faster alternative for DirectQuery sources such as Azure SQL, Synapse, BigQuery, Databricks, and Snowflake. This month we're extending support to Import, Direct Lake on OneLake, and Direct Lake on SQL semantic models. DAX = APPROXIMATEDISTINCTCOUNT(<columnName>) : Model View in Power BI Service showing tables, relationships, and the properties panel for editing a DirectQuery semantic model. How it works and when to use it Instead of scanning every single unique value, APPROXIMATEDISTINCTCOUNT calculates a highly accurate estimate of unique values with a standard error rate of ~1.6%. In return, you get faster query execution times. Best for high-cardinality columns: Use it on columns with millions of unique values (such as transaction IDs, user IDs, or timestamps) where an approximate result can reduce the resources required to calculate distinct values. Keep standard DISTINCTCOUNT for low-cardinality data: Stick to exact counts for smaller attributes like Country, Category, or Status, where standard calculation is already fast, or for financial metrics where absolute precision is required. Swap APPROXIMATEDISTINCTCOUNT into your heaviest measures today and let us know how much speed you gain on your models! Learn more in the APPROXIMATEDISTINCTCOUNT documentation. Accelerate text searches in your semantic models with String Indexing (Preview) String Indexing for Power BI semantic models is coming soon! If your reports rely heavily on text fields, such as product names, customer comments, or long descriptions, you’ve likely faced slow performance when users search or filter on large semantic models. String Indexing is designed to improve text-search performance in supported semantic models. Why String Indexing? Common text operations like DAX functions (SEARCH(), CONTAINSSTRING()) and advanced text slicers in reports traditionally scan data row-by-row. As datasets grow, these scans slow down query times. String Indexing builds specialized indexes so the engine can locate matching text more efficiently, which can improve report responsiveness for both Import and Direct Lake semantic models. Indexing modes You can configure String Indexing via model metadata to fit your workload needs: Auto Mode: Automatically builds the index on the first query execution for a qualifying column. The index does not persist in storage; it remains in memory only while the column is loaded and will be rebuilt on subsequent queries if evicted. Ideal for smaller models. Full Mode: Builds and persists the index during scheduled data refreshes. While refresh times and model size may slightly increase, users enjoy consistently fast query performance right out of the box. Get started String Indexing requires a semantic model running at 1707 compatibility level. During this initial preview phase, indexing can be configured through TMDL on the web or XMLA metadata. Desktop support and a dedicated UI experience within Power BI are planned for a future release to simplify setup. Check out the String Indexing documentation for setting up instructions, prerequisites, and guidance on choosing the right indexing mode for your models. We look forward to seeing how this feature helps make text-heavy reporting experiences faster and more responsive! Introducing Full-Text Search in Power BI Semantic Models (Preview) Full-Text Indexing for Power BI semantic models is coming soon! While traditional string searches look for exact character matches, Full-Text Indexing enables a more intelligent search experience based on the meaning of words and natural language concepts. This capability powers two new DAX functions, TEXTCONTAINS() and TEXTSIMILARITY(), making it easier than ever to analyze large volumes of textual data directly in your semantic models. Why Full-Text Indexing? Business data increasingly contains rich text content such as customer feedback, support tickets, product descriptions, incident summaries, and knowledge articles. Searching this data using traditional string matching often requires exact matches and can miss relevant results due to differences in spelling, word forms, or phrasing. Full-Text Indexing builds a specialized search index at the column level, allowing semantic models to understand words rather than just character sequences. This enables advanced search experiences such as: Finding related words through linguistic analysis (for example, run, running, and runs) Matching singular and plural variations automatically Ignoring common stop words such as "the" or "and" Supporting phrase-based searches Tolerating minor spelling mistakes through fuzzy matching Enabling semantic similarity search scenarios Getting Started FTS Indexing requires a semantic model running at 1708 compatibility level. During this initial preview phase, indexing can be configured through TMDL on the web or XMLA metadata. Desktop support and a dedicated UI experience within Power BI are planned for a future release to simplify setup. New DAX functions Full-Text Indexing is required for two new DAX functions: TEXTCONTAINS() Returns TRUE when a text value matches a search expression using full-text search semantics rather than simple substring matching. It supports multiple search modes, including keyword matching, phrase matching, and fuzzy matching for typo tolerance TextContains(<WithinTextColumn>, <SearchText>, [MatchMode]) Example: "Show me all reviews that mention spa." The review either matches or it doesn't. TEXTSIMILARITY() Returns a relevance score indicating how well the text in <WithinTextColumn> matches <SearchText>. It enables similarity-based text comparisons, helping identify records that are semantically related even when they do not contain the exact same words. TextSimilarity(<WithinTextColumn>, <SearchText> [, <MatchMode>]) Example: "Show me the 10 reviews most relevant to 'good breakfast'." Reviews mentioning both terms prominently rank higher than reviews that only partially match. Learn more about these two new DAX functions (TEXTCONTAINS, TEXTSIMILARITY) in our documentation. Full-Text Indexing is supported for both Import and Direct Lake models, with Full mode recommended (during Preview) for the best out-of-the-box performance and user experience. Refer to the Full Text Indexing documentation to learn more about prerequisites, configuration options, and setup instructions. Data connectivity New Power Query editor (Preview) Since May of this year, the modern Get Data experience has been available in preview inside Power BI Desktop; the feedback we've gathered from that rollout has directly shaped what comes next. Your reports of friction points, missing capabilities, and rough edges between the legacy and modern interfaces went straight into the backlog, and this month that work pays off: the full modern Power Query Editor experience moves into preview. It's the same trusted engine, wrapped in a completely refreshed editing surface — and we're still closing the remaining gaps with the legacy UI as we go. Let's explore six key reasons to enable and try this feature. Modern Get Data - The same connector browsing and search experience you already know from Fabric Dataflow Gen2 — now in Desktop. Searchable, categorized, and designed to make connectors easier to find and navigate than the legacy dialog. Try it: Connect to a new data source and browse the OneLake catalog. To learn more, refer to the Data sources in Power BI Desktop documentation. Dark theme, end to end - No more jarring light-mode panes breaking your flow. The legacy editor only partially supported dark theme. The modern editor applies it consistently across the preview grid, dialogs, and other parts of the editing surface. Folding visibility - Stop guessing whether your query folds. Step folding indicators mark each step as folding or not, and the new query plan shows exactly how the engine intends to evaluate your query — and where folding breaks down. Try it: Open the query plan on a query with several steps and find where folding stops. To learn more, refer to the Understanding Query Evaluation and Query Folding in Power Query documentation. Diagram view - See how your queries relate to each other visually, instead of reverse-engineering it from names. A gamechanger for files you've inherited or models with long reference/merge chains. Try it: Open a file with referenced queries and trace a merge visually. To learn more, refer to the Diagram view documentation. New capabilities, now on Desktop - Features that used to live only on the web are now here: rank column, cluster values, schema view, query script view, plus upgrades to transforms you already use daily. Try it: Add a rank column or cluster values on a messy text column. To learn more, refer to the Rank column and Use Schema View documentation. Export a Power Query template - Capture your solution at a point in time and take it with you. Export a template from Desktop and import it straight into a Dataflow Gen2 — queries, steps, and structure intact. Try it: Export a template from a multi-query file and import it into a Dataflow Gen2 to compare. Figure: Screenshot of the Export template experience in the Power Query editor. To learn more, refer to the Power Query template documentation. Ready to try it? Enabling the modern Power Query experience takes just a few seconds — no restart required: Open Power BI Desktop. Locate: File > Options and settings > Options. Under Preview features, check New Power Query experience. Open (or reopen) the Power Query Editor — you're now in the modern experience. Once you've had a chance to explore this new user interface and its experiences, we want to hear from you. Share your thoughts on the new Power Query experience in the Fabric Community — what's working, what's missing, and what would make it a compelling alternative from the legacy editor. Every comment helps shape what ships next. Microsoft Outlook Mail connector (Preview) We're introducing the new Microsoft Outlook Mail connector (Preview) for Power BI Desktop. Built on the Microsoft Graph API, it lets you read your mailbox data — folders, messages, and attachments — using an organizational account. This is the first in a set of new connectors we'll be releasing as a modern alternative to the Exchange Online connector. The initial preview is scoped to Mail in Power BI Desktop. Additional connectors for Calendar Events, Contacts, and Tasks are on the roadmap, along with Excel and Power BI service / Fabric Dataflows Gen2 support. Scheduled refresh isn't supported yet — this applies to both the Power BI service and refreshes routed through the on-premises data gateway. To try it, enable the Microsoft Outlook Mail preview feature under Options in Power BI Desktop, then open Get Data → Online Services → Microsoft Outlook Mail and sign in with your organizational account. To learn more, refer to the Microsoft Outlook Mail connector documentation. More flexible Data Privacy Firewall query patterns in Power BI Desktop (Preview) Power BI Desktop now allows Data Privacy Firewall partitions that reference other partitions also access data sources when the privacy levels of the involved data sources are compatible. Introduced in the July 2026 release and enabled by default, this preview setting aligns Power BI Desktop with Power Query Online, gateways, and the Power BI service. This change supports common query patterns in which one query returns a value that another query uses to build a web request, SQL statement, file path, or other data source request. These patterns can now run without refactoring queries or duplicating logic solely to satisfy the previous partition restriction. The Data Privacy Firewall remains active. Power Query continues to evaluate the privacy levels of the involved data sources before combining data, helping authors use more flexible query designs while preserving privacy protections. To learn more, refer to the Allow data privacy firewall partitions that reference other partitions to also access data sources documentation. Mobile Mobile page indicator (Generally Available) Know immediately which report pages are mobile-ready, without clicking through them. Each page that has a mobile layout shows an icon on its page tab in the footer, so you can spot your mobile coverage instantly. Pages without a mobile layout stay unmarked, making it easy to see what's left to optimize. The icon is coming soon to both Power BI Desktop and the Power BI service. In Power BI Desktop, it appears in both desktop layout view and mobile layout view, so you can track mobile coverage right where you work. In the Power BI service, it appears in mobile layout view. Page tabs marked with an icon to show which pages have a mobile layout. To learn how to build mobile-optimized reports, refer to the Mobile-optimized Power BI reports overview documentation. Contact details in Info drawer (Generally Available) We’re making it easier to connect with the right people from the Power BI Mobile app. You can now find contact details in the Info drawer for reports, apps, and dashboards, and email the relevant contact directly from your phone. To learn more about Power BI in mobile, refer to the What Are the Power BI Mobile Apps? documentation. Developers and APIs Power BI Projects (PBIP) (Generally Available) Since entering preview in 2023, PBIP has changed how developers build and manage Power BI content. It stores report and semantic model definitions as human-readable text files, turning a Power BI solution into a codebase. Developers can search these files, track changes in Git, review diffs in pull requests, automate updates with scripts and pipelines, and use AI agents to work with models and reports. Changes remain visible and reversible, which makes team development easier and safer. Recent improvements have made the workflow more practical. These include opening a project directly in Visual Studio Code and detecting external file changes in Power BI Desktop. New underlying formats capabilities: Tabular Model Definition Language (TMDL) for semantic models. Power BI Enhanced Report Format (PBIR) for reports. PBIR is now the default report format for PBIX and PBIP files. New reports use it from the start. When you edit a report that uses the legacy format, Power BI tools automatically convert it to PBIR. To learn more, refer to the Power BI Projects documentation. New Purge Data option for Fabric APIs The new Purge Data option for Fabric APIs gives developers and administrators greater control over programmatic semantic model deployments. This capability allows users to explicitly approve deployments that may require removing existing data, helping unblock scenarios such as schema or data type changes that previously failed validation checks. Designed with both safety and automation in mind, purgeData keeps data protection safeguards enabled by default while giving developers the flexibility they need to manage complex deployment scenarios at scale. To learn more, refer to the Purge Data documentation. Other Data updated and sensitivity fields of Power BI report in Microsoft Teams preview card (Coming Soon) Power BI report previews in Microsoft Teams will soon surface the report's last refresh date and sensitivity label. These additional signals will help users quickly assess the freshness, relevance, and classification of a report before opening it. To learn how Power BI content is displayed in Microsoft Teams, refer to the Link preview cards in Microsoft Teams chats and channels documentation. Artifact info header for Power BI tabs in Microsoft Teams (Generally Available) Power BI content in Microsoft Teams tabs now includes the artifact info header, giving users the context they need without leaving their flow of work. Available for reports, apps, organizational apps, dashboards, and scorecards, the header brings key artifact information and actions together in one place. The new header displays the artifact name and sensitivity label and provides an entry point to artifact metadata. You can open the artifact in the Power BI personal app in Teams, open it in a browser, and refresh the tab. Tab owners can control their experience with the new Show info header setting on the tab settings page. The setting is 'on’ by default and can be turned off when a more compact tab experience is preferred. To learn how to add Power BI content as a tab in Microsoft Teams, refer to the Embed Power BI reports in Microsoft Teams documentation. Third-party custom visuals graphomate matrix The graphomate chartrix is a brand-new charting visual, and it offers various improvements over graphomate charts. First and probably most obvious is the new interactive user interface which enables users to define most elements of the chart layout directly on the visual. To keep this interface effective and uncluttered it focuses on the most important parameters of your chart. Users can now create combination charts which were simply not possible before. There are also new chart types like the variance waterfall, which automatically renders from one measure and two dimensions. Of course, the graphomate chartrix is IBCS® certified. With the latest release an XFL editor has been introduced, which helps you write scripts to format the chartrix far beyond the possibilities of the regular option set. XFL scripts also provide a way to conditionally format the visualization, dynamically changing properties in relation to the actual data. This new visual is provided free of charge to existing customers of the graphomate charts. All development efforts will be focused on making the graphomate chartrix the best IBCS® charting visual there is. Video Link: graphomate chartrix for Microsoft Power BI AppSource Link: graphomate chartrix Sample Report Link Drill Down Bubble PRO by ZoomCharts Drill Down Bubble PRO is a Power BI visual designed for exploring relationships, trends, and outliers across multiple dimensions of data. It adds richer exploration, selection, and analytical capabilities directly inside the visual. Key features include: Multi-level drill down to explore data hierarchies from a high-level overview to detailed insights. Pan and zoom controls to navigate dense datasets and focus on specific clusters or individual data points. Area and lasso selection to quickly isolate groups of bubbles and use selections for interactive analysis and filtering. Dynamic regression lines that recalculate as the displayed data changes, making trends and relationships easier to identify. Line and area thresholds to highlight targets, ranges, exceptions, or other important business benchmarks. Area shading to visually group and compare selected segments of data. 200+ formatting settings to tailor the chart to different reporting and branding needs. Figure: Drill Down Bubble PRO demonstrates multi-level drill down, panning, and zoom controls for exploring data from high-level patterns to detailed points. These capabilities make Drill Down Bubble PRO especially useful for customer segmentation, sales analysis, portfolio analysis, performance monitoring, and other scenarios where users need to actively explore patterns rather than simply display them. Get on Markeplace Commenting in view mode: introducing Zebra BI Tables+ & Charts+ It's month-end. A regional manager opens the report, spots a variance in their region, and knows exactly why it happened. But the report isn't theirs to edit, so the explanation ends up where it always does: a screenshot pasted into PowerPoint, emailed around, detached from the number that prompted it. That's the collaboration gap. Your report shows what happened; the why and the what next leave the report and get lost. Meet Zebra BI Tables+ and Charts+: two new visuals that keep everything existing Zebra BI Tables and Charts offer and add a built-in collaboration layer. Report viewers can add comments directly on a data point, in view mode, with no Power BI edit access. Each comment is anchored to the exact figure and stored in your own SharePoint file. Zebra BI stores nothing. ting files from SharePoint, and collaborate directly in view mode. So instead of screenshotting insights into PowerPoint or maintaining a custom workaround, the whole team explains and decides right on the report. Instead of slides or emails, the next steps can be defined directly on the spot. Stop losing good decisions to a missing context. Start making them on the report. Try Zebra BI Tables+ and Charts+ free for 14 days on AppSource. Network Graph by Powerviz The Powerviz Network Graph is a visual representation of Nodes and the relationships or connections between them. Its primary purpose is to illustrate how different entities are related or interact with one another. Key Features Line Options: Customise node links with different styles and colors. Node Shape: Choose from various shapes, icons, or upload your own. Labels: Display categories, values, and percentage labels. Data Colors: Access 30+ color palettes, including color-blind-safe options. Fill Patterns: Highlight nodes with patterns or upload your own. Conditional Formatting: Highlight outliers based on measures or category rules. Clusters: Group related nodes to reveal patterns. Relationships: Analyze node connections at a glance. Animation: Add pop-ups and highlight effects. Import/Export: Save and reuse themes easily. Toolbars: Gain advanced control over the graph. Other features included are Sorting, Ranking, Lasso / Reverse Lasso, Grid View and more. Business Use Cases Customer Relationship Management (CRM), Supply Chain Optimization, Social Network Analysis (SNA). Resources Try Network Graph visual for FREE from AppSource Check out all features of the visual Step-by-step instructions YouTube Video Learn more about visuals Follow Powerviz on LinkedIn Hierarchical Bar Chart New, exciting changes were made to Hierarchical Bar Chart. Bubble Matrix for stacks - The visual now provides the option to show stacks as bubbles below the bars. lues into bar-and-bubble matrix layouts for clearer comparison of category totals and component contributions. Display Stacks as Clustered Columns - From the format pane settings, you can choose to display stacks as clustered column chart. Filter using legends - You can click on a stack legend to filter out other stacks. On mouse hover relevant stack gets highlighted. Stack ribbons and %age of total - You can now choose to connect stacks with ribbon and show percentage of total for each stack. Resources Check out the Hierarchical Bar Chart Update YouTube video. Download the visual from APPSOURCE Download a sample pbix file For more information refer to Hierarchical Bar Chart or contact us. That’s a wrap! The European Microsoft Fabric + SQL Community Conference is just getting started, and there's never been a more exciting time to be part of the Power BI community. We hope these updates help you discover new capabilities, streamline your workflows, and get even more value from your data. Be sure to explore the links throughout this post for deeper technical guidance and follow along with the latest announcements and sessions from Barcelona.52KViews8likes49CommentsDirect Lake Calculated Columns (Preview)
Calculated columns are now available in preview for Direct Lake on OneLake semantic models. This has been one of the most requested capabilities since Direct Lake launched and closes a long-standing gap with Import and DirectQuery storage modes. You can define calculated columns directly in your semantic model using DAX in web modeling and Power BI Desktop, without changing the table storage mode or modifying data upstream. The problem this solves Direct Lake combines Import-like performance with near real-time data freshness by querying Delta tables in OneLake and loading data into memory as needed. But until now, if your model needed a derived column, you had only two options: push the logic upstream into the data source or move the table to a different storage mode. Calculated columns close that gap – you can now define columns directly in the semantic model using DAX without leaving Direct Lake. What you can build Common use cases include: Derived values, such as an age calculated from a birth date. Concatenating fields, such as city and region into a single field for slicers. Formatted dates like Month-Year for grouping in visuals. Multilingual reports using data translations with USERCULTURE(). Personalized content based on functions like USERPRINCIPALNAME(). Examples 1. Age = DATEDIFF( DimCustomer[BirthDate], TODAY(), YEAR ) 2. Customer Location = DimCustomer[CityName] & ", " & DimCustomer[ContinentName] 3. Month Name = FORMAT( DimDate[FirstOfMonth], "mmmm", USERCULTURE() ) The first two return the same value for every user unless security context differs. The third adapts to the language of the person viewing the report – see Month Name. Calculated columns now have a new Expression Context property. Direct Lake calculated columns support User Context expression context only. With User Context: The expression is evaluated when a user queries the model. Evaluation respects row-level security (RLS) and object-level security (OLS). Expressions that do not reference user-aware DAX expressions or secured columns typically return the same value for every user. Considerations: Cannot be used in relationships. Direct Lake calculated columns are evaluated at query time and do not materialize. Because of this, they cannot be used as relationship keys. Build relationship keys in the Delta table when needed. Do not observe filter context. Calculated columns return a fixed value for each row and do not respond to report filters or slicers. Use a measure when the result must change based on report interactions. Unlike standard calculated columns, Direct Lake calculated columns are evaluated in the current user's security context. This means calculations automatically respect RLS and OLS. Security behavior across expression contexts The security difference is easiest to see with a column that references a protected value. Consider a model where OLS hides DimCustomer[Education] from a "NoEducationOLS" role, and a calculated column derived from it: Is Graduate = IF( DimCustomer[Education] = "Graduate Degree", "Yes", "No" ) The result depends on the expression context: Import - Standard Import - User Context Direct Lake - User Context Observes OLS No Yes Yes Result for a restricted user "Yes" or "No", derived from the hidden value Column not available Column not available With Standard, a restricted user still sees the derived answer and the protection is effectively bypassed. With User Context in both Import and Direct Lake, the reference to the secured column is evaluated within the user's security context, so the restricted user does not see the derived column. The sensitive value is never exposed. Import – Standard Expression Context Import – User Context Expression Context Getting Started Calculated columns for Direct Lake are available in preview. Open a Direct Lake on OneLake semantic model in the web or Desktop, create a calculated column, and begin modeling directly in DAX. To learn more, see the Create calculated columns in Power BI Desktop documentation.2.1KViews1like2CommentsTMDL View on the web: Edit semantic models as code in your browser (Preview)
TMDL View on the Web is a feature in Power BI that enables developers to view and edit semantic models as code directly in the browser using TMDL. It expands the Power BI web modelling experience by introducing a rich code editor for working with TMDL scripts—giving pro developers full transparency into the semantic model code and enabling more efficient workflows through code editing.2.7KViews4likes4CommentsTMDL View on the Web (Preview)
If you haven’t already, check out Arun Ulag’s hero blog “FabCon and SQLCon 2026: Unifying databases and Fabric on a single, complete platform” for a complete look at all of our FabCon and SQLCon announcements across both Fabric and our database offerings. TMDL View on the Web will be available in the coming weeks, providing a powerful code-first semantic modelling experience directly to your browser. With this new capability, Power BI developers can script, modify, and apply changes to semantic model objects using the Tabular Model Definition Language (TMDL)—a human-readable code format that describes your entire semantic model as code—without switching to Power BI Desktop or downloading model files. Watch the TMDL View on the Web demo in the March 2025 Update video. What is TMDL View on the Web? TMDL View on the Web is a new feature in Power BI that enables developers to view and edit semantic models as code directly in the browser using TMDL. It expands the Power BI web modelling experience by introducing a rich code editor for working with TMDL scripts—giving pro developers full transparency into the semantic model code and enabling more efficient workflows through code editing. TMDL View was initially introduced in Power BI Desktop in January 2025 and became generally available in September 2025. Now, we’re introducing the same code-first modelling experience to published semantic models in the workspace—directly in your browser. No downloads. No switching tools. Just seamless modelling on the web. Key capabilities and benefits of TMDL View on the Web TMDL View on the Web provides the following capabilities: Explore your published semantic model metadata Get full visibility into all objects and properties within your semantic model, including advanced properties not exposed in the standard UI. To view the TMDL definition of any object, simply drag and drop it into the editor, or open the context menu and select “Script TMDL to Script tab” or “Script TMDL to Clipboard”. This makes exploring and understanding your model structure faster and more efficient. l_object_incl Figure: Exploring published semantic model metadata in TMDL View on the Web by scripting the TMDL definition of an object, including advanced properties not exposed in the standard modelling UI. Enhanced development efficiency TMDL View on the Web includes a modern code editor designed to boost productivity with built-in IntelliSense, multiline editing for bulk updates, search and replace capabilities and more. For example, you can use IntelliSense and multiline editing to assign a display folder to all Sales-related DAX measures in a single operation—reducing repetitive work and improving consistency. You can also take advantage of AI-powered tools such as GitHub Copilot to assist with authoring TMDL scripts. For instance, you can script your model as TMDL, use an AI assistant to generate or modify code, and then paste it back into the editor to preview and apply changes—streamlining your modelling workflow even further. Figure: Using multiline editing and IntelliSense in TMDL View on the Web to assign a display folder across multiple measures in a single operation. Modify any semantic model property/object Edit properties and objects directly in the browser—including advanced settings such as partition definitions or properties like isAvailableInMdx, which are not exposed in the standard modelling interface. This capability gives developers full control over their semantic models, enabling advanced configurations without relying on external tools or downloading the model. Figure: Editing isAvailableInMdx property in TMDL View on the Web, with a side‑by‑side preview showing the before‑and‑after impact on the TMDL definition. Increased reusability and collaboration Easily share and reuse semantic model objects by sharing TMDL scripts. For example, to reuse a Calendar table from another semantic model or from a centralized gallery such as TMDL gallery, copy its TMDL script, paste it into your target model, preview the changes, and apply them. Figure: TMDL Gallery page showcasing a Calendar table shared as a reusable TMDL script for reuse across semantic models. Figure: Reusing a TMDL script from the TMDL Gallery by pasting it into another model in TMDL View on the Web, previewing the changes, and applying them. Key differences between TMDL View in Desktop and TMDL View on the Web To help you understand how the web experience differs from the Desktop version, here’s a side-by-side comparison of key functional differences between TMDL View in Power BI Desktop and TMDL View on the Web: Key Difference TMDL View in Power BI Desktop TMDL View on the Web View mode and Edit mode No distinct modes—changes can be made and applied to the model at any time Introduces two modes: View mode (to script and preview changes) and Edit mode (to apply them to the model), enabling safer experimentation before committing changes. Script persistence TMDL scripts are saved as part of the semantic model. A model may contain previously saved scripts. Scripts do not persist. They are discarded when the semantic model or browser is closed. Previously saved scripts were not displayed. Version history support Not available. Leverages workspace version history to restore previous versions of the semantic model if needed. Write permissions Not applicable. Desktop authoring does not rely on workspace permission levels. Requires write permissions on the semantic model to open and use the experience. TMDL View on the Web will begin rolling out in preview over the coming weeks. Here's how to prepare: Watch the demo: March 2025 Update video Explore the documentation: Tabular Model Definition Language TMDL View We look forward to seeing how you use TMDL View on the Web to accelerate your semantic modelling workflows and bring code-first development practices to your Power BI projects. Questions? Leave a comment!8.7KViews1like4CommentsLeveraging pure Direct Lake mode for maximum query performance
Co-authored with Kay Unkroth We are happy to announce a new Direct Lake semantic model property to control Direct Lake behavior. Direct Lake, by default, will transparently fallback to DirectQuery whenever a DAX query exceeds the limits on a SKU or uses features not supported by Direct Lake mode, such as SQL views from the Warehouse. This makes sure your reports show data, but it could be at the cost of performance. Now you can choose what happens instead. This property can be viewed or set when you open the data model in the Fabric workspace. In the Data pane navigate to the Model Explorer, click on Semantic model, and then in the Properties pane choose the Direct Lake behavior on your custom Direct Lake semantic model. Automatic will allow Direct Lake with fallback to DirectQuery. This is the default behavior. Direct Lake only will ensure no fallback. DirectQuery only will always fallback to DirectQuery, running all DAX queries as SQL queries through the Warehouse. Advanced BI pros working with Direct Lake models using third-party tools or custom solutions based on Tabular Object Model (TOM) or Tabular Model Scripting Language (TMSL) can also use this property to control query processing. Specifically, BI pros can now configure their semantic models to use pure Direct Lake mode. The new property is called DirectLakeBehavior. It can be configured to allow Direct Lake and DirectQuery mode (Automatic), Direct Lake-only mode, or DirectQuery-only mode, as in the following code listing. The default setting for DirectLakeBehavior is Automatic, which means Direct Lake models read delta tables directly from OneLake — unless they encounter an issue that prevents efficient loading of data into memory. Reasons include delta tables that exceed the SKU-based max number of parquet files or row groups, memory pressure, and feature limitations, such as model tables based on Data Warehouse views. The presence of Row-level security (RLS) or Object-level security (OLS) at the source also falls into the category of feature limitations. Another frequently encountered reason is an unprocessed table in the Direct Lake model. If you programmatically add a table to a model by using a third-party tool, TOM, or TMSL, don’t forget to process (refresh) the table so that Direct Lake mode can load the columns into memory when a DAX query needs them. Otherwise, if a column needed for a DAX query can’t be loaded, Direct Lake mode falls back to DirectQuery mode to process the DAX query, which can impact DAX query performance. For more details, check out the Fallback and Known issues and limitations sections in the Direct Lake overview article in the product documentation. Fallback to DirectQuery mode ensures that reports built on top of a Direct Lake model show results despite any Direct Lake-impacting issues. On the flip side, this fallback can also hide critical problems. Perhaps your delta tables require optimization to keep the number of parquet files and row groups at reasonable levels. Perhaps, the data volume necessitates a higher Fabric SKU to leverage Direct Lake model more consistently. Or perhaps you would just like a reminder that you need to process your tables after schema changes. With fallback enabled, how can you be sure that your semantic models really leverage Direct Lake mode? Up until now, you had to analyze the query processing in Performance analyzer or by using SQL Server Profiler to discover fallbacks to DirectQuery mode. But the new DirectLakeBehavior property greatly simplifies this. Just set the DirectLakeBehavior property to DirectLakeOnly and your DAX queries will fail when the data can’t be loaded. The error message conveniently reveals the reasons. Or put another way, if your DAX queries succeed in pure Direct Lake mode, you can rest assured that your semantic model can load the columns. Moreover, did you notice the DirectQueryOnly option? Yes, you can now configure a Direct Lake model to always operate in DirectQuery mode. This can make sense for performance measurements. If you test query perf in DirectQueryOnly mode, you can reliably evaluate the impact of fallback. If DirectQueryOnly perf is acceptable, it makes sense to enable fallback for your semantic model in production. If it isn’t, DirectLakeOnly might be the better option. As a best practice, we recommend that you work with your Direct Lake models in pure Direct Lake mode during the model authoring phase and then evaluate fallback performance in pure DirectQuery mode to determine the best DirectLakeBehavior configuration when deploying your solution to production. Fabric is redefining how customers can build their BI solutions for faster performance at big-data scale while at the same time reducing Total Cost of Ownership (TCO) and infrastructure complexity, and Direct Lake models are a key to delivering actionable insights with the speed of thought on top of your Fabric investment. So, don’t delay and leverage pure Direct Lake mode in your model authoring. We hope this new level of control helps you streamline your Direct Lake model authoring processes. And as always, please provide us with feedback if you want to help deliver additional enhancements. We hope you are as excited about Fabric and semantic models in Direct Lake mode as we are. We think this is a massive innovation and are looking forward to hearing from you!3.7KViews0likes0CommentsMicrosoft Fabric Copilot to write DAX queries in Power BI update
We are excited to announce that writing DAX queries with Copilot can utilize semantic model descriptions, synonyms, and sample values from columns. Microsoft Fabric Copilot helps you with DAX queries in Power BI Desktop or the browser. In DAX query view, select the Copilot button to open an inline Copilot where you can enter your request for writing or explaining a DAX query. Your request will include the context of where you are, using metadata from tables, columns, and measures, such as names and data types. With this update, additional information is included to help Copilot understand the semantic model. Descriptions are a property on the model where you provide additional information about a column, table, or measure to help model consumers when building reports. This is great for spelling out acronyms. For example, for a measure called 'YOY Growth' the description could be 'Year over year growth in sales, based on same range starting 12 months prior.' To keep Copilot response fast, Copilot can only see the first 200 characters. Descriptions can be added in the Properties pane of any table, object, or measure selected in the Model explorer, available in the Data pane of Model view or in the new TMDL view. There is also a Copilot to help write descriptions of measures in a model, which is highly recommended as consumers of the model, with or without Copilot, can only see name and description and do not see the DAX formula itself. Synonyms can be added to provide alternative names or how others may reference this column. This can help Copilot identify the right column to use if the user request uses a synonym. For example, to keep the axis label shorter the column is named 'YOY Growth', the synonyms could include 'Yearly growth', 'YOY Change', and 'Year over year delta'. Learn more about how to add synonyms. Synonyms can also be added in the Properties pane of any table, column, or measure selected in the Model explorer, available in the Data pane of Model view and there is a Copilot to help you add these synonyms. Sample values include the minimum and maximum values of a column. This gives the context of the numerical or date range and text examples. For example, the range of quantities ordered could be from 1 to 10 or 10 to 100, and a column of state names may be entered as 'WA' or 'Washington'. You do not have to add these, we will do this automatically for you. Here I have a semantic model where I have added in synonyms and descriptions. Let’s see the power of descriptions. The model includes a calculated table with information about the semantic model’s tables, which is a self-documenting technique. The table is called 'xTables' which does not convey that purpose well but does put it at the bottom of the table list, which was why it was named that way. The description for this table can give more context with 'This is information about this semantic model's tables.' Now when I ask Copilot to tell me more about the tables in this semantic model, the DAX query returned utilizes that table. Note, the DAX function INFO.VIEW.TABLES() was used in the calculated table, which can also be run as a DAX query if you have permission to edit the model. If you only have permission to view and run queries, you cannot run that DAX function and would only be able to get the information from this table. And in the case of column name using an acronym, the description can remove ambiguity on what it may mean, and Copilot can find the correct measure to use. Here I have a measure abbreviated to 'S/O', which I provide additional context for with the description, 'Calculates the average sales per order by dividing the total sales by the total number of orders.' Now when I request 'Write a DAX query to show average sales per order', Copilot can find the correct measure to use. Let’s see how synonyms can help. The model has a measure called [Costs] but it has a synonym of 'expenses'. I can now ask Copilot using the synonym and I get the data I was expecting from the DAX query. Finally, let’s see how sample values can help. In my model, I can see the minimum and maximum values using the Column statistics quick query, available from the Data pane. The values for states in this model are spelled out instead of using abbreviations. When I ask Copilot for a DAX query, I may not know this and use the abbreviation. With the sample values included with the request to Copilot, Copilot generates a query using the correct filter value, in this case, using 'Alabama' instead of 'AL' from the request I sent. It also used 'USA' instead of 'America' as that was also in the sample values for the Country column. _DAX_queries_in_Power_BI_update When I run this query, I get the results I am looking for. For more guidance on best practices in semantic modeling to give your model consumers the best experience whether they are creating reports or using Copilot, check out Optimization for Power BI guide at power bi optimization - Optimizing for report authors and model consumers Copilot to write and explain DAX queries in DAX query view is also using the new Azure OpenAI model. You may notice some changes from previous interactions with Copilot and an overall faster experience. Learn more about Microsoft Fabric and Copilot for Power BI with these resources. What is Microsoft Fabric - Microsoft Fabric | Microsoft Learn Overview of Copilot in Fabric - Microsoft Fabric | Microsoft Learn Overview of Copilot for Power BI - Power BI | Microsoft Learn Write DAX queries with Copilot - DAX | Microsoft Learn Use Copilot to create measure descriptions (Preview) - Power BI | Microsoft Learn Enhance Q&A with Copilot for Power BI - Power BI | Microsoft Learn4.3KViews0likes0CommentsDeep dive into Direct Lake on OneLake and creating Direct Lake semantic models in Power BI Desktop
In March 2025, we announced the public preview of creating Direct Lake semantic models in Power BI Desktop. Microsoft Fabric’s OneLake data is visualized in Power BI without duplicating data using the new Direct Lake storage mode. Power BI semantic models with Direct Lake tables can give you the latest data from the OneLake to visualize insights quickly and dynamically in Power BI reports and provide the right context for success with Copilot. Now, it’s even easier than ever, as you can create and edit Direct Lake semantic models in Power BI Desktop. And, for the first time with Direct Lake models, you can add tables from multiple data sources, giving you the full flexibility to use the OneLake data in Power BI. Let's get started by demonstrating how to create these Direct Lake semantic models in just a few clicks. First, if you haven't done so already, in the Preview features of Options select Create semantic models in Direct Lake storage mode from one or more Fabric artifacts. Then, in a new Power BI Desktop instance, select a Lakehouse or Warehouse from the OneLake catalog, then Connect. Give the semantic model a name, pick a workspace, and select the tables you want to include then OK. The semantic model is created in the service, accessing the data from the OneLake storage and now you are live editing the semantic model in Desktop, easy as that! To bring in other tables from another Lakehouse or Warehouse, return to the OneLake catalog. ke_and_creating_Direct_Lake_semantic_models_i Like when you created the semantic model, just pick a Lakehouse or Warehouse and click Connect. This time you are already in a semantic model, so the name and workspace options are removed, just pick the tables and click OK. And it’s added to the semantic model! From here you can continue data modeling: add relationships, measures, calculation groups, hierarchies, and more. DAX query view is available to view data in the tables and to try out calculations. TMDL (Tabular Model Definition Language) view is also available to make changes using code. The tables are all stored in the same OneLake, so regular relationships can be created between the tables, similar to the import experience. To create a report, go to File > Blank report and then live connect to the semantic model you are also editing. To find it, go to OneLake catalog > Power BI semantic models and it should be at the top of that list as you were just editing it, then click Connect. This gives you two instances of Power BI Desktop, one live editing the model and the other editing the report with a live connection. If you have multiple monitors, or a single large monitor, you can now edit them side by side. to_Direct_Lake_on_OneLake_and_creating_Direct_Lake_semantic_models_i You can save the report PBIX as you would any live connected report and publish when ready. For the model being live edited in Power BI Desktop, there is no local PBIX file created as the semantic model is already in the workspace. You can choose to export to Power BI Project to have a local copy of the metadata. When created in Desktop, these Direct Lake tables are the new flavor of Direct Lake, called Direct Lake on OneLake. The existing Direct Lake, now called Direct Lake on SQL, behaves just like Direct Lake on OneLake when accessing data from the OneLake delta tables. The difference is what they can do in addition to Direct Lake mode. Direct Lake on OneLake never uses DirectQuery to access data. Direct Lake on SQL also can talk to the SQL endpoint using DirectQuery. Views are accessed using DirectQuery mode, not Direct Lake, unless they materialized as delta tables. Direct Lake on OneLake is multi-source. You can use multiple Lakehouse or Warehouse tables in the same semantic model. Direct Lake on SQL is single source. Direct Lake on OneLake permission is only dependent on each source itself. Currently, this is either a Lakehouse or Warehouse. Use the 'ReadAll' permission to enable access to the delta tables. Shortcut tables can only be accessed with OneLake security early access. More information about shortcut tables is described below. Direct Lake on SQL permission is dependent on the SQL analytics endpoint of the source. Use the 'ReadData' permission to access delta tables through the SQL endpoint. Direct Lake on OneLake semantic models are created and edited in Power BI Desktop. Support for creation and full editing in web is planned. Limited web modeling is supported at the start of the public preview. Direct Lake on SQL semantic models are created from the web in the Lakehouse or Warehouse by clicking New semantic model and can be edited in either web or Power BI Desktop. Direct Lake on SQL does and will continue to have the fallback to DirectQuery option to be able to utilize the SQL endpoint. There is no more fallback to DirectQuery available when you create a Direct Lake on OneLake semantic model in Power BI Desktop. This Direct Lake storage mode only connects to the OneLake tables and is not downstream or impacted by the SQL analytics endpoint. The Direct Lake behavior option, found in Model view > Data pane > Model explorer > Semantic model node properties pane, will be greyed out to indicate this new Direct Lake on OneLake storage mode. Direct Lake on OneLake doesn’t show or allow the use of views in the semantic model, unless they materialized as delta tables. Direct Lake on SQL shows and uses views in DirectQuery mode. During the initial public preview, Direct Lake on OneLake doesn’t support the use of shortcut tables in the semantic model, or using any table in a Lakehouse opted into the public preview of 'Manage OneLake data access (preview)'. Accessing any table, including shortcut tables, is supported if you sign up for early access of the upcoming OneLake security. Migrating an existing Direct Lake on SQL semantic model to Direct Lake on OneLake is possible in Power BI Desktop now TMDL view is available in live edit. Create a test Direct Lake on OneLake semantic model using the same data source in Power BI Desktop. Remember views should be materialized and for shortcut tables, they are not yet supported unless in early access of OneLake security. Go to the OneLake catalog > Pick the Lakehouse or Warehouse > Connect. Navigate to TDML view, and from the Data pane > Model explorer, drag the Semantic model node to the script window to script the entire model. Scroll to the bottom to find the expression, copy the code starting with 'let'. Open a new instance of Power BI Desktop by going to File > Blank report. Then, live edit your existing Direct Lake on SQL semantic model. Go to OneLake catalog > Power BI semantic models. Pick the model, then on the drop-down on Connect choose Edit. Navigate to TDML view, and from the Data pane > Model explorer, drag the Semantic model node to the script window to script the entire model. To give yourself a way to undo the migration, you have two options. The first options are you can create two TMDL scripts of the semantic model so you can apply the un-altered one to return to Direct Lake on SQL. The second option is you can navigate to drop-down below the name to click Version history and create a version to return to. To continue, scroll down to the bottom of the script to find the expression in the Direct Lake on SQL model. Paste in the one you copied from the test Direct Lake on OneLake model. Don’t hit apply just yet! If this is a Lakehouse without schemas or folders, there is one additional step. If you are using a Warehouse or Lakehouse with schemas, you do not need to do this step. Click Replace in the ribbon and look for 'schemaName: dbo', changing 'dbo' with what your schema happens to be. Keep the Replace box empty to remove all these references. Now click apply. If you have calculated tables or calculation groups, you may need to go to Model view and click refresh. You can test out the semantic model by going to DAX query view and running any query. Quick queries are available in the right-click menu of any table, column, or measure in the Data pane to generate a DAX query for you. To recap, you can create semantic models using Direct Lake on OneLake storage mode in Power BI Desktop from one or more Fabric artifacts. At this time, only Lakehouses and Warehouses are available, but other artifacts will be added during the public preview. To create the semantic model with Direct Lake tables, follow these steps. Open Power BI Desktop and turn on the public preview for Create semantic models in Direct Lake storage mode from one or more Fabric artifacts. It is recommended to also turn on Live edit of Power BI semantic models in Direct Lake mode too, if it is not already turned on to edit the model you create later in Power BI Desktop. Go to OneLake catalog in the ribbon. Pick a Lakehouse or Warehouse with the tables you want to add and click Connect. Give your semantic model a name and pick the tables you want to use then click OK. Now the semantic model in Direct Lake mode is created in the service and you are live editing the model in Power BI Desktop. To add tables from other OneLake Fabric artifacts, such as Lakehouses or Warehouses, follow these steps. Go to OneLake catalog again in the ribbon. Pick another Lakehouse or Warehouse with the tables you want to add and click Connect. Pick the tables you want to use then click OK. That’s it! Now you can continue to build your semantic model or add more tables from other Lakehouses or Warehouses. In addition, you can use the Power BI Project by going to File > Export > Power BI Project. To create a report from this newly created semantic model there are many paths, but here is how you can do it in Power BI Desktop to get you started. In Power BI Desktop go to File then select Blank report. This will open a second instance of Power BI Desktop on your machine. If you have multiple monitors, you can then build your semantic model on one screen and build your report on the other screen. Go to OneLake catalog in the ribbon. Pick the semantic model you just created and click Connect. And now you can create fully featured Power BI reports just like you can with any published semantic model in Power BI Desktop. When you are ready you can click the Publish button in the Home ribbon to publish it. As with any published Power BI semantic model, you can create reports, explorations, DAX queries, and paginated reports in the service, as well as connect to the model via Excel. Microsoft Fabric Copilot in Power BI may be available to help you create reports in Power BI Desktop or the web. For more information and any limitations about Direct Lake on OneLake during public preview see the documentation at aka.ms/DirectLake and these resources may also be helpful. Live editing in Power BI Desktop DAX query view in Power BI Desktop TMDL view in Power BI Desktop Power BI Project Version history for web modeling and live editing Lakehouses Warehouses Try it out today and let us know your feedback by commenting below!8.7KViews0likes0CommentsIntelliSense improvements to DAX query view
The latest update to DAX query view introduces a major improvement to IntelliSense, eliminating auto-preselection to enhance efficiency and accuracy. Data Analysis Expressions, or DAX, is the key to accessing and analyzing data in a semantic model. Previously, IntelliSense would automatically preselect options, leading to unintended DAX function insertions when users pressed Tab or Enter. This is a common feedback item – thank you to everyone who provided this feedback! Now, IntelliSense only preselects suggestions after explicit actions, such as arrowing down or typing more specific inputs, ensuring an uninterrupted flow with Tab and Enter to structure the query as you type. By prioritizing user intent, the improved IntelliSense behavior empowers people writing DAX queries to be more productive. This improvement is automatically part of Power BI Desktop starting with the April 2025 release and is available now when using DAX query view in the web. Next steps: Use DAX query view in Power BI Desktop with any semantic model, including live editing a Direct Lake model, and when creating a report with a live connection to a semantic model. Write DAX queries in the web on any published Power BI semantic model Learn about DAX queries at DAX queries. Learn about DAX query view at DAX query view.1.4KViews0likes0CommentsDeep dive into composite semantic models with Direct Lake and import tables
Getting your data job done just got easier with composite semantic models, mixing Direct Lake tables with import tables, now available in public preview. Direct Lake on OneLake table storage mode already could mix tables from other Fabric data sources, such as lakehouses, warehouses, SQL databases in Fabric, and mirrored databases. And with this update, now that flexibility is extended much further with the ability to add in import tables from any data source, from 100s of connectors in Power Query online. The import tables added can also be from the same source as your Direct Lake tables. A small dimension table changed from Direct Lake to import can have a calculated column or the hierarchy usable in Analyze in Excel. Semantic link labs have a function to convert in place. Refer to the Convert a table in Direct Lake mode to import mode code example. A screenshot of Power BI web modeling showing tables in Direct Lake storage mode and import storage mode in the same composite model with options to add more tables. Regular relationships with Direct Lake and import composite models keep the performance of reports as expected. This is an improvement over the traditional DirectQuery and import composite models only supporting limited relationships. Create the Direct Lake and import composite models using Power BI experiences in the web. Power BI Desktop live editing is also available, but without the ability to choose different tables from the OneLake or transform options on import tables. This update also comes with more options to create a new semantic model with Direct Lake on OneLake tables. A screenshot of the create page in the Power BI service showing the OneLake catalog tile used to create semantic models from scratch with Direct Lake tables. On the main Fabric portal page: From the 'Create' button in the left navigation, choose the OneLake catalog tile and select a Fabric item with delta tables, then select 'Connect'. On the workspace page: From the 'New item' button choose 'Semantic model', then select the 'OneLake catalog tile' and a Fabric item with delta tables and 'Connect'. On the Lakehouse page: In the ribbon, choose 'New semantic model'. In addition to the existing path from Power BI Desktop. In Power BI Desktop: In the ribbon, select the 'OneLake catalog' then choose a Fabric item with delta tables and 'Connect'. These all lead to the semantic model with Direct Lake tables dialog. A screenshot of the semantic model creation dialog when creating with Direct Lake tables. There are several ways in web modeling to create a composite model with Direct Lake and import tables. Web modeling includes 4 new buttons when editing any semantic model. A screenshot of Power BI web modeling with the Get data, OneLake catalog, Transform data, and Refresh buttons added to the ribbon. Adding Direct Lake tables to import or import tables to Direct Lake tables is as easy as clicking a button. On an existing Power BI semantic model with tables in Direct Lake on OneLake storage mode: In the ribbon, select the 'OneLake catalog' then choose a Fabric item with delta tables and Connect. On an existing Power BI semantic model with tables in import storage mode: In the ribbon, select 'Get data' or 'Transform data' then choose any source add a table in import mode. You can continue to use Edit tables to change out tables used from Direct Lake sources and continue to use Power Query online through 'Transform data' to edit and bring in new tables in import storage mode. Refresh is also now available to update import tables data and reframe Direct Lake tables and perform a schema sync on all tables to get latest column information from the respective data sources. You can continue semantic modeling in the web, or you can switch to Power BI Desktop and continue to live edit the semantic model there. A screenshot of Power BI web modeling showing how to Edit in Desktop from the Editing drop down. Semantic modeling can include these tasks and many more to get your data ready for reporting. Rename tables and columns, and add descriptions, for easier report creation. Add relationships between tables upfront. Add measures to aggregate data columns and perform data analysis such as % of total or % change. Add calculated columns and tables to extend the data already available, including a common date table. Organize the columns by hiding columns not needed for reporting, grouping in display folders, and adding hierarchies. Add row-level security roles, calculation groups, sort by on columns, and more. In web or live editing in Desktop you can rely on version history snapshots in help if you need to undo a change. And like with any semantic model, you can use Semantic Link Labs in Fabric Notebooks to make edits and TDML view in Power BI Desktop. Let’s look at an example. Goal: I want to get my deliveries data from a SQL database in Fabric using Direct Lake storage mode then add my deliveries target data from an Excel file using import storage mode. This example will work if you have a Fabric capacity or Fabric trial capacity. I’ll create a SQL database for deliveries data and create a CSV with the deliveries target data. I created a workspace, then from 'New item' created a 'SQL database'. I used this query to create and populate the 'Deliveries' table. -- Step 1: Create the Deliveries table CREATE TABLE Deliveries ( DeliveryID INT IDENTITY(1,1) PRIMARY KEY, ItemID INT, QuantityDelivered INT, DeliveryDate DATE, SupplierName VARCHAR(100), DeliveryStatus VARCHAR(20), DeliveryReference VARCHAR(50) ); -- Step 2: Generate 1,000 mock delivery records DECLARE @i INT = 0; WHILE @i < 1000 BEGIN INSERT INTO Deliveries ( ItemID, QuantityDelivered, DeliveryDate, SupplierName, DeliveryStatus, DeliveryReference ) VALUES ( ABS(CHECKSUM(NEWID())) % 1000 + 1, -- Assuming ItemID between 1 and 1000 ABS(CHECKSUM(NEWID())) % 100 + 1, -- Quantity between 1 and 100 DATEADD(DAY, -ABS(CHECKSUM(NEWID())) % 180, GETDATE()), -- Past 6 months CHOOSE(ABS(CHECKSUM(NEWID())) % 5 + 1, 'Acme Inc.', 'SupplyCo', 'Warehouse World', 'BulkBuyers', 'Global Goods'), CHOOSE(ABS(CHECKSUM(NEWID())) % 3 + 1, 'Delivered', 'Pending', 'Delayed'), CONCAT('DEL-', FORMAT(@i + 1, '000000')) ); SET @i = @i + 1; END; And this SQL query to make a Calendar table to group the delivery dates into month also. CREATE TABLE Calendar ( DateID INT PRIMARY KEY, Date DATE NOT NULL, Month DATE NOT NULL ); DECLARE @StartDate DATE = GETDATE()-180; DECLARE @EndDate DATE = GETDATE(); WHILE @StartDate <= @EndDate BEGIN INSERT INTO Calendar (DateID, Date, Month) VALUES ( CAST(FORMAT(@StartDate, 'yyyyMMdd') AS INT), -- e.g., 20250101 @StartDate, DATEFROMPARTS(YEAR(@StartDate), MONTH(@StartDate), 1) ); SET @StartDate = DATEADD(DAY, 1, @StartDate); END; I also created a CSV file and added it to my OneDrive. Depending on when you follow this tutorial, you may need to update the months to be in the last 6 months. Month Deliveries target 1/1/2025 151 2/1/2025 163 3/1/2025 153 4/1/2025 184 5/1/2025 163 6/1/2025 199 7/1/2025 186 8/1/2025 171 9/1/2025 121 10/1/2025 103 11/1/2025 131 12/1/2025 187 Now the data is ready! I now go to the New item again in the workspace and choose semantic model. A screenshot of using new item in the workspace to create a new semantic model with Direct Lake or import storage mode tables. From here I can select the 'OneLake catalog tile' and choose the 'Deliveries SQL database' I created. I named my semantic model Deliveries analysis and chose both tables. A screenshot of the semantic model creation dialog. In a few moments my semantic model is created and I’m in the web modeling experience. From here I can add my import table by going to 'Get data'. A screenshot of Power BI web modeling showing how to add an import storage mode table with the Get data button. I choose Text/CSV connection and navigate to where I saved my CSV file with the targets in my OneDrive. Alternatively, you can choose blank table to paste in the values or upload the file directly. A screenshot of Power Query online in Power BI web modeling to add the import table from different connector options. Then you can do additional transformations, if needed. I had an extra blank row that I was able to remove. A screenshot of the transform data experience in Power Query online in the Power BI web modeling experience. Note: If you hadn’t set up a credential for this data source before you may be prompted to do that in the Power Query online experience. After that, if the load data fails on saving the transformations, go to the schedule refresh page of the semantic model and set the credentials there as well before returning to web modeling and refreshing. Now I have my import and Direct Lake tables in my model! A screenshot of Power BI web modeling with tables in Direct Lake and import table storage modes. Tooltips here on the Direct Lake tables will give details about the source name, source schema, source type, and the name and workspace it’s from. When adding tables from different Fabric data sources, I can quickly see where all my tables are coming from. Now I need to create the relationships and measures. I can do that here but now I am going to edit this in Power BI Desktop and give you a TMDL script to run instead. Go to the 'Editing' drop down in the top right corner and pick 'Edit in Desktop'. A screenshot of Power BI web modeling to show where to continue editing in Desktop from the Editing drop down. After Power BI Desktop loads, I am now live editing this composite semantic model. A screenshot of live editing a composite semantic model in Power BI Desktop with tables in both Direct Lake and import storage modes. I can add in my relationships and measure by running this TMDL script: createOrReplace relationship CalendarAndTarget toCardinality: many fromColumn: 'Deliveries target'.Month toColumn: Calendar.Month relationship CalendarAndDeliveries relyOnReferentialIntegrity fromColumn: Deliveries.DeliveryDate toColumn: Calendar.Date ref table Deliveries /// Calculates the average quantity delivered per delivery by dividing the total quantity delivered by the number of deliveries. measure 'Avg Qty per Delivery' = ``` DIVIDE([Total Quantity Delivered], [Deliveries]) ``` formatString: #,0.00 changedProperty = FormatString changedProperty = Description /// Counts the number of unique delivery records by calculating the distinct count of DeliveryID in the Deliveries table. measure Deliveries = ``` DISTINCTCOUNT('Deliveries'[DeliveryID]) ``` formatString: #,0 changedProperty = FormatString changedProperty = Description /// Calculates the percentage of deliveries achieved relative to the monthly target by dividing the number of deliveries by the monthly target. measure 'Target Attainment %' = ``` DIVIDE([Deliveries], [Monthly Target]) ``` formatString: 0%;-0%;0% changedProperty = FormatString changedProperty = Description /// Calculates the difference between the number of deliveries and the monthly target to show how actual performance compares to the goal. measure 'Target Variance' = ``` [Deliveries] - [Monthly Target] ``` formatString: #,0 changedProperty = FormatString changedProperty = Description /// Calculates the total quantity delivered by summing the 'QuantityDelivered' column in the Deliveries table. measure 'Total Quantity Delivered' = ``` SUM('Deliveries'[QuantityDelivered]) ``` formatString: #,0 changedProperty = FormatString changedProperty = Description ref table 'Deliveries target' /// Calculates the total deliveries target for the month by summing the 'Deliveries target' column. measure 'Monthly Target' = ``` SUM('Deliveries target'[Deliveries target]) ``` formatString: #,0 A screenshot of TMDL view when live editing a composite semantic model in Power BI Desktop to add relationships and measures. And right-click the Calendar and 'Mark as date table'. I also hid the base columns I used in measures. Now I want to create a report. The report view is not included when live editing, so I can open a new instance of Desktop to create a report, or I can go back to web modeling and select 'File' then 'Create new report'. If you had closed the browser window from earlier, you could go to the name of the file in Desktop to open a drop down with link to the semantic model in web. A screenshot of Power BI web modeling showing how to create a new report from the file menu. Now I can drag and drop my fields to create some visuals. I can use Copilot as well to quickly create a report. A screenshot of the Power BI report editing experience in the web. I can now use the new organizational themes to apply a theme used in my organization by going to 'View' then 'Theme'. A screenshot of the Power BI report editing experience in the web to apply a theme. And I even have performance analyzer also available to me when editing a report in the web, previously only available in Power BI Desktop. A screenshot of the Power BI report editing experience in the web to use performance analyzer. There are other ways to create these composite models with Direct Lake and import tables. From an existing semantic model with Direct Lake on OneLake and/or import tables you can simply add in additional Direct Lake tables or import tables. You can learn more about Direct Lake in the Direct Lake overview documentation and try it out today!16KViews0likes0Comments