行过滤后的新客户
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))
我在 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))