按组划分的前百分位

按组划分的前百分位

大家好。有人能帮我解决以下问题吗?任何指点或帮助我都会很感激!

我有一个包含 +500,000 行的数据集子集,如下所示

|— Group —|— Name —|— Value1 —|— Value2 —|

在每个组中,我正在尝试识别价值 1 的前 5 和前 10 个百分点中的名称,这样我就可以继续计算每个已识别百分位数的值 2 的总和。

到目前为止,我已经能够创建一个如下所示的数据透视表。

           |----------|--Sum Val1--|--Sum Val2--|
|--GroupA--|----------|     Totals for GroupA
|----------|-Name A1--|     Values.......
|----------|-Name A2--|     Values.......
    ...
|----------|-Name An--|     Values.......
|--GroupB--|----------|     Totals for GroupB
    ...                     Values.......
|--GroupZ--|----------|     Totals for GroupZ

我可以手动识别百分位数,但我想还有更简单的方法。我搜索了几次如何进行,但我只遇到了在整个数据集中查找百分位数的过程。

答案1

数据透视表的设置方式是,应用前 10 个过滤器将在每个字段中Names找到前 10 个。如果您想找到总体前 10 个,则必须将字段放在字段之前。NamesGroupNamesNamesGroup

这是我制作的模型:

原来的

当我过滤 Top 2 时Names

排名前 2 位的名字

当我将其Names作为顶部字段,然后过滤前 2 个字段时:

更正前 2 名姓名


正如评论中所建议的,您还可以在原始数据中添加辅助列,以计算每行的影响,然后确定它是否在前 10 名中并返回 TRUE/FALSE。然后,您可以将过滤器应用于数据透视表,以仅显示该字段中为 TRUE 的数据。

相关内容