我在Power BI(DAX模式2015)中使用了以下DAX代码,这可以很好地获得新客户。
如果客户使用Product_1或Product_2,则客户将被视为新的。
现在我想创建相同的,但这次分别与每个产品相关。因此,如果客户首次开始使用Product_1(不考虑Product_2),那么新客户PRODUCT_1将进行测量。
在数据模型FACT表中,我有产品1和2的列,如果在一个月内仅使用产品2,然后产品1在同一行中是空白的,反之亦然。
我试着补充一下
过滤器(MAIN; MAIN([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))
答案 0 :(得分:1)
我终于找到了帮助的功能。有必要使用&#34; CALCULATETABLE&#34; 函数来过滤整个表格。以下是最终代码:
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))