如何对由另一个字段动态分组的条目(根据字段值)进行排名?

时间:2016-06-29 20:56:44

标签: excel powerpivot dax

给出以下(玩具模型)表:

表1

Company Date        User    FK_Subject
A       10.05.2016  1       1
A       10.06.2016  1       2
A       10.07.2016  2       3
B       10.03.2016  1       4
B       10.04.2016  2       5
B       15.05.2016  1       6

表2

PK_Subject  Subject_text
1           One
2           Two
3           Three
4           Four
5           Five
6           Six

主键PK_Subject和外键FK_Subject之间存在关联。

我希望过滤来自Table1的条目,仅显示Company(或Subject_text s的组合)的最近日期UserUser

为此,我在Table1中创建了一个名为[DateRank]的计算列,其公式为

=RANKX(FILTER(Table1; [Company]=EARLIER([Company]) && [User]=EARLIER([User])); [Date])

给出一个新的Table1

Company Date        User    FK_Subject  DateRank
A       10.05.2016  1       1           2
A       10.06.2016  1       2           1
A       10.07.2016  2       3           1
B       10.03.2016  1       4           2
B       10.04.2016  2       5           1
B       15.05.2016  1       6           1

如果您只过滤单个用户,我可以创建this pivot table按预期工作。当你保留一组用户时(在这个玩具模型案例中:所有2个),每个公司显示两个条目:

Company Date        Subject_text    Sum of FK_Subject
A       10.06.2016  Two             2
A       10.07.2016  Three           3
B       10.04.2016  Five            5
B       15.05.2016  Six             6

但是,所选用户的所需输出将是两个用户(即整个表)的最新条目:

Company Date        Subject_text    Sum of FK_Subject
A       10.07.2016  Three           3
B       15.05.2016  Six             6

正如文中暗示的那样,解决方案应该适用于任意多个用户及其组合。

0 个答案:

没有答案