[英]Power BI dynamic ranking with some blank values and using slicers
我有一張有 15 人的桌子,每個月都會獲得 7 天的分數。 我想使用 Power BI 中的 RANKX 公式對最低 (1) 到最高平均分進行排名。 如果我看的話,這很好用,但是當我使用切片機並且只看一兩個月時,就會開始表現得很奇怪。 排名不再以1開頭了?
我使用這個公式:
Rank = RANKX(
ALLSELECTED('Score Table'[Person]);CALCULATE(AVERAGE('Score Table'[Score]));;ASC;Dense)
請看附圖。
幫助非常感謝顯示問題的圖像
你可以試試這個,看看它是否有效?
Rank =
RANKX(
CALCULATETABLE(
VALUES( 'Score Table'[Person] ),
ALLSELECTED( 'Score Table'[Person] )
),
CALCULATE( AVERAGE( 'Score Table'[Score] ) ),
,
ASC,
Dense
)
讓我們一步一步地考慮原始代碼。
在步驟 (1) 中,它包括從 1 到 20 的所有 Persons,因為視覺對象中沒有 Person 過濾器。 在這里,看起來在選定的時間段內沒有人 15 和 18 的分數,所以它評估為 BLANK。
現在,RANKX 的文件說,
如果表達式或值的計算結果為 BLANK,則對於所有產生數字的表達式,它被視為 0(零),或者對於所有文本表達式,它都被視為空文本。
第 8 個人和第 15 個人的平均分是 BLANK,所以 RANKX 將其視為 0。現在回到第 1 個人,她的平均分是 62.43,並且有兩個人的平均分是 0。因此,第 1 個人的排名將是2。
通過將 'Score Table'[Person] 與 VALUES 包裝在 CALCULATETABLE 中,您可以省略在所選時間段內沒有得分的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.