如何编写DAX度量值统计符合父子表关联规则的Consents记录数
DAX 符合条件Consent记录统计度量值
首先请先确认数据模型中Consents表和Consent Reviews表已通过ConsentID字段建立一对多关系,Consents表为关系的"一"端,Consent Reviews表为"多"端。
度量值代码
符合条件的Consent数量 = VAR 周期开始 = [Period Start] VAR 周期结束 = [Period End] RETURN COUNTROWS ( FILTER ( // 先筛选出Inspection Required为Yes的Consent记录 'Consents', 'Consents'[Inspection Required] = "Yes" && // 两个条件满足其一即可 OR ( // 条件1:Consent Date在统计周期内 'Consents'[Consent Date] >= 周期开始 && 'Consents'[Consent Date] <= 周期结束, // 条件2:存在对应Review记录且Review Date在统计周期内 COUNTROWS ( FILTER ( RELATEDTABLE('Consent Reviews'), 'Consent Reviews'[Review Date] >= 周期开始 && 'Consent Reviews'[Review Date] <= 周期结束 ) ) > 0 ) ) ) + 0 // 无符合记录时返回0而非空值
逻辑说明
- 提前定义变量存储统计周期起止值,避免重复计算
[Period Start]和[Period End]两个度量值 - 第一层筛选先限定只统计
Inspection Required取值为Yes的Consent记录 - 用OR逻辑判断两个触发条件,满足任意一个即可被计数:
- 当前Consent的许可日期落在统计周期范围内
- 通过
RELATEDTABLE关联到该Consent对应的所有审核记录,检查是否存在审核日期落在统计周期内的记录
- 末尾加
+ 0是为了没有符合条件的记录时返回0而非空值,匹配你给出的10月返回0的示例要求
内容的提问来源于stack exchange,提问作者Tim Elley
相关产品推荐
相关产品推荐

