将特定外键字段指定为SSAS数据源中两个表之间的链接

时间:2013-03-12 21:00:59

标签: ssas olap sql-server-data-tools

我是SQL Server Analysis Services的新手,现在尝试构建我的第一个多维数据集(第一个除了Adventure Works教程之外)

问题是如何指定表中的特定字段作为指向另一个表的链接,当存在多个选项(指向同一第二个表的几个键)时。

在我的数据源中,我有一个Department表:(省略了不相关的字段)

| department_key (PK) | ...

和这样的Discipline表:

| discipline_key (PK) | title | department_for_key (FK) | department_of_key (FK) | ...

Discipline表中的两个外键都指向Department表,并且两个约束都在DB中指定。他们的意思仍然完全不同。

在SQL Server数据工具中构建Discipline维度时,我想指定哪些外键应该用作维度(或整个维度)中特定层次结构的级别之间的链接,但是我没有找不到明确 的方法。

有趣的是,SSDT(或SSAS)使用我现在想要的列(department_of_key)来关联这些级别。尽管如此,我可能希望将来在单独的维度(或同一维度的新层次结构)中使用第二个密钥,因此最好知道如何控制该过程。

虽然,我认为这个问题很简单,到目前为止我找不到任何解决方案。我也有一种感觉,在专门用于SSAS的教程中有相关内容,但我在那里找不到任何帮助。

感谢您的回复!

(我也会感谢任何有关问题的更好标题的建议=))

1 个答案:

答案 0 :(得分:3)

我会避免依赖SSAS中的关系定义 - 结果太模糊,难以调试你的帖子。

我将构建一个SQL视图(理想情况下仅适用于SSAS),它涵盖了每个维度的整个范围。这可以独立测试,并以可预测的结果输入SSAS。

使用SQL视图还具有将多维数据集与架构更改和数据问题(例如Null)隔离的优势。