<?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: selecting all rows after a minimum value within a group. in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2188081#M51088</link>
    <description>&lt;P&gt;I figured out how to get only user_ids which are relevant to selected campaign_id&lt;/P&gt;&lt;P&gt;added user_ids to unique campaign_id table.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Measure = 
var selected_campaigns = VALUES('Table'[campaign_id])
var selected_users = VALUES('Table'[user_id])
var SelectedID_Date = 
    CALCULATE(
        MIN([date]),
        FILTER(
            ALL(Sheet1),
            --'Sheet1'[campaign_id]=SELECTEDVALUE('Table'[campaign_id]) 
            Sheet1[campaign_id] IN selected_campaigns
            &amp;amp;&amp;amp; Sheet1[user_id] = SELECTEDVALUE(Sheet1[user_id])))
Return 
    IF((MIN(Sheet1[date])&amp;gt;=SelectedID_Date) &amp;amp;&amp;amp; (min(Sheet1[user_id]) IN selected_users),"TRUE", "FALSE")&lt;/LI-CODE&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;LI-CODE lang="markup"&gt;unique_user_count = CALCULATE(DISTINCTCOUNT(Sheet1[user_id]), FILTER(Sheet1, Sheet1[Measure] = "TRUE"))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 13 Nov 2021 07:21:03 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2021-11-13T07:21:03Z</dc:date>
    <item>
      <title>selecting all rows after a minimum value within a group.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2179056#M50693</link>
      <description>&lt;P&gt;Hi fellow Power BI developers,&lt;/P&gt;&lt;P&gt;Need help in creating DAX - calculated table. &lt;U&gt;&lt;STRONG&gt;Please let me know if the below description is not clear.&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;I have data in the below format.&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;row_no&lt;/TD&gt;&lt;TD&gt;user_id&lt;/TD&gt;&lt;TD&gt;campaign_id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;TD&gt;1/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;TD&gt;3/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;102&lt;/TD&gt;&lt;TD&gt;4/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;TD&gt;5/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;TD&gt;6/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;TD&gt;7/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;STRONG&gt;Q:&lt;/STRONG&gt; When campaign_id is selected in filter pane ex: 101, I would like to get all the rows from row_no 2 to 7 for user ID 111.&lt;/P&gt;&lt;P&gt;Expected output:&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;row_no&lt;/TD&gt;&lt;TD&gt;user_id&lt;/TD&gt;&lt;TD&gt;campaign_id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;2/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;TD&gt;3/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;102&lt;/TD&gt;&lt;TD&gt;4/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;TD&gt;5/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;TD&gt;6/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;111&lt;/TD&gt;&lt;TD&gt;null&lt;/TD&gt;&lt;TD&gt;7/1/2021&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Here is the working SQL solution:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;Select main_table.user_id, main_table.campaign_id, main_table.date 
From test_table as main_table 
Inner join 
   (Select test_table.user_id, min(test_table.date) as min_date 
    From test_table 
    Where campign_id in (values selected in filter) 
    group by test_table.user_id) as grouped_table 

on main_table.ID = grouped_table.user_id 

where main_table.date &amp;gt;= grouped_table.min_date 
Group by main_table.user_id, main_table.campaign_id, main_table.date&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Query explanation:&lt;/STRONG&gt; Group by user_id and get min(date) row within the selected campaign_id (from filter) rows. For each user ID, select all rows after min(date) [irrespective of campaign_id].&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Other info:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Source:&lt;/STRONG&gt; Direct Query (snowflake)&lt;/P&gt;&lt;P&gt;The above calculated table should be generated every time a date is selected in the slicer, new campaign Id is selected in the right filter pane.&lt;/P&gt;&lt;P&gt;Planning to use the above calculated table to create new measures like count rows, distinct rows, sum, etc.,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please let me know if you need more info. I'm open to trying a different approach to get the same results.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="260975" data-lia-user-login="v-robertq-msft" class="lia-mention lia-mention-user"&gt;v-robertq-msft&lt;/a&gt;&amp;nbsp;Anonymous&lt;/a&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Nov 2021 17:51:54 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2179056#M50693</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-11-09T17:51:54Z</dc:date>
    </item>
    <item>
      <title>Re: selecting all rows after a minimum value within a group.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2184134#M50900</link>
      <description>&lt;P&gt;Anonymous&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The sample pbix is import mode otherwise you cannot access the data, but the steps should also work with Direct Query.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Since you are using direct query, you cannot create calculate&amp;nbsp;table, instead you can add a distinct in power query. This table is used as slicer to filter your original table when comparing using dax.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;img /&gt;&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;EM&gt;Measure = &lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;EM&gt;var SelectedID_Date = CALCULATE(MAX([date]),FILTER(ALL('Table'),'Table'[campaign_id]=SELECTEDVALUE(campaign_id[Column1])))&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;EM&gt;Return IF(MAX([date])&amp;gt;=SelectedID_Date,"true")&lt;/EM&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;img /&gt;
