【发布时间】:2021-03-05 13:26:06
【问题描述】:
想象以下情况:
我正在为一家经纪公司设计一个数据仓库/表格多维数据集/模型。 这意味着当经纪人创建合同时,有买方和卖方。
所以当我创建我的 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,
)
现在我有了客户维度:
CREATE TABLE [dbo].[Dim_Clients](
[ClientKey] [int] IDENTITY(1,1) NOT NULL,
[ClientBK] [int] NOT NULL,
[ClientName] [nvarchar](20) NOT NULL,
)
假设我有 1 个合同,其中 ContractBuyer_Client_Key = 1,ContractSeller_Client_Key = 2,ContractAmount = 1000。
现在,当我查看表格多维数据集时,我想创建一个报告,向我显示有关我的客户和我的 ContractAmount 的详细信息。输出应该是这样的:
FactContractId Client_Key ClientName ContractAmount
10 1 Abraham 1000
10 2 Björk 1000
--------------------------------------------------------
Total 1000
--------------------------------------------------------
是否可以创建这样的互惠报告,其中我将我的事实表中的两个不同列组合在一起?
请注意:我无法将总计除以 2 的解决方案。还有其他一些问题使这种情况无法实现:有时我有第三方作为合同的一部分,而我的表格的这个简单的大纲中没有显示出来。所以我的总数需要是所有独特合同的总和。
【问题讨论】:
标签: many-to-many data-warehouse tabular ssas-tabular