我认为这就是您要查找的内容 - 我在 PowerPivot 模型中添加了一个计算列,该列根据最后付款日期和学生姓名提供排名。它将任何学生的最早付款列为 1。
该列的代码如下:
=RANKX(FILTER(Table1, [Student Name] = EARLIER([Student Name])), [Last Payment Date])
...假设您的表名为“Table1”!
FILTER 是将排名限制在仅属于同名学生的日期的关键。
更新多个表
要设置表之间的关系,请转到模型的“图表视图”,该模型位于 Power Pivot 窗口的“主页”选项卡中。
您可以将字段从一个表拖到另一个表以创建关系。这仅在至少有一个字段是唯一的情况下才有效 - 将模型视为维度模型是个好主意,其中一个表充当事实,而其周围的其他表充当维度。
从评论中,我会尝试让付款表现得像事实,并将其链接到社区和学生表。在这种情况下,您可以使用以下代码:
=RANKX(FILTER(Table1, Related('Students'[Student Name]) = EARLIER('Students'[Student Name])), [Last Payment Date])
此计算列将位于您的 Payments Fact 表中,并且它使用对相关字段的查找。
请注意,在这种特定情况下,只对用于查找学生姓名的学生 ID 字段运行过滤器会更容易。