PowerBI - 基于条件的一列行总和

PowerBI - Sum of rows of one column based on criteria

我有一个我认为非常简单的要求 - 但在实施时遇到了困难。基本上我有两个表 - 在 Name 字段上有 1:M 关系

登录Table

ID Name Date
login1 Evan March
login2 Evan March
login3 Ryan March
login4 Ryan March
login5 Jack March
login6 Mike March
login7 Mike April
login8 Mike April
login9 Mike April
login10 Evan April
login11 Evan April

联系Table

Name FamilyMembers
Evan 3
Ryan 2
Mike 4
Jack 1

我想要一个基于登录的家庭成员总数的报告 - 但我只想计算一次 - 使用日期作为切片器。我创建了一个名为 LoginCount 的度量,它给我一个看起来像这样的视图:

LoginCount = COUNTROWS(RELATEDTABLE('Log-Ins'))

我要查找的是 FamilyMembers 的总数(当切片器设置为 March 时应该是 10)

Name LoginCount FamilyMembers
Evan 2 3
Jack 1 1
Mike 1 4
Ryan 2 2
6

4 月应该是 7。

我能得到的最接近的是总结 FamilyMembers 列 - 但它给出了我不想要的每次登录的总数(Evan h 为 2 个登录和 3 个家庭成员,等于 6 个)。这个想法是为了获得当月服务用户的总体人数,而不是每次都重新计算家庭成员。

问题似乎取决于过滤器如何从一个 table 传播到另一个。 如果您申请CROSSFILTER,您可以在不改变您的关系类型的情况下解决这个问题。

换句话说,Log-Ins 将过滤 Contacts table。

计算:测量

Total Family Members =
CALCULATE (
    SUM ( Contacts[FamilyMembers] ),
    CROSSFILTER ( Contacts[Name], 'Log-Ins'[Name], BOTH )
)

输出

关系