Power BI DIVIDE函数计算异常,无法获取0.9974精准值求助
DAX计算结果精度异常排查指南
问题现象
- 预期计算结果为0.9974,但直接使用DIVIDE的度量值返回1.00:
% test = DIVIDE( SUM('new_contractline'[Document License Area (ha)]), SUM('new_kpis'[Value]) )
- 将上述结果乘以100后返回99.74(符合比例预期),但目标结果为0.9974:
%%% Document License Area (ha) divided by Value = DIVIDE( SUM('new_contractline'[Document License Area (ha)]), SUM('new_kpis'[Value]), 0 ) *100
- 尝试将结果乘以0.01,返回0.01,不符合预期:
%%% Document License Area (ha) divided by Value = DIVIDE( SUM('new_contractline'[Document License Area (ha)]), SUM('new_kpis'[Value]), 0 ) *.01
- 单独创建度量值将初始DIVIDE结果乘以0.01仍返回1.00;已尝试调整显示小数位数,无效。
排查方向
- 度量值格式设置:检查度量值是否被设置为「百分比」格式且仅保留2位小数。若为百分比格式,0.9974会被显示为100%(即1.00),而乘以100后的99.74若显示为常规数字则符合比例逻辑。
- 聚合值精度验证:单独创建两个度量值,分别输出
SUM('new_contractline'[Document License Area (ha)])和SUM('new_kpis'[Value])的原始结果,确认分子分母是否存在自动取整或精度丢失。 - 计算上下文检查:查看当前可视化对象或页面是否存在额外筛选器,导致SUM聚合的结果并非预期的数值组合。可在卡片图中单独展示两个SUM值,验证计算基础是否正确。
- 数据类型与隐性转换:确认两个SUM字段的数据类型是否一致(如是否均为小数型),整数除法会自动取整导致结果异常。可通过FORMAT函数输出完整精度的计算结果验证:
% test 原始值 = FORMAT( DIVIDE( SUM('new_contractline'[Document License Area (ha)]), SUM('new_kpis'[Value]) ), "0.0000" )
内容的提问来源于stack exchange,提问作者Unicorn_tech
相关产品推荐
相关产品推荐

