表中的前5项

时间:2017-03-24 05:23:53

标签: powerbi dax

鉴于以下数据:

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代码?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

在“建模”标签中,点击“新建表格”...

enter image description here

然后使用TOPN和GROUPBY,如下所示:

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

...它将为您提供前5个违规行为的新表格,如下所示:

![enter image description here

答案 1 :(得分:0)

好的,所以我想我明白了。我能够使用Visual Filters在表格中仅选择前5个最常见的违规行为,如下所示:

visual filter