<?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 Re: DAX Calculated Column with &amp;quot;variable tables&amp;quot; as variables. in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729087#M181151</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="380515" data-lia-user-login="JavierLopezFALP" class="lia-mention lia-mention-user"&gt;JavierLopezFALP&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The variable &lt;CODE&gt;table&lt;/CODE&gt; is the source of the error, since&amp;nbsp;&lt;CODE&gt;IF&lt;/CODE&gt; must always return a scalar value.&lt;/P&gt;
&lt;P&gt;In the below expression, the 2nd and 3rd arguments are table rather than scalar values:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;var table = if(countrows(table2) &amp;lt; 1, table1, table2)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One way around this is to rewrite as follows:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;column =
--[state] can adopt values 1 to 5, and there are blank values. 
VAR table1 = FILTER ( RELATEDTABLE ( table2 ), NOT ( ISBLANK ( [state] ) ) )
VAR table2 = FILTER ( RELATEDTABLE ( table2 ), [state] IN { 1, 2 } )
VAR selectTable1 = COUNTROWS ( table2 ) &amp;lt; 1
VAR table =
    UNION ( FILTER ( table1, selectTable1 ), FILTER ( table2, NOT selectTable1 ) )
...&lt;/LI-CODE&gt;
&lt;P&gt;Does this work as intended?&lt;/P&gt;</description>
    <pubDate>Wed, 11 Jun 2025 18:16:58 GMT</pubDate>
    <dc:creator>OwenAuger</dc:creator>
    <dc:date>2025-06-11T18:16:58Z</dc:date>
    <item>
      <title>DAX Calculated Column with "variable tables" as variables.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729020#M181149</link>
      <description>&lt;P&gt;Greetings&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm attempting to create a calculated column that brings out a result based on the rowscount form another table. The relation is ONLY the id of each individual. The following illustrates the relationship between 2 appointment tables, each of a diferente service.&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Basically, if a person with an appointment on the left table has an apointment on the right table (along some other variables related to dates and service details), the result is either YES or NO, depending on whether the rowcount of a &lt;STRONG&gt;variable,&lt;/STRONG&gt;&amp;nbsp;&lt;STRONG&gt;filtered AND related table&lt;/STRONG&gt; is more than 0, or not.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;column = 
--[state] can adopt values 1 to 5, and there are blank values. 

var table1 = filter(relatedtable(table2), not(isblank([state])))
var table2 = filter(relatedtable(table2), [state] in {1, 2})
var table = if(countrows(table2) &amp;lt; 1, table1, table2)

