<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic DAX Performance Testing in Notebook Gallery</title>
    <link>https://community.fabric.microsoft.com/t5/Notebook-Gallery/DAX-Performance-Testing/m-p/4784750#M23</link>
    <description>&lt;H2&gt;&lt;STRONG&gt;&lt;A href="https://github.com/microsoft/fabric-toolbox/blob/main/tools/DAXPerformanceTesting/DAXPerformanceTesting.ipynb" target="_self"&gt;Link to the notebook&lt;/A&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/H2&gt;&lt;H2&gt;&lt;STRONG&gt;&lt;BR /&gt;Overview of the Notebook&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;This notebook takes an Excel file with DAX queries, runs them under cold, warm, and hot cache states, and logs the results in a Lakehouse table.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Key Features:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Model Definitions&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;The definitions for models to be tested are stored in a dictionary, specifying storage mode, workspace, and cache states to test.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Query Input&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Queries are pulled from an Excel file in your Lakehouse. Each query needs an ID and at least one column that matches the runQueryType in the model definition.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Different Cache States&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Cold Cache&lt;/STRONG&gt;: Clears all cache. For Import/Direct Query, this involves pausing capacity, reassigning workspaces, and clearing VertiPaq cache. For DirectLake, it triggers a dataset clearValues refresh and then a full refresh. For Direct Query, the way cold-cache is set assumes that your data store is in a Fabric workspace, e.g., Lakehouse, Warehouse, etc.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Warm Cache&lt;/STRONG&gt;: Partial caching. For Direct Query, we set cold-cache first, then run a query to “prime” the model. For Import and Direct Lake, we ensure all columns are framed by running the target query, then we clear the Vertipaq cache.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Hot Cache&lt;/STRONG&gt;: Runs the query twice before measuring the third time to ensure columns are framed and all caches are set.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Capacity Pause/Resume&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;**Warning**&lt;/STRONG&gt;: Pausing a capacity will interrupt any running workloads on that capacity. Resuming will take time and resources, and can affect other workspaces assigned to the same capacity.&lt;/LI&gt;&lt;LI&gt;For cold-cache queries on Import and DirectQuery models, the notebook pauses and resumes capacities to ensure truly cold-cache testing. Configure your workspace capacities in the config cell if using this feature.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Logging to Lakehouse&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Query logs are captured using an Analysis Services trace and stored in your attached Lakehouse. This includes duration, CPU time, and success/failure status.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="msgUrl hidden"&gt;https%3A%2F%2Fgithub.com%2Fmicrosoft%2Ffabric-toolbox%2Fblob%2Fmain%2Ftools%2FDAXPerformanceTesting%2FDAXPerformanceTesting.ipynb&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 01 Aug 2025 17:43:34 GMT</pubDate>
    <dc:creator>justinmartin</dc:creator>
    <dc:date>2025-08-01T17:43:34Z</dc:date>
    <item>
      <title>DAX Performance Testing</title>
      <link>https://community.fabric.microsoft.com/t5/Notebook-Gallery/DAX-Performance-Testing/m-p/4784750#M23</link>
      <description>&lt;H2&gt;&lt;STRONG&gt;&lt;A href="https://github.com/microsoft/fabric-toolbox/blob/main/tools/DAXPerformanceTesting/DAXPerformanceTesting.ipynb" target="_self"&gt;Link to the notebook&lt;/A&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/H2&gt;&lt;H2&gt;&lt;STRONG&gt;&lt;BR /&gt;Overview of the Notebook&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;This notebook takes an Excel file with DAX queries, runs them under cold, warm, and hot cache states, and logs the results in a Lakehouse table.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Key Features:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;Model Definitions&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;The definitions for models to be tested are stored in a dictionary, specifying storage mode, workspace, and cache states to test.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Query Input&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Queries are pulled from an Excel file in your Lakehouse. Each query needs an ID and at least one column that matches the runQueryType in the model definition.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Different Cache States&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Cold Cache&lt;/STRONG&gt;: Clears all cache. For Import/Direct Query, this involves pausing capacity, reassigning workspaces, and clearing VertiPaq cache. For DirectLake, it triggers a dataset clearValues refresh and then a full refresh. For Direct Query, the way cold-cache is set assumes that your data store is in a Fabric workspace, e.g., Lakehouse, Warehouse, etc.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Warm Cache&lt;/STRONG&gt;: Partial caching. For Direct Query, we set cold-cache first, then run a query to “prime” the model. For Import and Direct Lake, we ensure all columns are framed by running the target query, then we clear the Vertipaq cache.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Hot Cache&lt;/STRONG&gt;: Runs the query twice before measuring the third time to ensure columns are framed and all caches are set.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Capacity Pause/Resume&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;**Warning**&lt;/STRONG&gt;: Pausing a capacity will interrupt any running workloads on that capacity. Resuming will take time and resources, and can affect other workspaces assigned to the same capacity.&lt;/LI&gt;&lt;LI&gt;For cold-cache queries on Import and DirectQuery models, the notebook pauses and resumes capacities to ensure truly cold-cache testing. Configure your workspace capacities in the config cell if using this feature.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Logging to Lakehouse&lt;/STRONG&gt;&lt;UL&gt;&lt;LI&gt;Query logs are captured using an Analysis Services trace and stored in your attached Lakehouse. This includes duration, CPU time, and success/failure status.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="msgUrl hidden"&gt;https%3A%2F%2Fgithub.com%2Fmicrosoft%2Ffabric-toolbox%2Fblob%2Fmain%2Ftools%2FDAXPerformanceTesting%2FDAXPerformanceTesting.ipynb&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Aug 2025 17:43:34 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Notebook-Gallery/DAX-Performance-Testing/m-p/4784750#M23</guid>
      <dc:creator>justinmartin</dc:creator>
      <dc:date>2025-08-01T17:43:34Z</dc:date>
    </item>
  </channel>
</rss>

