{"id":101707,"date":"2024-03-20T17:00:05","date_gmt":"2024-03-20T17:00:05","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=101707"},"modified":"2026-03-06T13:36:58","modified_gmt":"2026-03-06T13:36:58","slug":"model-optimization-available-in-mdx-property-2","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/model-optimization-available-in-mdx-property-2\/","title":{"rendered":"Power BI Available In MDX: Model Optimization"},"content":{"rendered":"\n<p>Every field in a Power BI semantic model has an &#8220;Available In MDX&#8221; property that builds hierarchies for Excel pivot table compatibility. If users won&#8217;t be adding a field to Excel pivot table rows or columns &#8211; which is true for most numeric keys, IDs, and measures-only fields &#8211; disabling this property reduces model size, memory consumption, and processing time. Use Tabular Editor to toggle the property and DAX Studio to measure the impact before and after.<\/p>\n\n\n\n<p>The benefits are most noticeable in Import mode models. All the examples here use Import mode. On Direct Query or Direct Lake, it&#8217;s more difficult to see the benefits.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-the-power-bi-available-in-mdx-property\">What is the Power BI Available in MDX property?<\/h2>\n\n\n\n<p>The semantic model is managed by an internal analysis service, which is in the core of Power BI services.<\/p>\n\n\n\n<p><strong>Power BI<\/strong> uses <strong>DAX<\/strong>, not <strong>MDX<\/strong>. Because this, it&#8217;s not affected by this property <em>(mostly)<\/em>.&nbsp;Excel, on the other hand, communicates using <strong>MDX<\/strong>.<\/p>\n\n\n\n<p>Excel allows the user to build pivot tables using the data from the semantic model. The user can choose which field will be positioned in columns, rows, or values, such as in the pivot table illustrated bellow.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"460\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/a-screenshot-of-a-spreadsheet-description-automat.png\" alt=\"A screenshot of a spreadsheet\n\nDescription automatically generated\" class=\"wp-image-101708\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Here is the rub: For the field to be used in columns or rows, it needs a hierarchy, and this hierarchy is only built if the property <strong><em>Available in MDX<\/em><\/strong> is enabled.<\/p>\n\n\n\n<p>If we disable this property, the user can&#8217;t add the field in question as column or row in an Excel pivot table.<\/p>\n\n\n\n<p>On the other hand, do you notice how many fields in your semantic model will never be added as columns or rows in an excel pivot table?<\/p>\n\n\n\n<p><strong>Read also:<\/strong><br><a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/bi-sql-server\/using-the-dax-calculate-and-values-functions\/\" target=\"_blank\" rel=\"noreferrer noopener\">DAX CALCULATE and VALUES functions in Power BI<\/a><br><a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/bi-sql-server\/using-calendars-and-dates-in-power-bi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Calendar tables and dates in Power BI<\/a><br><a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/bi-sql-server\/how-to-filter-dax-for-paginated-reports\/\" target=\"_blank\" rel=\"noreferrer noopener\">DAX filtering for paginated reports<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-tools-do-you-need-for-power-bi-available-in-mdx\"><strong>What tools <\/strong>do you need for Power BI Available in MDX?<\/h2>\n\n\n\n<p>We can check how this will affect our model using <strong>DAX Studio.<\/strong><\/p>\n\n\n\n<p>We can change the property value using <strong>Tabular Editor<\/strong><\/p>\n\n\n\n<p>Power BI .Tips portal has <a href=\"https:\/\/powerbi.tips\/2020\/08\/one-tool-to-install-them-all\/\" target=\"_self\" rel=\"noopener\">a tool to install external tools in Power BI<\/a>, it&#8217;s the easiest way to do it. Once installed, the external tools will appear in power bi menu, like the image below<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"128\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/a-screenshot-of-a-computer-description-automatica-11.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" class=\"wp-image-101709\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Once you have tools like DAX Studio and Tabular Editor installed, you can open a model in Power BI and click on the tool. You will use the tool to connect to your model.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-happens-when-you-disable-power-bi-available-in-mdx\">What happens when you disable Power BI Available in MDX?<\/h2>\n\n\n\n<p>Using DAX Studio, you can check the size of your model. After opening DAX Studio, you click on <strong><em>Advanced<\/em><\/strong> menu -&gt; <strong><em>View Metrics<\/em><\/strong> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"297\" height=\"122\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/a-screenshot-of-a-computer-description-automatica-12.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" class=\"wp-image-101710\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>The metrics show information about each table and field in the model, like the image below:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"560\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/a-screenshot-of-a-computer-description-automatica-13.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" class=\"wp-image-101711\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>On our example, let&#8217;s use Tabular Editor to disable the Available in MDX property on the following tables and fields:<\/p>\n\n\n\n<p>Table City:<\/p>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li>WWICityID<\/li>\n\n\n\n<li>CityKey<\/li>\n\n\n\n<li>Location<\/li>\n\n\n\n<li>LastRecordedPopulation<\/li>\n<\/ul>\n<\/div>\n\n\n<p>Table Fact_Sale:<\/p>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li>SaleKey<\/li>\n<\/ul>\n<\/div>\n\n\n<p>Once we open the model in Tabular Editor, we will be able to navigate through the model, like the image below:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"433\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/a-screenshot-of-a-computer-description-automatica-14.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" class=\"wp-image-101712\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>We select the fields which we would like to change and modify the property in the properties window.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"264\" height=\"131\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/a-screenshot-of-a-computer-description-automatica-15.png\" alt=\"A screenshot of a computer\n\nDescription automatically generated\" class=\"wp-image-101713\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>After disabling the property, we can check the metrics in DAX Studio again.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"905\" height=\"550\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/a-screenshot-of-a-data-analysis-description-autom.png\" alt=\"A screenshot of a data analysis\n\nDescription automatically generated\" class=\"wp-image-101714\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-pbix-file-size\">PBIX File Size<\/h2>\n\n\n\n<p>Our example uses Import mode, making it easy to notice the impact on the PBIX file size. Of course, it&#8217;s not only a matter of size, but memory consumption on Power BI service and processing.<\/p>\n\n\n\n<p>File size before the property changes:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"75\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/word-image-101707-8.png\" alt=\"\" class=\"wp-image-101715\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>File size after the property changes:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"67\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2024\/03\/word-image-101707-9.png\" alt=\"\" class=\"wp-image-101716\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<section id=\"faq\" class=\"faq-block my-5xl\">\n    <h2>FAQs: Model Optimization: Available in MDX Property<\/h2>\n\n                        <h3 class=\"mt-4xl\">1. What is the Available In MDX property in Power BI?<\/h3>\n            <div class=\"faq-answer\">\n                <p>Available In MDX is a property on every field in a Power BI semantic model that controls whether Analysis Services builds a hierarchy for that field. The hierarchy is needed for Excel pivot table row\/column placement. Since Power BI uses DAX (not MDX), this property mostly affects Excel users connecting to your model.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">2. How do you disable Available In MDX?<\/h3>\n            <div class=\"faq-answer\">\n                <p>Use Tabular Editor, which is an external tool for Power BI. Open your model in Tabular Editor, navigate to the fields you want to modify, and set the &#8220;Available In MDX&#8221; property to False in the properties window. Save the model and republish to apply the changes.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">3. How much does disabling Available In MDX reduce model size?<\/h3>\n            <div class=\"faq-answer\">\n                <p>The reduction depends on the number of fields and their cardinality. Fields with high cardinality (many unique values) like IDs and keys produce larger hierarchies &#8211; disabling Available In MDX on these fields yields the biggest savings. Use DAX Studio&#8217;s View Metrics to measure model size before and after changes.<\/p>\n            <\/div>\n            <\/section>\n","protected":false},"excerpt":{"rendered":"<p>Optimize Power BI semantic models by disabling the Available In MDX property on unused fields. Reduce PBIX file size, memory consumption, and processing time using Tabular Editor.&hellip;<\/p>\n","protected":false},"author":50808,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,159166],"tags":[159067,101611,145825],"coauthors":[6810],"class_list":["post-101707","post","type-post","status-publish","format-standard","hentry","category-blogs","category-powerbi","tag-mdx","tag-power-bi","tag-tabular-editor"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/101707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/50808"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=101707"}],"version-history":[{"count":7,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/101707\/revisions"}],"predecessor-version":[{"id":109007,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/101707\/revisions\/109007"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=101707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=101707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=101707"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=101707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}