如何用DAX计算逆透视表中准确的测试字段数、通过数与失败数?
解决方案
针对逆透视后记录重复导致统计失真的问题,以下是几个直接可用的DAX度量值方案,帮你准确统计每个Reference的测试字段数据:
方案1:基于逆透视后的实际测试结果计算(推荐)
这个方案不依赖原始表中的Fields Tested/Fields Passed/Fields Failed字段,完全根据逆透视后每个属性的实际测试状态统计,避免原始数据可能存在的误差:
- 总测试字段数(排除未测试项)
总测试字段数 = CALCULATE( COUNTROWS(DISTINCT('逆透视表'[Attribute])), '逆透视表'[Value] <> "Untested" )
- 逻辑:先对
Attribute去重(消除逆透视后的重复记录),再统计其中测试状态不为Untested的字段数量。
- 通过字段数
通过字段数 = CALCULATE( COUNTROWS(DISTINCT('逆透视表'[Attribute])), '逆透视表'[Value] = "Pass" )
- 逻辑:统计去重后测试状态为
Pass的属性数量。
- 失败字段数
失败字段数 = CALCULATE( COUNTROWS(DISTINCT('逆透视表'[Attribute])), '逆透视表'[Value] = "Fail" )
- 逻辑:统计去重后测试状态为
Fail的属性数量。
方案2:利用原始统计字段(如果原始数据准确)
如果原始表中的Fields Tested/Fields Passed/Fields Failed数据是准确的,可直接取每个Reference的唯一值(逆透视后这些字段会重复,取MAX/MIN都能得到正确值):
- 准确总测试字段数
准确总测试字段数 = MAX('逆透视表'[Fields Tested])
- 准确通过字段数
准确通过字段数 = MAX('逆透视表'[Fields Passed])
- 准确失败字段数
准确失败字段数 = MAX('逆透视表'[Fields Failed])
使用说明
- 将上述度量值中的
'逆透视表'替换为你实际的表名。 - 把这些度量值添加到Power BI的可视化组件(比如矩阵表)中,行字段选择
Reference,即可看到每个Reference对应的准确统计结果。
内容的提问来源于stack exchange,提问作者chickensluggets
相关产品推荐
相关产品推荐

