在SSAS中为你们提问。我试图在OLAP SSAS多维数据集环境中定义一对多的关系。但是,我在定义主键时遇到了问题。示例表在下面。前三个表之间的关系很容易定义(TradeDate、NYMEX和NYMEX合同)。然而,我的目标是在NYMEX合同和示范合同之间建立一种一对多的关系。换言之,来自1 NYMEX合同的数据将在示范合同数据集中多次使用。
表: TradeDate
表:纽约商品交易所(NO )
表:纽约商品交易所合同
表:示范合同
我需要在NYMEX合同和模型Contract...however之间建立一对多的关系,我的PK在模型合同中列错了。有什么想法吗?
为了帮助澄清-我试图定义一个维度->维度关系。表“示范合同”是一个查找表。
发布于 2012-05-01 19:17:15
您所拥有的是事实数据(Trades)和维度数据(模型契约)之间多到多关系的一个例子。看看这个:维数关系。您的情况是一个罕见的情况,因为模型合同只能分配给一个合同名称,但它仍然属于多到多的情况。这是在维度建模中使用桥接表来处理的,在SSAS中,他们称它为中间事实表。一旦您像这样安装了DSV:

然后,您将在项目中创建维度,然后为ModelContract创建一个度量组,以便能够将其用作中间事实表。然后,您将设置多维数据集的维度用法,选择多到多的关系:


另外,您应该始终在维度中使用替代项键。它们具有如下几个优点:事实表中的存储空间、变化缓慢的维度、源系统解耦、.
发布于 2012-05-01 08:18:42
你需要在这里做二维。
首先,不应将日期添加为整个维度的一部分。日期本身应该作为一个维度存在。
第二,正如我所看到的,你应该加入NYMEX合同和示范合同,并建立一个维度。您可以使用命名查询将它们连接到DSV上,也可以创建SQL视图,也可以在DSV上将两个表分开,并在维度上将它们连接起来。
第三,是你的事实表。一旦创建了前两个维度,就应该将它们添加到多维数据集中,并使用ContractName和TradeDate字段将它们与维度关系选项卡上的事实表连接起来。
https://stackoverflow.com/questions/10385513
复制相似问题