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

能否在数据仓库/表格模型中基于不同字段建立多对多关联实现买卖双方合同统计报表

Tabular模型多角色客户关联统计实现咨询

项目背景

我正在为某经纪公司搭建数据仓库、设计SSAS Tabular表格模型,匹配核心业务规则:经纪方创建合同时,单份合同会同时关联买方与卖方两类客户主体,后续业务迭代还会扩展合同关联第三方参与主体的场景。

当前已设计的表结构

合同事实表 Fact_Contracts

CREATE TABLE [dbo].[Fact_Contracts](
    [FactContractId] [INT] IDENTITY(1,1) NOT NULL,
    [ContractBuyer_Client_Key] [INT] NOT NULL,
    [ContractSeller_Client_Key] [INT] NOT NULL,
    [ContractDate_Key] [INT] NOT NULL,
    [ContractAmount] [DECIMAL](18, 2) NOT NULL,
)

客户维度表 Dim_Clients

CREATE TABLE [dbo].[Dim_Clients](
    [ClientKey] [int] IDENTITY(1,1) NOT NULL,
    [ClientBK] [int] NOT NULL,
    [ClientName] [nvarchar](20) NOT NULL,
)

预期报表效果

以单笔实际合同为例:存在1笔ID为10的合同,关联买方客户键值为1(客户名称Abraham)、卖方客户键值为2(客户名称Björk),合同金额为1000。要求基于客户维度制作合同金额统计报表,输出效果如下:

FactContractId  Client_Key   ClientName   ContractAmount
10              1            Abraham      1000
10              2            Björk        1000
--------------------------------------------------------
Total                                     1000
--------------------------------------------------------

核心疑问

是否可以在数仓/Tabular表格模型中,基于事实表内的两个不同客户关联字段,建立适配客户维度的多对多关联关系,实现这类同时关联事实表中两个不同客户字段的双向关联统计报表,满足按客户维度聚合查看合同金额的需求?

关键业务约束

  • 直接将报表总金额除以2的方案完全不可行:实际业务场景下合同还会关联第三方主体(上述展示的表结构为简化演示版本,未体现对应第三方字段),要求报表统计的总金额为所有独立合同的真实求和值,绝对不能出现跨关联字段的重复计算问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 07:54:03