0

我试图在 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 表中使用OverallRatings 排名前5 名和后5 名

对于前 5 条记录,我使用以下查询:-

Top 5 name:=CALCULATE(SUMX(SUMMARIZE('Details',[Name],"value2",(SUM([overallRating]))),[value2]),FILTER('Details',RANKX(ALL('Details'),[Ranking])<=5))

有人可以在我做错的地方帮助我,还是我需要尝试其他方法。

您的帮助将不胜感激。

4

2 回答 2

0

我还没有使用过 PowerView,但是获得正确的排名是您问题的关键。

首先要注意的是,我没有添加任何计算列。取而代之的是,我使用了以下 4 项措施,这些措施相互促进以达到排名。

CountByName(替换您的计数度量)

CountByName:=CALCULATE(COUNTA(Details[Name]))

RatingByName(对每个名称的评分求和)

RatingByName:=CALCULATE(SUM(Details[Rating]))

总体评分(每个名称的评分/计数)

OverallRating:=[RatingByName]/[CountByName]

排名(基于整体评级的排名)

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。

于 2015-02-27T18:53:35.963 回答
0

如果您使用的是数据透视报告,那么您可以使用过滤器选项来实现这一点。

于 2015-03-29T09:11:57.077 回答