我希望有人可以提供幫助,因爲我已經把我的頭髮拉出了幾個小時......我在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'藍色'
任何幫助將不勝感激。 謝謝 豐富