我试图在Power View中的两个单独的表中显示前5条记录和后5条记录。
我创建了一个计算度量来显示记录。
但它没有给我所需的结果。
我的数据集是: -
ID Name Rating OverallRating Ranking
1 A 124
2 B 156
3 C 123
4 D 124
5 E 125
6 F 143
7 G 124
8 H 123
9 I 156
10 A 178
11 B 187
12 C 123
13 H 123
14 I 134
15 D 138
16 E 50
17 F 90
18 G 70
我也有以下措施
[Count]=SUMX(SUMMARIZE('Details',[Name],"Value",COUNTA([ID])),[Value])
总体评级的计算基于: - 每个名称的评级总和除以该名称的[ID]计数。
OverallRating=SUMX(SUMMARIZE('Details',[Name],"value2",([Rating])/[Count]),[value2])
然后我计算这个整体评分的排名。
Ranking=RANKX(ALL(Details),[overallRating],,0,Dense)
现在我想在Power View Table中使用OverallRatings获得前5名和后5名的名字
对于我使用以下查询的前5条记录: -
Top 5 name:=CALCULATE(SUMX(SUMMARIZE('Details',[Name],"value2",(SUM([overallRating]))),[value2]),FILTER('Details',RANKX(ALL('Details'),[Ranking])<=5))
有人可以在我做错的地方帮助我,或者我是否需要尝试别的东西。
我们将不胜感激。
答案 0 :(得分:0)
我还没有使用PowerView,但是获得正确的排名是你问题的关键。
首先要注意的是,我没有添加任何计算列。相反,我使用了以下4个措施,相互建立以达到排名。
CountByName (替换您的计数指标)
CountByName:=CALCULATE(COUNTA(Details[Name]))
RatingByName (对每个名称的评分求和)
RatingByName:=CALCULATE(SUM(Details[Rating]))
OverallRating (每个名字的评分/数量)
OverallRating:=[RatingByName]/[CountByName]
排名(排名基于OverallRating)
Ranking:=RANKX(ALL(Details[Name]),[OverallRating])
由于这些都是度量,因此您可以创建数据透视表以测试它们是否正常工作。 (他们的工作基于我对您的数据的解释)。它按以下顺序对名称进行排名
1 2 3 4 5 6 7 8 9
B A I D H C F G E
根据我对PowerView的理解,您应该能够使用[Ranking]
指标返回前5和后5。
答案 1 :(得分:0)
如果您使用透视报告,则可以使用过滤器选项来实现此目的。