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

基于桥接表关联的两表创建带求和的DAX计算表

DAX计算表实现方案

假设各表名称如下(可根据实际表名替换):

  • 维度表:Report_Dim(包含Report、ReportRow、Account、Sign、UniqueKey字段)
  • 桥接表:Account_Bridge(关联UniqueKey与Account)
  • 事实表:Amount_Fact(包含FactKey、Account、Amount、Date字段)
  • 日期表:Date_Dim(包含Date、Month字段)

基础实现代码

以下是生成目标计算表的核心DAX表达式:

目标计算表 = 
SUMMARIZECOLUMNS (
    Report_Dim[Report],
    Report_Dim[ReportRow],
    Amount_Fact[Account],
    Date_Dim[Month],
    "Sum(Sign)", CALCULATE ( SUM ( Report_Dim[Sign] ) ),
    "Sum(Amount)", CALCULATE ( SUM ( Amount_Fact[Amount] ) )
)

关键说明

  • 使用SUMMARIZECOLUMNS完成多维度分组聚合,直接指定需要保留的维度字段(Report、ReportRow、Account、Month)。
  • 依赖模型中已配置的关联关系:桥接表Account_Bridge连接Report_Dim.UniqueKey与Amount_Fact.Account,日期表与事实表通过Date字段关联,DAX会自动处理跨表筛选逻辑。
  • 通过CALCULATE配合聚合函数,分别计算每个维度分组下的Sign总和与Amount总和。

显式关联控制版本

如果桥接表的关联逻辑需要更精准的控制,可使用TREATAS显式指定匹配规则:

目标计算表 = 
CALCULATETABLE (
    SUMMARIZE (
        CROSSJOIN ( Report_Dim, Amount_Fact, Date_Dim ),
        Report_Dim[Report],
        Report_Dim[ReportRow],
        Amount_Fact[Account],
        Date_Dim[Month],
        "Sum(Sign)", SUM ( Report_Dim[Sign] ),
        "Sum(Amount)", SUM ( Amount_Fact[Amount] )
    ),
    TREATAS (
        SELECTCOLUMNS ( Account_Bridge, "UniqueKey", Account_Bridge[UniqueKey], "Account", Account_Bridge[Account] ),
        Report_Dim[UniqueKey], Amount_Fact[Account]
    ),
    RELATEDTABLE ( Date_Dim )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:32:37