在RANKX Powerpivot公式中打破联系

时间:2018-02-11 00:42:59

标签: excel powerpivot

我可以使用此公式对数据进行排名,该公式按年份,信任和ID进行分组,并对区域进行排名。

rankx(
      filter(Table,
          [Year]=earlier([Year])&&[Trust]=earlier([Trust])&&[ID]=earlier([ID])),
              [Area], ,1,Dense)

这样可以正常工作 - 除非您有相同区域在同一组中出现多次的数据,否则它会为所有行提供等级1.有没有办法强制使用唯一的等级值?那么具有相同Area的两行将被赋予等级1和2(以任意顺序)?谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

假设您的表中没有重复的行,您可以在表达式中添加另一列作为打破平局。

假设您的表格中有一个额外的列[Name],该列在您的多个[Area]行之间是不同的。然后你可以这样编写你的公式:

= RANKX(
      FILTER(Table,
          [Year] = EARLIER([Year]) && 
          [Trust] = EARLIER([Trust]) &&
          [ID] = EARLIER([ID])),
      [Area] & [Name], , 1, Dense)

您可以根据需要添加任意数量的列来完成打破平局。