每个客户的第一个订单

时间:2021-04-16 15:37:27

标签: powerbi dax

给定以下数据模型:

enter image description here

我需要构建一个将显示以下属性的报告:

enter image description here

如您所见,我需要从 SalesOrder 表 [InternDocumentNumber[] 中提供一个属性,以便视觉对象在订单级别具有颗粒感。

现在,问题在于度量 [first order date v1] 应该计算客户的第一个订单日期,并为来自同一客户的所有不同订单显示该值。

到目前为止,我构建了以下度量

first order date v1 = CALCULATE (
FIRSTDATE( SalesOrderDate[SalesOrderDate]),
USERELATIONSHIP( SalesOrder[OrderDate], SalesOrderDate[SalesOrderDate]),
CROSSFILTER ( SalesOrder[OrderDate], SalesOrderDate[SalesOrderDate],both ),
ALL(SalesOrder)
)

然而,这个度量永远计算,以错误结束:

enter image description here

能否请您建议我如何编写此度量以使其性能更好?

编辑

让我用一个来自 DAX.DO 的例子来更清楚我想得到什么。下面是查询和结果的屏幕

enter image description here

我想要实现的是一种度量,它将显示客户级别的最小订单日期,而不是像现在这样的订单级别。换句话说,无论表的粒度如何,红色矩形中的值对于客户 6 都应该相同。这在 DAX 中完全可行吗?

对 DAX.DO 片段的引用:

https://dax.do/wxU6NNRHrencrg/

编辑 2

实际上,我现在能够设计一个解决问题的措施,但是它的表现非常糟糕(最终超时)

这是代码屏幕和 DAX.DO 参考

enter image description here

https://dax.do/wxU6NNRHrencrg/

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

CALCULATE (
    MIN ( Sales[Order Date] ),
    ALLEXCEPT ( Sales, Customer[CustomerKey] )
)
相关问题