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 )
)
输出
关系
我有一个我认为非常简单的要求 - 但在实施时遇到了困难。基本上我有两个表 - 在 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 )
)