You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中SQL转DAX结果不符求助:子查询转换后数值异常

SQL转DAX后结果不符,求修正方案

我编写了一段SQL子查询,尝试在Power BI中将其转换为DAX表达式,但得到的结果与SQL计算结果差距极大,逻辑未对齐。

SQL代码及结果

select sum(x.totalbays)
from
(
select distinct day_id, sum(distinct ranged_bays) as totalbays  from overviewTable
group by day_id
) x

SQL计算结果:15,219,683.76

当前DAX表达式及结果

TestMeasure = 
  SUMX (
        SUMMARIZE ( 'Overview Table', 'Overview Table'[day_id], "TotalBays", SUM('Overview Table'[ranged_bays])),
        [TotalBays]
    )

DAX计算结果:87,023,857.19

问题原因及修正方案

问题出在逻辑对齐上:SQL内层查询对每个day_id分组下的ranged_bays去重后再求和,而当前DAX直接对ranged_bays求和,未做去重处理,导致重复值被多次累加,结果偏大。

修正后的DAX表达式,需要在每个day_id分组内先取ranged_bays的唯一值再求和,与SQL逻辑保持一致:

TestMeasure = 
SUMX (
    SUMMARIZE (
        'Overview Table',
        'Overview Table'[day_id],
        "TotalBays", SUMX(DISTINCT('Overview Table'[ranged_bays]), [ranged_bays])
    ),
    [TotalBays]
)

或者使用GROUPBY的写法:

TestMeasure = 
SUMX (
    GROUPBY (
        'Overview Table',
        'Overview Table'[day_id],
        "TotalBays", SUMX(DISTINCT(CURRENTGROUP()[ranged_bays]), CURRENTGROUP()[ranged_bays])
    ),
    [TotalBays]
)

内容的提问来源于stack exchange,提问作者jcoke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:52:19