我是DAX世界的新手,但滚动我成功地实现了累计(运行)总计,并在此结构中定义了一个度量: Running_Total_QTY:=CALCULATE(SUM(Reporting[QTY]),FILTER(ALL(Reporting[DATE_R]),Reporting[DATE_R]<=MAX(Reporting[DATE_R])))
对于看起来像这样的表:
ID DATE_R QTY
A1 5/11/2018 9:00 5
A1 5/11/2018 9:01 10
A1 5/11/2018 9:01 -5
A1 5/11/2018 9:02 50
A1 5/11/2018 9:05 -20
B1 5/11/2018 9:00 3
B1 5/11/2018 9:01 -20
B1 5/11/2018 9:01 4
B1 5/11/2018 9:02 20
B1 5/11/2018 9:03 10
问题是我需要在这个运行总计中添加一个起始QTY - QTY_INIT,我从另一个表中看到这样:
ID1 QTY_INIT
A1 100
B1 200
通过反复试验,我成功地创建了第二个度量,计算出这样定义的平均值(1个项目!):
Average_starting_quantity:=CALCULATE(AVERAGE(Starting_Quantity[QTY_INIT]),FILTER(ALL(Starting_Quantity[ID1]),Starting_Quantity[ID1]=LASTNONBLANK(Reporting[ID],TRUE())))
然后只需将两个指标加在一起 .
Running_plus_total:=[Running_Total_QTY]+[Average_starting_quantity]
这种方法有效,但是非常低效且非常慢(数据集非常大) .
如何直接从第二个表中添加QTY_INIT而不使用“假”平均值(或者max,min等等)?如何优化测量以获得更快的性能?
在此先感谢您的帮助 .
问候
1 回答
怎么样而不是你的
Average_starting_quantity
?如果您的表与
ID
和ID1
相关,并且交叉过滤方向是双向的,然后你可以使用
因为
ID
上的过滤器上下文将流向ID1
.