<?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: Distinct Column Combinations in Quick Measures Gallery</title>
    <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Distinct-Column-Combinations/m-p/1316815#M596</link>
    <description>&lt;P&gt;For more than 3 values, would you suggest a strategy of concatination, PATH, and PATHLENGTH, instead of MIN and MAX?&lt;/P&gt;</description>
    <pubDate>Sun, 23 Aug 2020 05:36:05 GMT</pubDate>
    <dc:creator>EnglishCJ</dc:creator>
    <dc:date>2020-08-23T05:36:05Z</dc:date>
    <item>
      <title>Distinct Column Combinations</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Distinct-Column-Combinations/m-p/391677#M127</link>
      <description>&lt;P&gt;Suppose you have some data like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; DimKey3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; DimKey4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; DimKey5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; DimKey6&lt;/P&gt;
&lt;TABLE&gt;
&lt;THEAD&gt;&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;7&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;8&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;9&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10&lt;/TD&gt;
&lt;TD&gt;blue&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You wish to find how many unique combinations that you have for just DimKey3, DimKey4 and DimKey5. DimKey6 does not matter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To get the number of distinct rows where order matters:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;mDistinctCombos = 
VAR tmptable1 = SELECTCOLUMNS(DistinctCombos,"key3",[DimKey3],"key4",[DimKey4],"key5",[DimKey5])
VAR tmptable2 = DISTINCT(tmptable1)
VAR distcount = COUNTROWS(tmptable2)
RETURN distcount&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To get the number of distinct rows where order does not matter:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;mDistinctCombosUnique = 
// This measure gets unique keys where order doesn't matter. In other words, red, green, blue is the same as blue, red, green
// Start by getting only the columns we care about
VAR tmptable1 = SELECTCOLUMNS(DistinctCombos,"key3",[DimKey3],"key4",[DimKey4],"key5",[DimKey5])
// Add columns that return the MAX and MIN of all 3 columns for each row
VAR tmptable1a = ADDCOLUMNS(tmptable1,"max",MAX(MAX([key3],[key4]),[key5]),"min",MIN(MIN([key3],[key4]),[key5]))
// Create a single string with all 3 column values and remove the max and min values calculated above, we now have our 3rd value
VAR tmptable1b = ADDCOLUMNS(tmptable1a,"mid",SUBSTITUTE(SUBSTITUTE([key3] &amp;amp; [key4] &amp;amp; [key5],[max],"",1),[min],"",1))
// We have now effectively "sorted" the values in the three columns for each row, so select our new 3 "sorted" columns
VAR tmptable2 = SELECTCOLUMNS(tmptable1b,"max",[max],"min",[min],"mid",[mid])
// Now get the distinct rows in the table
VAR tmptable3 = DISTINCT(tmptable2)
// Count the number of rows
VAR distcount = COUNTROWS(tmptable3)
RETURN distcount&lt;/PRE&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;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="reportid hidden"&gt;eyJrIjoiNzdmMDAwYTgtMGE3MS00ZTk4LTg1ZTctN2M0Y2RlMmZjNTc3IiwidCI6IjRhMDQyNzQzLTM3M2EtNDNkMi04MjdiLTAwM2Y0YzdiYTFlNSIsImMiOjN9&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jun 2018 17:32:30 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Distinct-Column-Combinations/m-p/391677#M127</guid>
      <dc:creator>Greg_Deckler</dc:creator>
      <dc:date>2018-06-27T17:32:30Z</dc:date>
    </item>
    <item>
      <title>Re: Distinct Column Combinations</title>
      <link>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Distinct-Column-Combinations/m-p/1316815#M596</link>
      <description>&lt;P&gt;For more than 3 values, would you suggest a strategy of concatination, PATH, and PATHLENGTH, instead of MIN and MAX?&lt;/P&gt;</description>
      <pubDate>Sun, 23 Aug 2020 05:36:05 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Quick-Measures-Gallery/Distinct-Column-Combinations/m-p/1316815#M596</guid>
      <dc:creator>EnglishCJ</dc:creator>
      <dc:date>2020-08-23T05:36:05Z</dc:date>
    </item>
  </channel>
</rss>

