使用相关 table 中的两列的 DAX 动态过滤器
DAX dynamic filter using two columns from related table
我需要使用 DAX 进行一些简单的计算,但我不确定如何获得与 Excel 的公式相同的结果。
首先,我的数据结构如屏幕截图所示:
措施来自一个 table,PactDelivered 是相关 table 的属性,通过关系连接。
我真正需要做的就是将下面的公式转换成 DAX:
在计算B3-C3-D3时没有问题,但我有一个问题如何计算- B4 + C4部分。当然它应该是动态的,所以如果要计算10号包的结果,那么它会取10号和11号的数字。
编辑:
修改 Alexis Olson 的代码后,我得到了类似下面的内容,但它还没有工作。请注意,PactDelivered 与措施不同 table。不知道为什么,但它是根据 NextPack
值计算包的结果。我尝试添加另一个基本上是 NextPack -1
的变量,并尝试使用它计算 return 的总和,但效果不佳。
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
编辑2:
事实样本数据:
来自维度:
关系:
试试这样的措施:
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 来计算下一个索引。然后计算该索引的发送减 returns。最后,从当前行计算中减去它。
我需要使用 DAX 进行一些简单的计算,但我不确定如何获得与 Excel 的公式相同的结果。 首先,我的数据结构如屏幕截图所示:
措施来自一个 table,PactDelivered 是相关 table 的属性,通过关系连接。
我真正需要做的就是将下面的公式转换成 DAX:
在计算B3-C3-D3时没有问题,但我有一个问题如何计算- B4 + C4部分。当然它应该是动态的,所以如果要计算10号包的结果,那么它会取10号和11号的数字。
编辑:
修改 Alexis Olson 的代码后,我得到了类似下面的内容,但它还没有工作。请注意,PactDelivered 与措施不同 table。不知道为什么,但它是根据 NextPack
值计算包的结果。我尝试添加另一个基本上是 NextPack -1
的变量,并尝试使用它计算 return 的总和,但效果不佳。
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
编辑2:
事实样本数据:
来自维度:
关系:
试试这样的措施:
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 来计算下一个索引。然后计算该索引的发送减 returns。最后,从当前行计算中减去它。