&lt;P&gt;&lt;BR /&gt;Paul Zheng _ Community Support Team&lt;BR /&gt;If this post helps, please Accept it as the solution to help the other members find it more quickly.&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Nov 2021 01:48:30 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2184134#M50900</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-11-11T01:48:30Z</dc:date>
    </item>
    <item>
      <title>Re: selecting all rows after a minimum value within a group.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2186724#M51010</link>
      <description>&lt;P&gt;Thank you so much&amp;nbsp;Anonymous&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried your solution by modifying the measure a bit to get results for group by user_id.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Unfortunately, your solution returns true for rows which has no association with the selected campaign_id at all.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Please see the screenshot where user_id 333 is associated with only campaign Id 0 (null). Still the measure is returning true / 1 for campaign ID 102 selected from drop down.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have created one more measure (count_measure) to get the count(unique user_id). It should be 2. Instead I see 3 because it is considering user_id 333 also.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;is there a way we can get only user 111 and 222 as output and unqiue user_id count as 2?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&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;LI-CODE lang="markup"&gt;Measure = 
var selected_campaigns = VALUES('Table'[campaign_id])

var SelectedID_Date = 
    CALCULATE(
        MIN([date]),
        FILTER(
            ALL(Sheet1),
            --'Sheet1'[campaign_id]=SELECTEDVALUE('Table'[campaign_id]) 
            Sheet1[campaign_id] IN selected_campaigns
            &amp;amp;&amp;amp; Sheet1[user_id] = SELECTEDVALUE(Sheet1[user_id])))
Return 
    IF((MIN(Sheet1[date])&amp;gt;=SelectedID_Date),"TRUE", "FALSE")&lt;/LI-CODE&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;</description>
      <pubDate>Wed, 17 Nov 2021 18:59:50 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2186724#M51010</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-11-17T18:59:50Z</dc:date>
    </item>
    <item>
      <title>Re: selecting all rows after a minimum value within a group.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2188081#M51088</link>
      <description>&lt;P&gt;I figured out how to get only user_ids which are relevant to selected campaign_id&lt;/P&gt;&lt;P&gt;added user_ids to unique campaign_id table.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Measure = 
var selected_campaigns = VALUES('Table'[campaign_id])
var selected_users = VALUES('Table'[user_id])
var SelectedID_Date = 
    CALCULATE(
        MIN([date]),
        FILTER(
            ALL(Sheet1),
            --'Sheet1'[campaign_id]=SELECTEDVALUE('Table'[campaign_id]) 
            Sheet1[campaign_id] IN selected_campaigns
            &amp;amp;&amp;amp; Sheet1[user_id] = SELECTEDVALUE(Sheet1[user_id])))
Return 
    IF((MIN(Sheet1[date])&amp;gt;=SelectedID_Date) &amp;amp;&amp;amp; (min(Sheet1[user_id]) IN selected_users),"TRUE", "FALSE")&lt;/LI-CODE&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;LI-CODE lang="markup"&gt;unique_user_count = CALCULATE(DISTINCTCOUNT(Sheet1[user_id]), FILTER(Sheet1, Sheet1[Measure] = "TRUE"))&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 13 Nov 2021 07:21:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2188081#M51088</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-11-13T07:21:03Z</dc:date>
    </item>
    <item>
      <title>Re: selecting all rows after a minimum value within a group.</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2195201#M51399</link>
      <description>&lt;P&gt;FYI - if the source is Direct Query and the data size is huge, it will throw a "resultset exceeds 1M rows" error. This logic tries to bring the complete data to the analysis service first before applying DAX.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A workaround is to keep this in a custom SQL query while connecting to the data source.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Nov 2021 19:55:27 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/selecting-all-rows-after-a-minimum-value-within-a-group/m-p/2195201#M51399</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-11-17T19:55:27Z</dc:date>
    </item>
  </channel>
</rss>

