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
Ssas 使用相关表中的两列进行DAX动态筛选_Ssas_Powerbi_Dax - Fatal编程技术网

Ssas 使用相关表中的两列进行DAX动态筛选

Ssas 使用相关表中的两列进行DAX动态筛选,ssas,powerbi,dax,Ssas,Powerbi,Dax,我需要使用DAX进行一些简单的计算,但我不确定如何获得与Excel公式相同的结果。 首先,我的数据结构如屏幕截图所示: 度量值来自一个表,PactDelivered是通过关系连接的相关表中的属性 我真正需要做的就是将以下公式转换为DAX: 计算B3-C3-D3时没有问题,但我有一个问题如何计算-B4+C4部分。当然,它应该是动态的,所以如果要计算10号包裹的结果,那么它将使用10号和11号包裹的数字 编辑: 在修改了Alexis Olson的代码后,我得到了如下类似的东西,但它还没有工作。请

我需要使用DAX进行一些简单的计算,但我不确定如何获得与Excel公式相同的结果。 首先,我的数据结构如屏幕截图所示:

度量值来自一个表,PactDelivered是通过关系连接的相关表中的属性

我真正需要做的就是将以下公式转换为DAX:

计算B3-C3-D3时没有问题,但我有一个问题如何计算-B4+C4部分。当然,它应该是动态的,所以如果要计算10号包裹的结果,那么它将使用10号和11号包裹的数字

编辑:

在修改了Alexis Olson的代码后,我得到了如下类似的东西,但它还没有工作。请注意,交付的包装在其他表格中,而非措施。不知道为什么,但它正在根据
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来计算下一个索引。然后计算该指数的发送减去回报。最后,从当前行计算中减去该值。

编辑了我的问题,尝试了您的方法,但做了一些修改,但无效。请发布您的表关系图和数据表的示例。如果你的结构比一张表更复杂,而且你解释得不够好,没有人能重现你所展示的内容,那么几乎不可能回答这样的问题。编辑原始问题。如果你只是
返回下一个包
,它的行为是否如预期的那样?它在行中返回
1
,其中
PactDelivered
为空,因此它似乎是从该属性的空白成员开始的。您在
NextOrder
行中的符号错误。此外,还可以在“返回”行周围的“代码”>(NeXPACK=1,BLACK(…))/代码>中删除空白行。