我希望有人可以提供帮助,因为我已经把我的头发拉出了几个小时......我在PowerBI中有两张桌子。一个名为“Fact_WorstInstance”的行包含(Index,Instance)。例如:DAX:使用度量结果填充计算列而不需要重新计算每行的度量值
1,2
2,1
3,2
一个叫做 'Fact_AllInstances' 包含(索引,例如,值)的行。例如:
1,1,'Red'
1,2,'Green'
2,1,'Amber'
2,2,'Red'
2,3,'Brown'
3,1,'Green'
3,2,'Blue'
第一个表基本上是一个指针,指向第二个表为给定的索引(如由某些外部系统分类)最坏条目。
有一个切片机,用户可以看到索引。
我想要做的是在'Fact_WorstInstance'表中查找最高可见索引的最差实例值,然后从该实例的'Fact_AllInstances'表中获取所有索引和值行。
例如,如果限幅器的心不是过滤然后(3,2)应该从“Fact_WorstInstance”表是有效行,这应该被用来从“Fact_AllInstances”表得到实例2
1,2,'Green'
2,2,'Red'
3,2,'Blue'
'Fact_AllInstances'表中的
。
我试图以许多不同的方式做到这一点,在'Fact_WorstInstance'上创建一个度量,它提供了最高的可见行。然后使用此度量在'Fact_AllInstances'上创建一个计算列,其中1表示最差,0表示最差。然后使用此计算列作为PowerBI中的过滤器。
度量本身给出了期望值。我遇到的问题是当度量用于创建计算列时,我无法找到一种方法来停止基于计算列的行进行筛选的索引,因此每个行的度量结果都会发生变化。
我招:
Worst Entry = CALCULATE(FIRSTNONBLANK(Fact_WorstInstance[Instance],1),filter(ALLSELECTED(Fact_WorstInstance),Fact_WorstInstance[Index]=MAX(Fact_WorstInstance[Index])))
我列:
WorstColumn = if(Fact_AllInstances[Instance]=[Worst Entry],1,0)
因此,而不是让上面的输出,我得到
1,2, '绿' 2,1, 'Amber' - >因为对于索引2,该度量给出索引1为最差 3,2'蓝色'
任何帮助将不胜感激。 谢谢 丰富