2017-03-24 35 views
0

鑑於以下數據:前5項表

dataset

我想獲得從表中的前5個結果。我嘗試了以下公式:

措施:Violation Ranking = RANKX(ALL(Violation_Data), COUNTA(Violation_Data[Violation]))

柱:Top Violations = IF([Violation Ranking] > 5, "Others", Violation_Data[Violation])

但我仍然得到所有的結果從[違反](我認爲這是與計算列)。我嘗試使用可視化過濾器(僅顯示[違規排名] < = 5),但我仍然得到相同的結果(每個[違規]的[違規排名]爲1(這很奇怪,至少可以說)這就是爲什麼所有的違法行爲都將顯示。

任何人都知道如何正確的給定DAX代碼?

回答

0

好了,所以我想我明白了。我可以使用Visual過濾器只選擇前5名在表中最經常性的侵犯,像這樣:

visual filter

0

你可以這樣做:

在 '建模' 選項卡,單擊 '新建表' ......

enter image description here

然後使用TOPN和GROUPBY,像這樣:

Violation_Counts = TOPN(5,GROUPBY(Violation_Data,Violation_Data[Violation],"Count",countx(CURRENTGROUP(),Violation_Data[Name]))) 

...這將給你的前五名違規新表,如下:

![enter image description here