Announcing XMLA Write support for Direct Lake datasets
Today marks a significant milestone for Direct Lake datasets! We are excited to announce that Direct Lake datasets now support XMLA-Write operations. Now you can use your favorite BI Pro tools and scripts to create and manage Direct Lake datasets.
Whether you prefer SQL Server Management Studio (SSMS), Tabular Editor, DAX Studio, or something else, you can connect to your Direct Lake datasets using XMLA endpoints and perform operations such as deploying, customizing, merging, scripting, debugging, and testing. You can use tools like Azure DevOps or GitHub to implement source control, versioning, and continuous integration for your data models. You can automate and streamline your development and deployment processes. You can also use PowerShell or REST APIs to automate tasks such as refreshing or applying changes to your Direct Lake datasets. XMLA Write is incredibly powerful and the key to data modelling efficiency and productivity. For more information about XMLA Write support in general, check out the article Dataset connectivity with the XMLA endpoint in the product documentation.
To dive deeper into Direct Lake specifics, let’s look at the metadata of a sample dataset. If you don’t have a Direct Lake dataset handy, you can quickly create one on top of a Lakehouse by following the Direct Lake article in the product documentation. Note that XMLA Write operations are not supported with default datasets. You must create a separate Direct Lake dataset, sometimes called standalone or custom dataset.
With a standalone dataset in place, connect to its workspace by using SSMS, right-click on the dataset, then point to Script, then Script Database as, then Create To, and then click on New Query Editor Window, as the following screenshot suggests. As a side note, make sure you have SSMS 19.1 (or later) installed on your computer because earlier versions do not support the Direct Lakes-specific metadata elements and will display an error message when you attempt to script out the Direct Lake model. Similarly, if you are using a different XMLA-based tool, make sure you are on a version that supports Direct Lake.
When you scroll through the metadata of your Direct Lake dataset, you might notice that there is almost no difference to the metadata of any other dataset. Take note of the following Direct Lake-specific elements:
- Compatibility level: The compatibilityLevel property of the database object must be 1604 or higher.
- Partition mode type: The Mode property of Direct Lake partitions is set to directLake. You can see an example in the screenshot below.
- Expression source: Direct Lake partitions rely on shared expressions to define their data sources. In the example below, the shared expression is called DatabaseQuery, which points to the SQL endpoint of a Lakehouse. Direct Lake uses the SQL endpoint to discover the Lakehouse schema but loads the data directly from the delta tables (unless Direct Lake must fallback to DirectQuery mode for any reason).
And that’s pretty much it for this whirlwind tour through the Direct Lake-specific metadata. If you want to take advantage of XMLA-based tools to create Direct Lake datasets on Fabric Trial or Power BI Premium capacities, check out the Enable XMLA read-write section in Learn about Direct Lake in Power BI and Microsoft Fabric. Note that Fabric and Premium capacities have XMLA Read enabled but XMLA Write is disabled by default. You must explicitly enable XMLA Write on your capacities. Also review the section about Known issues and limitations for details about supported metadata and dataset capabilities.
With Direct Lake, you can build very large enterprise BI solutions that deliver blazing fast report performance to your users while at the same time incorporating the latest data changes from the Lakehouse side without having to resort to time- and resource-consuming data refresh cycles. And XMLA Write support unlocks the full suite of professional BI modelling tools, scripts, automation, and custom tools to boost your efficiency and productivity as a BI developer. We hope that XMLA Write support enables you to create and deploy new Direct Lake datasets with ease and efficiency so that you can take advantage of this game-changing new Direct Lake technology. And as always, please provide us with feedback as you try out this feature. We would love to hear from you. And stay tuned for further Direct Lake announcements, as we keep working on Direct Lake mode to support composite models, and calculated columns, and so much more!