<?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 Plot New Customer Counts by Month in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Plot-New-Customer-Counts-by-Month/m-p/4248793#M168226</link>
    <description>&lt;DIV class=""&gt;&lt;P&gt;This seems like it should be such a simple operation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a requirement where I need to count the distinct Customer IDs of Customers that are new. Said another way, count the distinct customer ID where the order date matches the minimum order date of that customer (and several other dimensions).&lt;/P&gt;&lt;P&gt;I have found this to be nearly impossible.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am able to get the correct count, and put it into a card. I'm even able to cross filter that card by other dimensions. But I need to take it a step further and show which months the New Customers appeared in.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am aware that using a CALCULATEDTABLE, getting the minimum date by customer &amp;amp; my required dimensions, would solve my problem. Unfortunately, I am working in a Semantic Model, which I am unable to update.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That doesn't change that this seems like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;such&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a simple requirement, and I sincerely hope that something so seemingly simple can be done with measures.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is my code.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I group the minimum Dates by the required dimensions, adding the other dimensions I need for cross filtering&lt;/LI&gt;&lt;/OL&gt;&lt;PRE&gt;[__NewAccounts_A_FirstOrderDate] = 
    var maxContextDate = CALCULATE( MAX( Dates[Date] ), ALLSELECTED( 'Sales' ) )
    &amp;nbsp; &amp;nbsp; var filteredSales = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ADDCOLUMNS(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SUMMARIZE(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATETABLE(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sales,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; REMOVEFILTERS( Dates[Date] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , REMOVEFILTERS( 'Product Details' )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , REMOVEFILTERS( 'Product Packaging' )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [C/E] &amp;gt; 0 &amp;amp;&amp;amp;
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sales[DeliveryDate] &amp;gt;= DATE( YEAR( maxContextDate ) - 1, 1, 1 )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Supplier[Supplier], &amp;nbsp; &amp;nbsp; // Group by SUPPLIER
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Customer[Customer No.], // Group by Customer
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Branch[Branch], &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Group by Branch
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Min Customer Date", MIN( Dates[Date] ) // Calculate Minimum Delivery Date by Group
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , "GB Brand", SELECTEDVALUE( 'Product Details'[GB Brand] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , "Package Type", SELECTEDVALUE( 'Product Packaging'[Package Type] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    &amp;nbsp; &amp;nbsp; var Result =
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATE(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MINX( 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredSales,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Min Customer Date] &amp;gt;= DATE( YEAR( maxContextDate ), 1, 1) &amp;amp;&amp;amp; // Ensure the date is in the same year as max context date
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Min Customer Date] &amp;lt;= maxContextDate
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ), 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Min Customer Date] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Return the minimum date
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , REMOVEFILTERS( Dates[Date] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    RETURN Result&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;I determine if the customer's first Order Date comes in the same year of the Context Date&lt;/LI&gt;&lt;/OL&gt;&lt;PRE&gt;[__NewAccounts_B_FirstOrderInContext]
    var maxContextDate = CALCULATE( MAX( Dates[Date] ), ALLSELECTED( 'Sales' ) )
    
    return
    &amp;nbsp; &amp;nbsp; IF(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [__NewAccounts_A_FirstOrderDate] &amp;gt;= DATE( YEAR( maxContextDate ), 1, 1) 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; [__NewAccounts_A_FirstOrderDate] &amp;lt;= maxContextDate,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp;// Eligible New Account
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; // Ineligible New Account
    &amp;nbsp; &amp;nbsp; )&lt;/PRE&gt;&lt;H5&gt;3. We count the distinct Customer IDs (via COUNTX( FILTER ( VALUES ( ... ), ... ), ... ); aka Customer IDs where the Min Date falls within the proper context, with a separate calculation for cross filtering&lt;/H5&gt;&lt;PRE&gt;__NewAccounts_C_DistinctNewCustomerCount
    &amp;nbsp; &amp;nbsp; VAR newAccounts = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATE (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNTX (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Only count customers with a new account in the current year
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER ( VALUES ( Customer[Customer No.] ), [__NewAccounts_B_FirstOrderInContext] = 1 ), &amp;nbsp; 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Count unique Customer Numbers
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Customer[Customer No.] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Remove external filters on Sales but retain the current user context
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ALLSELECTED( Sales )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    // &amp;nbsp;Step 2: Calculate the number of new accounts that also have cross-filtering applied 
    &amp;nbsp; &amp;nbsp; VAR newAccounts_CF = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATE (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNTX (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VALUES ( Customer[Customer No.] ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [__NewAccounts_B_FirstOrderInContext] = 1 &amp;nbsp; // Only count customers with a new account in the current year
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; [___NewAccounts_CrossFilter] &amp;gt; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Check Cross Filtering from Brand Sales
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Customer[Customer No.]
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )-- , ALLSELECTED( Sales )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    // &amp;nbsp;Step 3: Check if there is a cross-filter on 'Product Details' or 'Product Packaging'. 
    // &amp;nbsp;If so, return the new accounts count with the cross-filter applied (newAccounts_CF), 
    // &amp;nbsp;otherwise return the count without cross-filtering (newAccounts).
    &amp;nbsp; &amp;nbsp; VAR result = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IF(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ISCROSSFILTERED( 'Product Details' ) || ISCROSSFILTERED( 'Product Packaging' ) ,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Add 0 to force conversion to a numeric result
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newAccounts_CF + 0,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newAccounts + 0
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    return result&lt;/PRE&gt;&lt;P&gt;Yet, when I attempt to plot this data on a Line chart, it shows the Total count for each month. I don't get it.&lt;/P&gt;&lt;P&gt;This to me should work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone smarter than me provide any assistance here?&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Fri, 18 Oct 2024 20:17:59 GMT</pubDate>
    <dc:creator>VBAmazing</dc:creator>
    <dc:date>2024-10-18T20:17:59Z</dc:date>
    <item>
      <title>Plot New Customer Counts by Month</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Plot-New-Customer-Counts-by-Month/m-p/4248793#M168226</link>
      <description>&lt;DIV class=""&gt;&lt;P&gt;This seems like it should be such a simple operation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a requirement where I need to count the distinct Customer IDs of Customers that are new. Said another way, count the distinct customer ID where the order date matches the minimum order date of that customer (and several other dimensions).&lt;/P&gt;&lt;P&gt;I have found this to be nearly impossible.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am able to get the correct count, and put it into a card. I'm even able to cross filter that card by other dimensions. But I need to take it a step further and show which months the New Customers appeared in.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am aware that using a CALCULATEDTABLE, getting the minimum date by customer &amp;amp; my required dimensions, would solve my problem. Unfortunately, I am working in a Semantic Model, which I am unable to update.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That doesn't change that this seems like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;such&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;a simple requirement, and I sincerely hope that something so seemingly simple can be done with measures.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is my code.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I group the minimum Dates by the required dimensions, adding the other dimensions I need for cross filtering&lt;/LI&gt;&lt;/OL&gt;&lt;PRE&gt;[__NewAccounts_A_FirstOrderDate] = 
    var maxContextDate = CALCULATE( MAX( Dates[Date] ), ALLSELECTED( 'Sales' ) )
    &amp;nbsp; &amp;nbsp; var filteredSales = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ADDCOLUMNS(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SUMMARIZE(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATETABLE(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sales,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; REMOVEFILTERS( Dates[Date] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , REMOVEFILTERS( 'Product Details' )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , REMOVEFILTERS( 'Product Packaging' )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [C/E] &amp;gt; 0 &amp;amp;&amp;amp;
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sales[DeliveryDate] &amp;gt;= DATE( YEAR( maxContextDate ) - 1, 1, 1 )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Supplier[Supplier], &amp;nbsp; &amp;nbsp; // Group by SUPPLIER
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Customer[Customer No.], // Group by Customer
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Branch[Branch], &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Group by Branch
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Min Customer Date", MIN( Dates[Date] ) // Calculate Minimum Delivery Date by Group
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , "GB Brand", SELECTEDVALUE( 'Product Details'[GB Brand] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , "Package Type", SELECTEDVALUE( 'Product Packaging'[Package Type] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    &amp;nbsp; &amp;nbsp; var Result =
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATE(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MINX( 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filteredSales,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Min Customer Date] &amp;gt;= DATE( YEAR( maxContextDate ), 1, 1) &amp;amp;&amp;amp; // Ensure the date is in the same year as max context date
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Min Customer Date] &amp;lt;= maxContextDate
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ), 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Min Customer Date] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Return the minimum date
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; , REMOVEFILTERS( Dates[Date] )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    RETURN Result&lt;/PRE&gt;&lt;OL&gt;&lt;LI&gt;I determine if the customer's first Order Date comes in the same year of the Context Date&lt;/LI&gt;&lt;/OL&gt;&lt;PRE&gt;[__NewAccounts_B_FirstOrderInContext]
    var maxContextDate = CALCULATE( MAX( Dates[Date] ), ALLSELECTED( 'Sales' ) )
    
    return
    &amp;nbsp; &amp;nbsp; IF(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [__NewAccounts_A_FirstOrderDate] &amp;gt;= DATE( YEAR( maxContextDate ), 1, 1) 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; [__NewAccounts_A_FirstOrderDate] &amp;lt;= maxContextDate,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1, &amp;nbsp;// Eligible New Account
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; // Ineligible New Account
    &amp;nbsp; &amp;nbsp; )&lt;/PRE&gt;&lt;H5&gt;3. We count the distinct Customer IDs (via COUNTX( FILTER ( VALUES ( ... ), ... ), ... ); aka Customer IDs where the Min Date falls within the proper context, with a separate calculation for cross filtering&lt;/H5&gt;&lt;PRE&gt;__NewAccounts_C_DistinctNewCustomerCount
    &amp;nbsp; &amp;nbsp; VAR newAccounts = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATE (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNTX (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Only count customers with a new account in the current year
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER ( VALUES ( Customer[Customer No.] ), [__NewAccounts_B_FirstOrderInContext] = 1 ), &amp;nbsp; 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Count unique Customer Numbers
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Customer[Customer No.] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Remove external filters on Sales but retain the current user context
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ALLSELECTED( Sales )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    // &amp;nbsp;Step 2: Calculate the number of new accounts that also have cross-filtering applied 
    &amp;nbsp; &amp;nbsp; VAR newAccounts_CF = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CALCULATE (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COUNTX (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FILTER (
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VALUES ( Customer[Customer No.] ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [__NewAccounts_B_FirstOrderInContext] = 1 &amp;nbsp; // Only count customers with a new account in the current year
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp; [___NewAccounts_CrossFilter] &amp;gt; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Check Cross Filtering from Brand Sales
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Customer[Customer No.]
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )-- , ALLSELECTED( Sales )
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    // &amp;nbsp;Step 3: Check if there is a cross-filter on 'Product Details' or 'Product Packaging'. 
    // &amp;nbsp;If so, return the new accounts count with the cross-filter applied (newAccounts_CF), 
    // &amp;nbsp;otherwise return the count without cross-filtering (newAccounts).
    &amp;nbsp; &amp;nbsp; VAR result = 
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IF(
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ISCROSSFILTERED( 'Product Details' ) || ISCROSSFILTERED( 'Product Packaging' ) ,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Add 0 to force conversion to a numeric result
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newAccounts_CF + 0,
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newAccounts + 0
    &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
    
    return result&lt;/PRE&gt;&lt;P&gt;Yet, when I attempt to plot this data on a Line chart, it shows the Total count for each month. I don't get it.&lt;/P&gt;&lt;P&gt;This to me should work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone smarter than me provide any assistance here?&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 18 Oct 2024 20:17:59 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Plot-New-Customer-Counts-by-Month/m-p/4248793#M168226</guid>
      <dc:creator>VBAmazing</dc:creator>
      <dc:date>2024-10-18T20:17:59Z</dc:date>
    </item>
    <item>
      <title>Re: Plot New Customer Counts by Month</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Plot-New-Customer-Counts-by-Month/m-p/4248850#M168232</link>
      <description>&lt;P&gt;&lt;A href="https://www.daxpatterns.com/new-and-returning-customers/" target="_blank"&gt;https://www.daxpatterns.com/new-and-returning-customers/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please provide sample data that covers your issue or question &lt;STRONG&gt;completely&lt;/STRONG&gt;, in a &lt;STRONG&gt;usable&lt;/STRONG&gt; format (not as a screenshot).&lt;BR /&gt;&lt;BR /&gt;Do not include sensitive information. Do not include anything that is unrelated to the issue or question. &lt;BR /&gt;&lt;BR /&gt;Need help uploading data? &lt;A href="https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216" target="_blank"&gt;https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216&lt;/A&gt; &lt;BR /&gt;&lt;BR /&gt;Please show the expected outcome based on the sample data you provided. &lt;BR /&gt;&lt;BR /&gt;Want faster answers? &lt;A href="https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523" target="_blank"&gt;https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Oct 2024 21:54:13 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Plot-New-Customer-Counts-by-Month/m-p/4248850#M168232</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2024-10-18T21:54:13Z</dc:date>
    </item>
  </channel>
</rss>

