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

DAX计算月度频率:实现SubGroup统计后Group级正确汇总

解决SSAS中Group维度下SubGroup月度频率求和的DAX问题

需求说明

在SSAS关联的Excel透视表选定周期内,统计FACTS表中每个SubGroupId至少存在1条记录的月份数量(月度频率);当筛选到Group维度层级时,结果需为该Group下所有SubGroup月度频率的总和,而非Group关联的去重月份总数。

数据结构

  • 维度表(Dim):包含ID、SubGroupId、Group字段
  • 事实表(Facts):包含RowId、DimId、Date字段(关联Calendar表的YYYYMMKey字段用于月份统计)

原度量问题

现有DAX度量在SubGroup维度下计算结果正确,但切换到Group维度时,仅返回Group关联的去重月份数,无法实现SubGroup月度频率的求和:

CALCULATE( DISTINCTCOUNT('Calendar'[YYYYMMKey])
         , 'Facts'
         , 'Facts'[DimId] <> 0)
         )

修改后的DAX度量

SubGroup月度频率总和 = 
SUMX(
    VALUES(Dim[SubGroupId]),
    CALCULATE(
        DISTINCTCOUNT('Calendar'[YYYYMMKey]),
        'Facts',
        'Facts'[DimId] <> 0
    )
)

逻辑说明

  • VALUES(Dim[SubGroupId]):获取当前筛选上下文下的所有SubGroupId列表——当筛选Group时,自动返回该Group下的全部SubGroupId;当筛选SubGroup时,仅返回当前SubGroupId
  • SUMX:迭代每个SubGroupId,对每个SubGroup执行内部的CALCULATE计算其月度频率,最终将所有SubGroup的结果求和
  • 内部CALCULATE保留原有逻辑,确保单个SubGroup的月度频率计算准确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:50:00