我需要使用DAX进行一些简单的计算,但我不确定如何获得与Excel公式中相同的结果。 首先,我的数据结构如截图所示:
度量来自一个表, PactDelivered 是来自相关表的属性,该属性通过关系连接。
计算 B3-C3-D3 时没有问题,但我有一个问题,如何计算 - B4 + C4 部分。当然它应该是动态的,所以如果要计算10号包的结果,那么它会从10号和11号中取出数字。
编辑:
从 Alexis Olson 修改代码后,我得到了类似下面的内容,但它还没有工作。请注意,PactDelivered在其他表中而非措施。不知道为什么,但它根据NextPack
值计算包的结果。我尝试添加另一个基本为NextPack -1
的变量,并尝试使用它来计算返回的总和,但也没有效果。
Cancellations:=
var NextPack = MAX('Order'[PactDelivered]) + 1
var NextOrders = CALCULATE(SUM('Fact DropOff'[OrdersSentOut]) + sum('Fact DropOff'[OrdersReturned]), 'Order'[PactDelivered] = NextPack)
return SUM ('Fact DropOff'[OrdersSentOut]) - SUM ('Fact DropOff'[OrdersReturned] ) - SUM('Fact DropOff'[ActiveSubscriptions]) - NextOrders
答案 0 :(得分:1)
尝试这样的措施:
Measure =
VAR NextPact = MAX(Orders[PactDelivered]) + 1
VAR NextOrders = CALCULATE(SUM(Orders[OurdersSentOut]) - SUM(Orders[OrdersReturned]),
Orders[PactDelivered] = NextPact)
RETURN SUM(Orders[OurdersSentOut]) - SUM(Orders[OrdersReturned]) -
SUM(Orders[ActiveSubscriptions]) - NextOrders
首先,我们通过获取当前索引并添加1来计算下一个索引。然后计算该索引的已发送减去的回报。最后,从当前行计算中减去该值。