var conditioned_tableA =
filter
(table, ## additional conditions related to date and other variables.##)

var countB = countrows(conditioned_tableA)

var conditioned_tableB =
filter
(table, ## different conditons from A ##)

var countB = countrows(conditioned_tableB)

return

switch
(   true()
   , countA &amp;gt; 0, "YES"
   , countB &amp;gt; 0, "NO"
   , "YES"
)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I'm getting the error&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;the expression refers to multiple columns. multiple columns cannot be converted to a scalar value&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Of course, I&amp;nbsp;&lt;STRONG&gt;know&lt;/STRONG&gt; that I can't treat a table as a single value, or viceversa. But that is not what I want. The basis&amp;nbsp;&lt;STRONG&gt;table&lt;/STRONG&gt;&amp;nbsp;can either be &lt;STRONG&gt;table1&lt;/STRONG&gt; or &lt;STRONG&gt;table2&lt;/STRONG&gt; depending on wether table2 holds any records. But my end result still is just the count of rows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;¿Any ideas?&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jun 2025 16:54:09 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729020#M181149</guid>
      <dc:creator>JavierLopezFALP</dc:creator>
      <dc:date>2025-06-11T16:54:09Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Calculated Column with "variable tables" as variables.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729087#M181151</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="380515" data-lia-user-login="JavierLopezFALP" class="lia-mention lia-mention-user"&gt;JavierLopezFALP&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The variable &lt;CODE&gt;table&lt;/CODE&gt; is the source of the error, since&amp;nbsp;&lt;CODE&gt;IF&lt;/CODE&gt; must always return a scalar value.&lt;/P&gt;
&lt;P&gt;In the below expression, the 2nd and 3rd arguments are table rather than scalar values:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;var table = if(countrows(table2) &amp;lt; 1, table1, table2)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One way around this is to rewrite as follows:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;column =
--[state] can adopt values 1 to 5, and there are blank values. 
VAR table1 = FILTER ( RELATEDTABLE ( table2 ), NOT ( ISBLANK ( [state] ) ) )
VAR table2 = FILTER ( RELATEDTABLE ( table2 ), [state] IN { 1, 2 } )
VAR selectTable1 = COUNTROWS ( table2 ) &amp;lt; 1
VAR table =
    UNION ( FILTER ( table1, selectTable1 ), FILTER ( table2, NOT selectTable1 ) )
...&lt;/LI-CODE&gt;
&lt;P&gt;Does this work as intended?&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jun 2025 18:16:58 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729087#M181151</guid>
      <dc:creator>OwenAuger</dc:creator>
      <dc:date>2025-06-11T18:16:58Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Calculated Column with "variable tables" as variables.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729143#M181153</link>
      <description>&lt;P&gt;let's review the logic.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;VAR table1 = FILTER ( RELATEDTABLE ( APP2 ), NOT ( ISBLANK ( [state] ) ) )
VAR table2 = FILTER ( RELATEDTABLE ( APP2 ), [state] IN { 1, 2 } )

VAR selectTable1 = COUNTROWS ( table2 ) &amp;lt; 1 || isblank(countrows(table2))

VAR table =
UNION ( FILTER ( table1, selectTable1 ), FILTER ( table2, NOT selectTable1 ) )&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I renamed the table2 within the first line's parenthesis as APP2, so as to no confuse with the table2 for the formula&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To recapitulate, I created a calculated column in APP1. And this columns returns the answer to the question: does any appointment in APP1 overlap with at least 1 appointment on APP2, in tandem with plenty other conditions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, I added to selectTable the case where the result of the countrows is blank(). Not sure if there is any difference, but better safe than sorry.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I'm understanding right, &lt;STRONG&gt;var table&lt;/STRONG&gt; combines 2 mutulaly excluding tables, thanks to selectTable1.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;if table2 is empty, table1 could still hold some records, as long as [state] has non blank values&lt;/LI&gt;&lt;LI&gt;but by filtering table1 with selectTable1, in the case table2 HAS records, &lt;STRONG&gt;filtered&amp;nbsp;table1&lt;/STRONG&gt; becomes empty&lt;/LI&gt;&lt;LI&gt;Therefore, the final table is either one that has&amp;nbsp;&lt;STRONG&gt;only 1 and 2 for [state] &lt;/STRONG&gt;(table2) or&amp;nbsp;&lt;STRONG&gt;3 to 5 &lt;/STRONG&gt;(filtered table1), even if&amp;nbsp;&lt;STRONG&gt;unfiltered table1&lt;/STRONG&gt; usually hold values &lt;STRONG&gt;1 to 5&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;That should be the logic, ¿right?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jun 2025 19:43:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729143#M181153</guid>
      <dc:creator>JavierLopezFALP</dc:creator>
      <dc:date>2025-06-11T19:43:26Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Calculated Column with "variable tables" as variables.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729175#M181157</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="380515" data-lia-user-login="JavierLopezFALP" class="lia-mention lia-mention-user"&gt;JavierLopezFALP&lt;/a&gt;&amp;nbsp;please try this calculated column&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;HasRelevantAppointment&amp;nbsp; =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;HasState1Or2&lt;/SPAN&gt;&lt;SPAN&gt; =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;COUNTROWS&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;FILTER&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;RELATEDTABLE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Appointments_ServiceB&lt;/SPAN&gt;&lt;SPAN&gt;),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;[State]&lt;/SPAN&gt; &lt;SPAN&gt;IN&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ) &amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;FilteredRows&lt;/SPAN&gt;&lt;SPAN&gt; =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;FILTER&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;RELATEDTABLE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Appointments_ServiceB&lt;/SPAN&gt;&lt;SPAN&gt;),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;IF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;HasState1Or2&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;[State]&lt;/SPAN&gt; &lt;SPAN&gt;IN&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;}, &lt;/SPAN&gt;&lt;SPAN&gt;NOT&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;ISBLANK&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;[State]&lt;/SPAN&gt;&lt;SPAN&gt;)))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;ValidRows&lt;/SPAN&gt;&lt;SPAN&gt; =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;FILTER&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;FilteredRows&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;[Date]&lt;/SPAN&gt;&lt;SPAN&gt; &amp;gt;= &lt;/SPAN&gt;&lt;SPAN&gt;DATE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2024&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;) &amp;amp;&amp;amp; &lt;/SPAN&gt;&lt;SPAN&gt;[Date]&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt; &lt;/SPAN&gt;&lt;SPAN&gt;DATE&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;2024&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;RETURN&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;IF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;COUNTROWS&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;ValidRows&lt;/SPAN&gt;&lt;SPAN&gt;) &amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"YES"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"NO"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 11 Jun 2025 20:19:24 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729175#M181157</guid>
      <dc:creator>techies</dc:creator>
      <dc:date>2025-06-11T20:19:24Z</dc:date>
    </item>
    <item>
      <title>Re: DAX Calculated Column with "variable tables" as variables.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729231#M181160</link>
      <description>&lt;P&gt;Yes that's right &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The method I suggested is a general "conditional table" pattern:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;-- Pattern for:
-- IF &amp;lt;condition&amp;gt; THEN table1 ELSE table2
UNION (
    FILTER ( table1, &amp;lt;condition&amp;gt; ),
    FILTER ( table2, NOT &amp;lt;condition&amp;gt; )
)&lt;/LI-CODE&gt;
&lt;P&gt;So the result is equal to &lt;CODE&gt;table1&lt;/CODE&gt; only if &lt;CODE&gt;&amp;lt;condition&amp;gt;&lt;/CODE&gt; is true, otherwise &lt;CODE&gt;table2&lt;/CODE&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jun 2025 22:42:24 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/DAX-Calculated-Column-with-quot-variable-tables-quot-as/m-p/4729231#M181160</guid>
      <dc:creator>OwenAuger</dc:creator>
      <dc:date>2025-06-11T22:42:24Z</dc:date>
    </item>
  </channel>
</rss>

