我是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的教程中有相关内容,但我在那里找不到任何帮助。
感谢您的回复!
(我也会感谢任何有关问题的更好标题的建议=))
答案 0 :(得分:3)
我会避免依赖SSAS中的关系定义 - 结果太模糊,难以调试你的帖子。
我将构建一个SQL视图(理想情况下仅适用于SSAS),它涵盖了每个维度的整个范围。这可以独立测试,并以可预测的结果输入SSAS。
使用SQL视图还具有将多维数据集与架构更改和数据问题(例如Null)隔离的优势。