SSAS一对多空间关系(SSAS One to Many Dimensional Relations

2019-06-24 02:23发布

问题在SSAS你们都。 我试图定义一个在OLAP SSAS多维数据集环境中的许多关系。 但是,我正在与定义主键的问题。 实施例表如下。 第一3和表之间的关系很容易定义(TradeDate,NYMEX贸易及NYMEX合同)。 然而,我的目标是创建一个NYMEX合同和示范合同之间一对多的关系。 换句话说,从1 NYMEX合同的数据将被用在示范合同数据集多次。

表:TradeDate

  • TradeDate(PK)
  • 月等..

表:NYMEX交易(NO PK)

  • ContractName
  • TradeDate
  • 价钱

表:NYMEX合约

  • ContractName(PK)

表:合同范本

  • ModelContractName(PK)
  • ContractName

我需要创建一个NYMEX合同和示范合同之间有很多关系......但是我的PK是在示范合同错误的列。 有任何想法吗?

为了帮助澄清 - 我试图定义一个维度 - >维度关系。 表“示范合同”是一个查找表。

Answer 1:

你有什么是你的事实数据(交易)和维度数据(示范合同)之间的许多一对多的关系的一个例子。 看看这个: 维度关系 。 你的情况是罕见的情况下,由于示范合同只能被分配到一个合同名称,但它仍是许多到许多情况下下降。 这是处理使用在三维建模桥接表,并在SSAS他们认为这是intermidiate事实表。 一旦你有你的DSV的设置是这样的:

这样,你会在你的项目中创建你的尺寸,然后创建一个度量组ModelContract能够使用它作为一个中间事实数据表。 那么您需要建立多维数据集选择许多一对多的关系维度用法:

作为一个侧面说明,你应该总是使用代理键为你的尺寸。 他们有几个优点,例如你的事实表的存储空间,慢慢改变尺寸,源系统解耦,...



Answer 2:

你需要做两个方面。

第一,你不应该添加您的日期作为全尺寸的一部分。 日期本身应该存在一个尺寸。

第二,因为我看到,你应该加入NYMEX合同和合同范本,并作出尺寸。 你可以加入他们的DSV带有命名查询或进行SQL视图,或者您可以在DSV分离表和加入他们的尺寸。

三,NYMEX交易是事实表。 一旦你有两个以前的尺寸创建,你应该将它们添加到立方体和使用领域ContractName和TradeDate的维度关系选项卡上的事实表加入他们的行列



文章来源: SSAS One to Many Dimensional Relationship