dax
16 TopicsPower BI June 2026 Feature Summary
This month, we’re continuing to focus on making every day work a little easier—whether that’s building reports, modeling data, or just getting answers faster. You’ll see progress across Copilot and newer AI-driven experiences, along with a set of practical updates to reporting that help reduce repetitive work.
101KViews6likes33CommentsPower BI September 2025 Feature Summary
The Power BI September 2025 Feature Summary introduces updates for users and coincides with FabCon Vienna! This release introduces several key enhancements, including, updates to Copilot and AI capabilities such as the standalone Copilot default-on experience, and important changes to default visuals like the Bing Maps Visual icon. Dive into the details to discover how these innovations can elevate your Power BI experience. Contents Events and Announcements Get certified in Microsoft Fabric Power BI DataViz World Championships – happening live at FabCon Vienna! Copilot and AI Standalone Copilot to default-on Auto-selection of Copilot workspaces Save Explorations to pro workspaces Find Power BI reports in M365 Copilot search improvements Prep data for AI coming soon to the Power BI service Reporting Enhanced DAX Time Intelligence (Preview) Performance analyzer available when editing a report in the web Translytical Task Flows are now enabled by default in Power BI Modeling Editing semantic models in the Power BI Service (Generally Available) Live editing Direct Lake semantic models with Power BI Desktop (Generally Available) TMDL view (Generally Available) Download PBIX of XMLA altered semantic models Fabric Notebooks for Power BI: Best Practices Analyzer and Memory Analyzer (Generally Available) Direct Lake on OneLake + import in web modeling (Preview) Direct Lake on OneLake + import in Desktop DAX User Defined Functions (Preview) Refresh data or schema options in Power BI Desktop Power BI content shared in Teams now opens in a separate window Mobile NFC tag support in Power BI Mobile (Generally Available) Other New Tenant Setting for Set alert button visibility Visualizations ADWISE Advanced Column v 2.0 Zebra BI Tables: Calculated Reports in One Click and Brand Images Word Cloud by Powerviz Drill Down Combo Bar PRO by ZoomCharts CAGR Arrows Now in Zebra BI Charts Closing Version number: v: 2.147.909.0 Date published: 09/15/2025 Events and Announcements Get certified in Microsoft Fabric Join the thousands of other Fabric users who’ve achieved over 50,000 certifications collectively for the Fabric Analytics Engineers and Fabric Data Engineers roles. To celebrate FabCon Vienna, we are offering the entire Fabric community a 50% discount on exams DP-600, DP-700, DP-900, and PL-300. Request your voucher. Power BI DataViz World Championships – happening live at FabCon Vienna! Four finalists are taking the stage at FabCon to compete for the title of world champion! FabCon Vienna Power BI Dataviz World Championships – and the winner is... Congratulations to Paulo Grijó! Read more about the finals and all four finalists. Copilot and AI Standalone Copilot to default-on The standalone Copilot experience for Power BI, also known as chat with your data—is a full-screen, chat-based AI experience that finds data and answers questions about any report, semantic model, or Fabric data agent you have access to. The standalone Copilot experience will be enabled by default for all tenants where Copilot has already been turned on. If you would like to opt out, If your tenant admin has enabled this setting: Users can use Copilot and other features powered by Azure OpenAI—this setting will be automatically enabled in September: Users can access a standalone, cross-item Power BI Copilot experience (preview). We understand that some organizations are still preparing their data for AI and configuring what Copilot can access. You can opt out, here’s how: Turn the setting on in the admin portal, then immediately turn it off. This action tells us that you prefer to enable the standalone Copilot later, and we’ll skip the automatic default-on for your tenant. Auto-selection of Copilot workspaces If you don’t have access to a Fabric Copilot Capacity (FCC), you can still use the standalone Copilot experience. However, you’ll need to manually select a Copilot workspace for billing and usage tracking. This step has caused confusion for many business users, as workspace names, eligibility rules, and billing details are often unfamiliar. Beginning in late September, Copilot will automatically assign a workspace to each user, allowing them to access their environment without additional steps. You will still have full control to change their selection at any time, but the automatic selection will clear a roadblock and make it easier to start getting insights from Copilot. How auto-selection works Smart distribution: We generate a partially randomized list of workspaces, weighted toward those with more available capacity. This helps balance usage and avoids overloading any single capacity. Eligibility check: We’ll pick go down that list and pick a workspace tied to a capacity that meets Copilot requirements (in short, F2 or higher, in a supported region, enabled for use with Copilot). Persistence: Once selected, the workspace stays set across sessions. Fallbacks: If the workspace is later disabled for Copilot, we’ll automatically reassign a new one and alert the user. If an FCC becomes available, it will always override the auto-selected workspace. User control: A dismissible notification will let users know which workspace was chosen, with a direct option to change it. mber_2025_Feature_Summary You can also update it anytime via More > Manage workspace in the standalone Copilot experience. Why this matters This update clears friction for business users who want to use Copilot but don’t know (or need to know) the intricacies of capacities and workspace settings. By auto-selecting a workspace, we help them get straight to the insights they care about—while still giving admins and power users the flexibility to make changes as needed. Save Explorations to pro workspaces Previously, you could only save Explorations to Premium workspaces. Now, you can also save them for Pro workspaces as well. This makes it easier to save and share insights gained during your exploration. Find Power BI reports in M365 In the July 2025 Power BI Feature Summary, we announced the extension of the Power BI and M365 integration to further improve Power BI item discovery and search relevancy in M365 Copilot experiences & Office search. This expansion will empower consumers to locate their Power BI reports and data directly from M365 environments where they already work. Since then, we’ve made significant progress; users can now find Power BI reports by searching for a variety of report content in both Microsoft 365 Search and Copilot. Now, searching for a report title, description, chart title, or other contextual details within the report will display relevant Power BI items in M365, simplifying the process of finding reporting resources for daily data-driven decisions. Search for Power BI items in the M365 Copilot Search Search for Power BI items in the M365 Copilot Chat To learn more about how to share Power BI data with M365 for your organization, refer to the Share data with your Microsoft 365 services documentation. Copilot search improvements Copilot report descriptions make it easier to identify which report can answer your question without needing to open each one for verification. When the report author hasn’t added an item description, Copilot will provide a descriptive caption in Copilot search lists. Search prefers items that have been Prepped for AI. When content creators update the Prepped for AI setting to indicate that a semantic model is ready for use with Copilot, search is now boosting that prepped content (both the model, and all reports that use it). Content that’s ready for Copilot will be preferred in Copilot search over equally relevant Certified & Promoted content. In addition, we’ve sped up the delay in applying the prepped status of the model to the report from 24 hours to under 1 hour (but usually just a few minutes) in most cases. Hints for item types and workspaces, Copilot search returns results that are semantically like your question’s topic, which can be helpful when you don’t quite remember the report’s name. But often we remember other information that could help narrow the search. Copilot can now recognize the key concepts of workspaces and item types, which you can use to guide search. If you’re looking for a semantic model you created ages ago to model effective advertising spend, you might ask: ‘Find semantic models with fields about campaigns, ROI, and impressions'. Or, if you want to prefer content in a particular location, you might say: ‘Summarize quarterly sales, from the workspace East Coast Only’. This won’t act as a strict filter, so if you have a workspace called ‘Excluding East Coast’, you might see results from that workspace because the workspace names are similar. Copilot search responses will now prefer to surface just reports and data agents when the user doesn’t specify. Copilot can still use the report’s semantic model to answer the user's question, but in this way, we’re focusing on items that users are more likely to recognize. Updates to support filter pass-through, you may have already noticed updates in how verified answers show up in our search lists. These changes are purposeful and support Copilot in honoring filter context. For example, when a question about tourism on O’ahu is submitted, it is useful if search indicates that someone has already verified the answer to a similar inquiry. If information is needed for a different island, and that selection is available as a filter in a commonly used report, Copilot can be directed to use that specific report. In the following example, the verified answer is used as a starting point but filtered to directly answer my original question. You can find the filters applied to the visualization. When you use Copilot to search, you'll now see recommendations for what to do next, such as summarizing the report or providing an overview of the key metrics. Learn more about these features and how Copilot search works in the Find content with Power BI Copilot search documentation. Prep data for AI coming soon to the Power BI service In the coming weeks you will be able to prepare your data for AI directly in the Power BI service. Making it easier to keep your semantic models Copilot-ready without switching tools — and it unlocks additional model types you can prepare, including Direct Lake models and more. With prep data for AI features available in the service, you will be able to: Select a Copilot schema Set up and manage Verified Answers Add AI instructions To use these features: In the Power BI service, select the semantic model you want to prep. On the model page, select the Prep data for AI button in the ribbon. When you’re ready, don’t forget to update the model setting so users in your organization can start using Copilot with confidence. Reporting Enhanced DAX Time Intelligence (Preview) A brand new, calendar-based approach to time intelligence in Power BI has arrived! With this update, you can now define custom calendars—such as fiscal years or 4-5-4 retail calendars—directly in your data model. This gives you precise control over how your data maps over time, enabling more accurate and flexible analysis. What’s more, it allows you to do week-based calculations as well! Basic example using a Gregorian calendar How to use calendars to perform a total month-to-date calculation on a Gregorian calendar: To get started, simply turn on the 'Enhanced DAX Time Intelligence' feature in preview settings. Select Calendar options from the context menu on your date table. Create a calendar by associating columns in your date table into categories. Example: The Gregorian Calendar below maps the Year, Quarter, Month, Month of Year and Date categories to primary and associated columns (Columns can be named as desired). Perform calculations based on your calendar. Example: If you have a calendar called ‘Gregorian Calendar’ defined in your model, you can use TOTALMTD to calculate a month-to-date total sales value based on that: Sales MTD = TOTALMTD ( [Total Sales], 'Gregorian Calendar' ) In addition to expanding existing functions with support for calendars, we have also added brand new functions that allow you to do week-based calculations as well, such as TOTALWTD, PREVIOUSWEEK and more. Show your result in a visual. Example: This chart shows the Total Sales and Sales MTD value we calculated previously. Working with fiscal calendars Many calendars, particularly fiscal calendars, are shifted Gregorian calendars, in which the year does not being on January 1 st , but for example on July 1 st . Microsoft is an example of a company that uses a shifted fiscal calendar. In this case, a date table would include columns for the fiscal periods, such as fiscal year, fiscal quarter and fiscal month: Now, you can define a Fiscal Calendar: endar You can use the calendar in our calculations, for example, this calculates the SAMEPERIODLASTYEAR value using the Fiscal Calendar: Sales Same Period Last Fiscal Year = CALCULATE ( [Total Sales], SAMEPERIODLASTYEAR( 'Fiscal Calendar' ) ) This can then be visualized as follows: Week-based calculations As mentioned, you can now also perform week-based calculations, including 454 and other patterns. After making sure your data table contains week information, associate the relevant categories in your calendar as done below for a 454 calendar: Next, create your DAX calculation, for example, a week-to-date calculation can be made using TOTALWTD: Sales WTD 454 = TOTALWTD ( [Total Sales], 'RETAIL-454' ) The column chart shows the actual and the week-to-date sales value based on our RETAIL-454 calendar. There is much more to learn about this feature as it allows for a lot of advanced scenarios. Learn more about this preview in our time intelligence documentation and try it out in your next report and let us know what you think! Performance analyzer available when editing a report in the web Performance analyzer is now available in the web report editing experience and provide information on visual load times. Load times update as you interact with the report. Copy the DAX query from any visual to troubleshoot even further. Previously accessible in Power BI Desktop, this feature now allows users to observe report performance after publication. To learn more, refer to the Use Performance Analyzer to examine report element performance in Power BI Desktop documentation. Translytical Task Flows are now enabled by default in Power BI As a refresher, Translytical task flows, released in May 2025, marked a major evolution in Power BI by allowing users to act on insights instantly without leaving the report. Powered by Fabric User data functions, Translytical task flows allow users to automate tasks such as updating records, dynamic notifications, and even triggering workflows across other systems. To learn more about Translytical task flows, refer to the Understand translytical task flows documentation. Modeling Editing semantic models in the Power BI Service (Generally Available) This milestone unlocks end-to-end Power BI authoring directly in the browser, bringing core modeling parity between the web and Desktop experiences. Yes, that means Mac users can now model in Power BI, no Desktop required! What’s Supported? Create from scratch in the web - You can create net new import semantic models and reports directly in the browser! Navigate to the ‘Create’ page and select ‘Get data’. Choose from over 100 supported connectors to bring in your data, shape it with Power Query, build your semantic model, and design your report. Edit existing semantic models - The Power BI service now offers advanced modeling capabilities, including: Adding new import tables to your model Transforming import tables using the full Power Query editor Refreshing schema and data Managing relationships Writing and editing DAX measures, calculated columns, calculated tables, and calculation groups Editing properties in the properties pane Defining and assigning row-level security roles This release enables core modeling features in both Power BI Desktop and the web, allowing you to build and manage models easily from anywhere. To learn more, refer to the Edit semantic models in the Power BI service documentation, or the Deep Dive into Editing Semantic Models in the Power BI Service (Generally Available) blog post. Live editing Direct Lake semantic models with Power BI Desktop (Generally Available) This capability allows you to use the familiar Power BI Desktop interface to edit Direct Lake semantic models. All processing occurs in your Fabric workspace, directly against OneLake data, using the Power BI Analysis Services engine instead of your local machine. With live edit, every change you make, whether creating new measures, adding calculation groups, defining relationships, running DAX queries, and more, is applied directly to the semantic model in Fabric, ensuring a seamless, scalable modeling experience. Getting started is easy You can begin in Power BI Desktop or from the web: Start from Desktop Open the ‘OneLake data hub’ in Power BI Desktop. Select your Direct Lake semantic model. From the ‘Connect’ button drop-down, select ‘Edit’. Start from the web: In the web experience, select ‘Edit in Desktop’ for the Direct Lake semantic model you have opened. This will launch Power BI Desktop with the semantic model ready for editing. To learn more, refer to the Direct Lake in Power BI Desktop documentation, or the blog post. TMDL view (Generally Available) TMDL view introduces a modern code-first editing experience for Power BI semantic models using the Tabular Model Definition Language (TMDL). A user-oriented modeling language designed to enhance transparency, governance, and efficiency in the development of semantic models. With TMDL view, you can easily make batch updates using simple find-and-replace operations or leverage your preferred generative AI tool to create or modify TMDL code at scale. General availability introduces several notable enhancements: Full code highlighting including DAX and M (Power Query) Execution status in the script tabs For more information about TMDL view and full list of capabilities, please refer to our Work with TMDL view in Power BI Desktop (preview) documentation. Download PBIX of XMLA altered semantic models A key goal of the TMDL view work was to ensure Power BI Desktop can reliably handle any semantic model configuration. If the model is valid in Analysis Services in a Fabric workspace, it can be opened and edited in Power BI Desktop without crashing. Semantic model metadata not accessible through the user interface - such as multiple table partitions - can still be edited using TMDL view. Previously, users could use the XMLA endpoint with external tools to make semantic model changes - such as creating multiple partitions - that were supported by Fabric but not by Power BI Desktop. This mismatch often caused Power BI Desktop to crash, which is why downloads were blocked for XMLA altered semantic models. Now that TMDL view is generally available, we’ve removed this limitation. You can now download PBIX files for semantic models modified through the XMLA endpoint, and open and edit them in Power BI Desktop. This update does not mean that all semantic models are now downloadable as PBIX files. For example, semantic models with incremental refresh partitions are still not supported for download, this will be addressed in a future update. For more details on PBIX download limitations, please refer to our Limitations when downloading a report .pbix file documentation. This feature is currently rolling out and may not be fully available in all regions or for all users yet. We appreciate your patience as we complete the deployment over the coming weeks. To learn more, refer to the Open and edit any semantic model with Power BI tools blog post. Fabric Notebooks for Power BI: Best Practices Analyzer and Memory Analyzer (Generally Available) These one-click experiences make it easy to use Fabric Notebooks and Semantic Link to analyze your semantic models directly on the web. Best Practice Analyzer evaluates models using more than 60 rules across five categories: performance, DAX expressions, error prevention, maintenance, and formatting. It provides guidance on design and performance based on these criteria. Memory Analyzer provides detailed memory and storage statistics for tables, columns, hierarchies, partitions, and relationships, helping you identify optimization opportunities. We would like to give a special shoutout to the Power BI community members whose contributions laid the foundation for these tools: Daniel Otykier – creator of Best Practice Analyzer in Tabular Editor Marco Russo – developer of VertiPaq Analyzer Michael Kovalsky – builder of semantic link labs powering these notebooks Explore the Power BI Community Notebooks Gallery to discover and share notebooks that enhance data analysis and reporting with the Power BI Community. Learn more about using notebooks with your Power BI semantic models including details on this feature and its limitations in the Use notebooks with a semantic model documentation. Direct Lake on OneLake + import in web modeling (Preview) Semantic models edited in web modeling now have full flexibility of both Direct Lake on OneLake and import table storage modes. Open a semantic model with either Direct Lake tables or import tables and add in additional tables from either storage mode. Choose Get Data to add in import tables from any of the 100s of connectors supported. Choose OneLake catalog and add in Direct Lake tables from any of the Fabric data sources you have access to, including Lakehouses, Warehouses, Mirrored databases, Mirrored Azure Databricks catalogs, and SQL databases in Fabric. Summary Once in import storage mode you can transform the table further in Power Query and add in calculated columns to get your reporting where it needs to be. Hierarchies added to import tables also can be used in Analyze in Excel. To learn more, refer to the Direct Lake overview documentation. Direct Lake on OneLake + import in Desktop Power BI Desktop can also live edit semantic models with both Direct Lake and import tables. Edit relationships, add measures, and adjust column and table properties right in Power BI Desktop. To learn more, refer to the Direct Lake overview documentation. DAX User Defined Functions (Preview) Power BI has long supported custom functions in Power Query, however now DAX User Defined Functions (UDFs) provide similar capabilities. DAX UDFs allow you to define custom functions with parameters, just like you would define functions or methods in programming. Instead of copy-pasting chunks of logic across multiple measures, you can now write your logic once and reuse it everywhere. Complex problems can be encapsulated by multiple reusable functions. Functions can even refer to other functions! This way, your logic becomes easier to write, understand, maintain and debug. Whether you are working on complex models or just want cleaner, more maintainable code, DAX UDFs are for you. Up to this point, the reusability of DAX logic was limited to calculation groups. DAX UDFs, however, unlike calculation groups, can be parameterized. Getting started with DAX UDFs To get started, simply turn on the ‘DAX User Defined Functions’ feature in the preview settings. You can define DAX UDFs in multiple ways, including the DAX Query View and TMDL view. Defining and using a function Defining a function is straightforward as we have introduced a new FUNCTION keyword. The general structure for defining a function is: /// [function description] FUNCTION <FunctionName> = ( [parameter name] : [parameter type] ) => <body> For example, here is a DAX query that defines and evaluates an extremely simple function that applies a 10% tax to an amount. DEFINE /// AddTax returns the amount including tax FUNCTION AddTax = (amount) => amount * 1.1 EVALUATE { AddTax(11) } // Return 11 After adding the function to the model, you can then call the function from other places where you can use DAX, such as measures: Parameters Just like built-in functions, DAX UDFs can take zero or more parameters. You can also provide the type of the parameter, so your functions are much more resilient. For example, to identify that our AddTax function expects a numerical value, we could write. DEFINE /// AddTax returns the amount including tax FUNCTION AddTax = (amount: numeric) => amount * 1.1 Parameters can not only take scalar values but also accept tables and even expressions. Type checking To make DAX and TMDL/TMSL more consistent, we have introduced a set of new functions to do type checking and updated the DATATABLE, CONVERT and EXTERNALMEASURE functions have been updated to work with all synonyms as well. For example, we now have added ISSTRING, which is an alternative to, ISTEXT and ISNUMERIC which is a complement to ISNUMBER. A complete list is available in our documentation. Managing DAX UDFs Functions are shown in the model explorer: In DAX Query View, we even added quick queries, so it’s even easier to define and evaluate existing functions or write a brand new one. The possibilities are endless DAX UDFs open a whole new spectrum of options, and this blog cannot do it justice. We encourage you to enable the preview today and try it out for yourself. Read more in the Power BI DAX User Data Functions documentation. Please let us know what you think. We are looking forward to seeing all the creative uses of UDFs! Refresh data or schema options in Power BI Desktop When you select ‘Refresh’ in Power BI Desktop, it always performs a schema sync first, followed by a data refresh. While this behavior is convenient in most cases, there are scenarios where you may want to refresh the data without updating the model schema, even if the data source has changed its schema. For example, in Direct Lake semantic models, the underlying Lakehouse table might have changed (e.g., a new column added). You may want the latest data but prefer not to bring new columns into the model. With this month's update, you now have more control over the refresh operation. You can choose to: Sync schema only – Updates the semantic model to reflect the data source structure (e.g., column type changes or new columns). Refresh data only – Loads fresh data while preserving the current schema in your semantic model. These options are also available when you refresh tables individually in the data pane: This added flexibility helps you manage your models refresh operations more intentionally, based on your specific needs. For more information about Power BI Desktop refresh, refer to the Data refresh in Power BI documentation. Power BI content shared in Teams now opens in a separate window In this month's update, when you open a Power BI item which was shared with you in Teams chat or channel, it now opens in separate window—so your chat and other Teams apps stay exactly where you left them. Previously, opening an item from a Power BI preview card would replace your Teams chat, making multitasking difficult. With this update, items shared in a chat open in a separate window, while your original chat remains visible in a collapsible side panel. You are now able to access data, maintain ongoing conversations, and utilize additional Teams applications simultaneously. Figure - A user selects 'Open' on a Power BI report preview card within a Teams chat. The report launches in a separate Teams window, while the original chat remains accessible in a collapsible side pane. To learn more about Power BI preview cards in Teams, refer to the Link preview cards in Microsoft Teams chats and channels documentation. Mobile NFC tag support in Power BI Mobile (Generally Available) Imagine being able to access your important data just by tapping your device on a small tag. That’s the power of NFC (Near Field Communication) tags. NFC Tag Support is now generally available in the Power BI Mobile app on supported devices! This feature allows you to register and read Power BI items such as reports, scorecards, dashboards, or even a set of items like an app or workspace on NFC tags directly from the app. With NFC you can create a seamless connection between your data and the physical world. For example, a retail manager could quickly access inventory data by tapping their phone on an NFC tag placed on a storage shelf. This feature is especially useful for frontline workers who need quick access to data while managing retail floors, inventory, or manufacturing processes. Getting started is easy: open the Power BI Mobile app, navigate to the item you want to register, press the Register to NFC button in the 3 dots menu, and follow the prompts to link it to an NFC tag. Once you’ve registered your desired item to the tag, anyone with the Power BI Mobile app can get to the item simply by tapping the tag with their device, whether the app is open or not. If the user doesn’t have permission to access the item, they’ll be taken to the request access flow. NFC tags are affordable, flexible, durable, and reliable, and can easily be reused. To learn more about NFC support in Power BI mobile, refer to the Connect data to physical locations with NFC tags documentation. Other New Tenant Setting for Set alert button visibility A new tenant setting, all Power BI users can see ‘Set alert’ button to create Fabric Activator alerts, is rolling out this week. This setting will give admins more control over which users can view the Set alert button, which allows users to create Fabric Activator alerts on their visuals, sending real-time notifications based on predefined data conditions. When enabled, all Power BI users will see the ‘Set alert’ button in reports. When the setting is turned off, the button will only be visible to users with tenant-level Fabric access, which was the group of users who could see the button prior to this change. Regardless of whether the setting is turned on or off, only users with permission to create Fabric items can set up Fabric Activator alerts. The benefit of turning this setting on is that it allows users for whom Fabric was enabled for only specific capacities to also set alerts, unlocking the power of real-time alerting for more Power BI users. This setting is currently disabled and will be turned on by default the week of October 13th. Visualizations ADWISE Advanced Column v 2.0 Advanced Column is easy to use column chart for comparing one or more values with clearly interpretable difference lines. It is best suited for comparison of values between time periods, categories or quantities. This visual presents the following features: Chart types - stacked, clustered and nested/chimney charts in one visual. Difference lines – lines to clearly show difference above compared columns with values in specific shapes, all configurable (percentage/absolute difference, colors, borders, rounded corners, lines share starts/ends). Top N selection Built in – Easily display key data by selecting the Top N columns or Top N segments within each column + the "rest" part of the data. Total Column - It is not necessary to display separate KPIs for totals, as the Total column is already included in the chart. User controls – Enable/disable viewer change of Top selections (how many to show, highest/lowest) and Total Column calculation. Enable and Add Icons – Icons make charts easier to read by visually representing column categories, you can add icons directly in the visual using the built-in icon picker. And other formatting - Axis Y break, thousand and decimal separator, interaction with other visuals, empty data screen, animations, gradient background, shadows, transparency. Try from AppSource. Zebra BI Tables: Calculated Reports in One Click and Brand Images The latest update to Zebra BI Tables introduces two powerful features that streamline report building and enhance data storytelling: row calculations from the data model and brand images in rows. Check out the demo video: Zebra BI May 2025 Update: One Click P&L and Brand Logos in Zebra BI Tables With the new zero-click reporting functionality, users can now define calculation logic (such as invert, result, skip) directly in the Power BI data model. Simply add a column to your dataset, define the logic with symbols (“=” (Result), “/” (Skip), “-” (Invert)), and with a single drag and drop add it to Zebra BI Tables. The column values will automatically be applied as calculations on the visual, eliminating the need for additional manual setup. It makes the creation of reports like P&Ls, balance sheets, inventory tracking, SaaS metrics, or sales dashboards dramatically faster and more accurate. Zebra BI Tables now also supports adding brand images instead of row labels. Especially valuable for consumer goods and retail companies, this feature makes reports more intuitive and engaging. By instantly recognizing brand logos, end users grasp insights faster and spend less time searching for context. These updates contribute to: Massive time savings. Error reduction. Standardized reporting across teams. Simplify your reporting with Zebra BI Tables and share your feedback. Word Cloud by Powerviz The new Word Cloud by Powerviz is available, an advanced visual which empowers you to create some of the most high-quality and creative word art in the Power BI. Key Features: Word Styling: Make your word clouds pop with personalized text styles. It offers font styling, direction & text editing features. Color Options: Choose from 30+ color palettes, including color-blind safe options. Shapes: Create eye-catching word clouds by selecting or uploading images. Exclude: Easily remove unnecessary words and symbols from the text to produce a clean and focused word cloud. Ranking: Filter out Top/Bottom N Words. Conditional Formatting: Easily spot words with dynamic rules. Lasso/Reverse Lasso: Select or deselect multiple words with ease. Grid View: Switch to an interactive table with sort, filter, and search features. Show Condition: Dynamically show or hide the visual based on conditions. Ideal for marketing, education, market research, and presentations—use it for sentiment analysis, SEO keywords, brainstorming, surveys, and engaging communication. Try Word Cloud visual for FREE from AppSource Check out all features of the visual: Demo_file Step-by-step instructions: Documentation YouTube Video: Video_Link Learn more about visuals: https://powerviz.ai/ Follow Powerviz: https://lnkd.in/gN_9Sa6U Drill Down Combo Bar PRO by ZoomCharts What makes Drill Down Combo Bar PRO the best custom visual for visualizing categorical data? It’s all about the drill downs – in Combo Bar PRO, you can create a hierarchy of up to nine category fields, and users can easily drill down by clicking directly on data. Deeper, more focused insights, but only when the user needs them. The visual is designed to provide top-notch user experience: the slick and intuitive on-chart interactions, the smooth animations, the seamless cross-filtering with other visuals, and full touch support all make Combo Bar PRO a crucial addition to your next report. And the best part? Combo Bar PRO supports up to 25 series, and each series can be visualized as bars, lines or areas. With a wide variety of customization options, you can create the perfect chart for your use case. We also recently published a guide on how to create different types of stacked charts with Combo & Combo Bar PRO, including stacked bar, stacked & clustered bar, bar & line, nested bar chart and more. For a more details, refer to our blog - Power BI Stacked Column Charts: A Full Guide! Get Drill Down Combo Bar PRO CAGR Arrows Now in Zebra BI Charts Compare multi-year trends across business units, products, or regions — instantly. The Compound Annual Growth Rate (CAGR) is a critical metric for visualizing growth trends in financial analysis, strategic planning, and performance comparison. Now available in Zebra BI Charts for Power BI, CAGR arrows make it easier than ever to communicate multi-year trends directly within your reports. They are especially useful in dashboards that track long-term results, helping users highlight growth patterns and shifts over time. When used in small multiples, CAGR arrows allow immediate comparison of performance across regions, product lines, or business units — all while maintaining a shared Y-axis for IBCS-compliant reporting. Each CAGR label includes a color-coded action dot — green for growth, red for negative — with the size scaled to reflect magnitude, offering an intuitive visual cue for trend strength. To simplify reporting even further, Zebra BI Charts automatically calculates the CAGR based on your underlying data. CAGR provides a smoothed view of performance over time, helping teams refine growth targets, align KPIs, and deliver executive ready insights with clarity and impact. To learn more, refer to Introducing CAGR arrows in Zebra BI Charts. Closing This concludes this month’s update. We hope the information provided in this update is useful. If you installed Power BI Desktop from the Microsoft Store, please leave us a review. As always, keep voting on Ideas to help us determine what to build next. We are looking forward to hearing from you!19KViews0likes0CommentsDeep dive into DAX query view with Copilot
Boost your productivity in DAX query view with Copilot to write and explain DAX queries. At Build in 2023, Christian and I showed an exciting vision demo of DAX query view and writing DAX queries with Copilot. In November 2023, the public preview of DAX query view released with native tooling for the powerful DAX queries. And now using DAX queries is even easier with the much-anticipated public preview of writing and explaining DAX queries in DAX query view with Copilot! Let’s see how Copilot can help. Type in what you would like in a DAX query and Copilot can write it for you. Such as simply showing sales by country or even all measures by a specific column, such as product. Comments are automatically added to explain each part of the generated DAX query as well as noting it was generated with Copilot with the user prompt. Adjust an existing DAX query with Copilot. Add additional group by columns or otherwise adjust a DAX query already written. The bonus of this approach is you will see all changes made by Copilot with an inline diff editor, so you know exactly what was added, removed, or updated. Create new measures with Copilot. DAX queries include the syntax to define a measure, and in a DAX query this measure can be Run without modifying the semantic model. So, you can create measures and try them out. Then finally, in DAX query view you can use the CodeLens to “Update the model” if you would like to modify the semantic model by adding the measure from the DAX query. Find out more about DAX functions or topics while you are in DAX query view with Copilot. This explanation will try and give you an example using your semantic model: staying in context of where you are working. No longer do you have to go to a search engine to find the answer using some other model as an example! Explain a DAX query already written with Copilot. Have Copilot explain step by step what is happening in the DAX query you are looking at. Your very own helper right where you need it! Let’s see it in action. To follow along, use the Power BI Regional Sales sample available at https://learn.microsoft.com/power-bi/create-reports/sample-regional-sales. The first thing I did after downloading the PBIX was to remove the relative month filter in the Filter pane to see data in the report. Type in what you would like in a DAX queries and Copilot can write it for you. Here I want to explore the Product Categories a bit, so I am going to ask to see them with “Show me all product categories”. Go to DAX query view in Power BI Desktop Invoke Copilot: CTRL + I, clicking the Copilot button in the ribbon, or the Copilot button next to the line number. Type in “Show me all product categories” Send it by hitting Enter key or clicking the send button to the right of the textbox. It will then change to a loading screen. The DAX query will be generated! You cannot Run this query just yet, and in a future update the Run button will be disabled while Copilot is active. Click Keep it, and then you can Run the query to see the results. That’s great! Now, using the Data pane / Model Explorer, I can see a bunch of measures already created in the model. Let’s see what those all look like by the Product Categories. Adjust an existing DAX query with Copilot. I select the DAX query, and again invoke Copilot. This time I use “Evaluate all the measures in this model by Product Category”. And just like that Copilot has added in all 15 measures in this model to my DAX query! I even get a diff view to show me what Copilot has altered in the original DAX query. Again, I click Keep it, and Run the query to see the results. This has saved me a lot of time. Before I could only see that if I went to report view and created a visual, dragging and dropping all the fields, or typed it all out by hand in DAX query view. Now let’s create new measures with Copilot. DAX queries support the ability to create measures without having to add them to the model. This useful way of creating measures means I can test it before adding to the model and I can also author multiple measures at once. For now, let’s create just one additional measure with Copilot’s help. I want to analyze the Revenue Won by Category further by adding in a % of total. I go to a new query tab and invoke Copilot (CTRL+I or the Copilot button in the editor or ribbon). This time I use “create a measure for % of total revenue won and show it by product category with the revenue won” The DAX query is generated this time with a DEFINE block for the measure I wanted to create! I again click Keep it and Run my query to see the results. In DAX query view when a measure is defined in a DAX query that is not already in the model, there is a CodeLens option to Update the model by adding the new measure, which you can see there between lines 3 and 4. Right in context of what I am doing I have the tools I need to get the job done. Speaking of being in context, I can find out more about DAX functions or topics while I am in DAX query view with Copilot. The query just generated used the ALL function. Let’s see if Copilot can tell me a bit more about it. Again, I select the DAX query just created and invoke Copilot (CTRL + I). This time I ask, “Tell me more about the ALL DAX function”. Now I get back detailed explanation of the ALL DAX function, and how it’s used in the DAX query just generated! And now I understand more about the DAX functions where I am using them and in context of the model I am using them in. I can stay focused on my work without getting distracted by different websites or videos to explain it further, and I don’t have to reach out to my friend who can explain it to me. And speaking of that friend who could explain the DAX function to me, maybe they wrote a DAX query earlier and now I don’t quite remember what they said it did. Now I get into my last example: explain a DAX query already written with Copilot. I have a DAX query already written on a DAX query tab. For this example, I did the Quick query > Show top 100 rows on the Territories table. I select the DAX query, invoke Copilot (CTRL + I) and use the prompt “What is this DAX query doing?”. And I get a detailed explanation of the DAX query, and each of the parts in an easy-to-read format. Again, I am still in context of what I am doing, and in context of the model I am working with. I can keep going right where I left off after getting my answer. This feature should already be enabled in the latest Power BI Desktop version (March 2024 or later), but it can be turned on and off in File > Settings and Options > Options > Preview features section. Some things to be aware of while using DAX query view Copilot. During public preview we will be making changes and updating the functionality and UI so these examples may return different results for you. We are also parsing the DAX query returned by Copilot and performing one retry if the syntax is incorrect. In the uncommon scenario that the retry also fails a parser check, we will still return the DAX query but note that there is an issue. You can type in a new prompt or adjust the DAX query if you can see what is causing the issue. As stated above, currently the Run doesn’t work until you are finished with the inline Copilot, so in a future update the Run button will be disabled while Copilot is active. A final limitation we are also working on is that the inline Copilot is not aware of the previous prompt before you click Keep it. For example, if you ask it to create a DAX query to show “Sales by Year” then it generates the DAX query, you cannot simply type in “Add in product” to adjust it further. For now, you will have to click Keep it, select the generated DAX query, invoke Copilot again, and then “Add in product” will work as expected. So, try it out today! Share your feedback and check out additional resources available below. Share feedback at https://forms.office.com/r/AeLsLNX8Qy or at https://community.fabric.microsoft.com/t5/Desktop/Share-your-thoughts-on-DAX-query-view-and-Copilot-to-write-and/m-p/3793225 Learn more about DAX query view Copilot at https://learn.microsoft.com/dax/dax-copilot Learn more about DAX query view at https://learn.microsoft.com/power-bi/transform-model/dax-query-view Learn more about Fabric Copilot at https://learn.microsoft.com/fabric/get-started/copilot-fabric-overview Learn more about Fabric Copilot in Power BI at https://learn.microsoft.com/power-bi/create-reports/copilot-introduction Learn more about DAX queries at https://aka.ms/dax-queries Watch Carly and Guy in a Cube demonstrate DAX query view with Copilot at https://www.youtube.com/watch?v=0kE3TE34oLM4.1KViews0likes0CommentsDeep dive into DAX query view for web
We are excited to announce you can now write DAX queries with DAX query view for web from published semantic models in the workspace. In Power BI, DAX formulas are used to define different types of calculations such as measures or calculated columns. DAX queries, on the other hand, can be used to return data from the semantic model. DAX queries are like SQL queries in that they can show your data by specified group by columns and aggregations. For DAX queries, this includes the measures already defined in your model and you can define additional query scoped measures, if needed. To write DAX queries in DAX query view in the web, there is a workspace setting that needs to be enabled and there are two entry points. DAX query view in the web needs the User can edit data models in the Power BI service (preview) turned on. This is found in Workspace settings > Power BI > General. DAX query view does allow some paths to update or add measures. Click on Write DAX queries from the right-click, or context menu, on a semantic model in the workspace. Click on Write DAX queries from the top to the semantic model details page. And now you can write DAX queries using the DAX query view in the web. DAX query view is already available in Power BI Desktop, and most of the features are the same for web, with a few differences. DAX queries are discarded on close. DAX queries in Power BI Desktop are saved to the model and a semantic model may have DAX queries already saved in the model. DAX query view in the web currently will not display any previously saved DAX queries that may exist in the semantic model, and queries created in the web are not kept after you close the browser. Write DAX queries requires write permission on the semantic model. Workspace viewers will not be able to write DAX queries using this web experience in this milestone. Future updates will allow viewers to write DAX queries, but for now they will still have to use Power BI Desktop with live connection to the semantic model. DAX query view in web can be used on semantic models in import, DirectQuery, and Direct Lake mode. Microsoft Fabric customers already taking advantage of the new Direct Lake mode for Power BI now have the new measure editing capabilities of DAX query view available them through this web experience. Here is an example of using DAX query view in the web to add measures to a semantic model in Direct Lake mode. This example with work with Power BI semantic model in import or DirectQuery storage modes too. This demo semantic model has one billion (1,000,000,000) orders in the Sales fact table, one for each row. I already have a measure called Avg Profit Per Order which I can use the Quick queries in the context menu to Define with references and evaluate to see not only this measures DAX formula, but also the measures referenced in this measure with their DAX formulas. DAX query view converts these model measures to query scoped measures, and I can not only see all 5 of these measures used to calculate Avg Profit Per Order, but I can also make changes. These changes can be seen when I Run the DAX query but will not impact the existing measures in the model until I am ready to convert them back to model measures. I want to create a new measure to show the Avg Sales Per Order. This will be the same DAX pattern as Avg Profit Per Order so I want to first copy it then modify it to be for Sales. I can use the Command palette to find the shortcut to Copy Line Down to help me with this task. Now I only have to make two updates, one to change the name and the second to update [Profit] to [Sales]. When I am done, I can see this measure does not already exist in the model because of the CodeLens action text that shows between line 6 and 7 prompting me to Update model: Add new measure. I can test out this additional measure by clicking the Run and I see the result is as expected. I can also take the opportunity to improve the readability of all these measures with Format query ribbon button. I am happy with all the changes I have made and now I can use the Update model with changes (6) button to see I have 6 measure expressions that differ from the model expressions and to update them in a single click. After clicking Update model with changes, I can see the new measure in the Model Explorer of the Data pane to the right of the DAX editor. And I can remove the DEFINE block and run the DAX query again to see the results still. Without the DEFINE block I can always see the DAX formula of any measure being used in the query by hovering over it with my curser. When there is a DEFINE block for this measure, it will show both model DAX formula and query DAX formula, if they are different, too. If a measure description is provided, this shows as well. And the Fabric Copilot to help write and explain DAX queries is also available in DAX query view in the web. Learn more about DAX queries, DAX query view, Copilot to write and explain DAX queries, and any other limitations with DAX query view in web with these resources. DAX queries at https://learn.microsoft.com/dax/dax-queries Work with DAX query view at https://learn.microsoft.com/power-bi/transform-model/dax-query-view Deep dive into DAX query view and writing DAX queries at https://powerbi.microsoft.com/blog/deep-dive-into-dax-query-view-and-writing-dax-queries/ Write DAX queries with Copilot at https://learn.microsoft.com/dax/dax-copilot Deep dive into DAX query view with Copilot at https://powerbi.microsoft.com/blog/deep-dive-into-dax-query-view-with-copilot/ Overview of Copilot for Power BI at https://learn.microsoft.com/power-bi/create-reports/copilot-introduction And keep letting us know your feedback with the Share feedback button in DAX query view. All the feedback so far has helped us greatly to keep delivering updates and bug fixes to DAX query view!4.9KViews0likes0CommentsMicrosoft 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 Learn4KViews0likes0CommentsDeep 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.1KViews0likes0Comments