Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PowerBI(DAX)计算经常性客户,得到计算误差_Powerbi_Dax - Fatal编程技术网

使用PowerBI(DAX)计算经常性客户,得到计算误差

使用PowerBI(DAX)计算经常性客户,得到计算误差,powerbi,dax,Powerbi,Dax,我的目标是制作一个专栏,说明客户是否经常出现 我已经编写了实现这一点的功能代码(可用于200行),您可以在这里看到: ReturningCustomer = VAR mycount = CALCULATE( COUNTROWS(orders), FILTER( ALLEXCEPT(orders, orders[Column1.Customer_ID]), orders[Column1.BookingDate] < EARLIER(orders[Column1.Booki

我的目标是制作一个专栏,说明客户是否经常出现

我已经编写了实现这一点的功能代码(可用于200行),您可以在这里看到:

ReturningCustomer = 
VAR mycount = 
CALCULATE(
    COUNTROWS(orders),
FILTER(
    ALLEXCEPT(orders, orders[Column1.Customer_ID]),
orders[Column1.BookingDate] < EARLIER(orders[Column1.BookingDate]
) ) )
RETURN IF (mycount > 0 && orders[Column1.OrderStatus] = "Active", "Yes")
ReturningCustomer=
VAR mycount=
算计(
COUNTROWS(orders),
滤器(
ALLEXCEPT(订单,订单[Column1.Customer_ID]),
订单[Column1.BookingDate]<更早(订单[Column1.BookingDate]
) ) )
如果(mycount>0&&orders[Column1.OrderStatus]=“Active”,“Yes”)返回
然而,我的问题是,我的数据集中大约有45000行,运行此程序大约需要15分钟,然后会出现以下计算错误:


代码的哪一部分使得计算变得如此困难,可以采用不同的方法吗?

我对DAX不太熟悉,因此无法就如何提高查询性能提供建议,但也许您可以使用Power query M语言将重复计算外包到导入阶段?能否添加一些示例数据,大家好,谢谢你的回答。我会尝试进一步解释。我要查看的列是预订日期,客户ID-因此,通过查看这两列,我想检查特定客户是否在之前预订过(之前的预订日期与客户编号相同),例如,我有两个不同的客户编号10的预订日期,这意味着最新订单应该有一列返回客户=是。以表格格式添加您的样本数据和预期输出。| ID |日期|订单状态|返回客户1 | 13-08-2019 |活动| 2号| 25-08-2019 |终止| 26-08-2019 |活动| 1号|2019年8月16日|活跃|是5 | 20-08-2019 |活跃|否6 | 21-08-2019 |终止|否7 | 27-08-2019 |活跃|否1 | 25-08-2019 |活跃|是的希望您理解,谢谢您-因此我的输出是“回头客”一栏。编辑:这看起来很糟糕,检查链接:我不太熟悉DAX,所以我无法就如何提高查询性能提供建议,但也许您可以使用Power query M语言将递归计算外包到导入阶段?能否添加一些示例数据,大家好,感谢您迄今为止的回答。我会尝试进一步解释。我要查看的列是预订日期,客户ID-因此,通过查看这两列,我想检查特定客户是否在之前预订过(之前的预订日期与客户编号相同),例如,我有两个不同的客户编号10的预订日期,这意味着最新订单应该有一列返回客户=是。以表格格式添加您的样本数据和预期输出。| ID |日期|订单状态|返回客户1 | 13-08-2019 |活动| 2号| 25-08-2019 |终止| 26-08-2019 |活动| 1号|2019年8月16日|活跃|是5 | 20-08-2019 |活跃|否6 | 21-08-2019 |终止|否7 | 27-08-2019 |活跃|否1 | 25-08-2019 |活跃|是的希望您理解,谢谢您-因此我的输出是“回头客”一栏。编辑:这看起来很糟糕,请检查链接: