行过滤后的新客户

New Customers after rows filtering

我在 Power BI 中使用了下面的 DAX 代码(DAX 模式 2015),它可以很好地吸引新客户。

如果客户使用 Product_1 或 Product_2,则客户被视为新客户。 现在我想创建相同的,但这次分别与每个产品相关。所以 NEW CUSTOMER PRODUCT_1 度量将是如果客户第一次开始使用 Product_1(不考虑 Product_2)。

在数据模型 FACT table 我有包含产品 1 和 2 的列,如果一个月内只使用了产品 2,则产品 1 在同一行中为空白,反之亦然。 我试图添加 过滤器(主要;主要([Product_1]>0)) 但它给了我奇怪的结果。新客户全年重复,而不是只计算一次。

Absolute_NEW_Customers(PRODUCT_1) = 
COUNTROWS ( 
         FILTER(
                ADDCOLUMNS(VALUES(MAIN[Customer No]);"PreviousSales";
                        CALCULATE(COUNTROWS(MAIN);FILTER(ALL('DateKey');DateKey[Date]<MIN('DateKey'[Date]))));
       [PreviousSales]=0))

我终于找到了有用的函数。有必要使用 "CALCULATETABLE" 函数来过滤整个 table。下面是最终代码:

Absolute_NEW_Customers(Product_1) = 
COUNTROWS ( 
FILTER(
       ADDCOLUMNS(
                 CALCULATETABLE(VALUES(MAIN[Customer No]);FILTER(MAIN;NOT ISBLANK(MAIN[Product_1])));"PreviousSales";
                        CALCULATE(COUNTROWS(CALCULATETABLE(MAIN;FILTER(MAIN;NOT ISBLANK(MAIN[Product_1]))));FILTER(ALL('DateKey');DateKey[Date]<MIN('DateKey'[Date]))));
       [PreviousSales]=0))