将特定的外键字段指定为 SSAS 数据源中两个表之间的链接
Posted
技术标签:
【中文标题】将特定的外键字段指定为 SSAS 数据源中两个表之间的链接【英文标题】:Specify a particular foreign key field as a link between two tables in the SSAS data source 【发布时间】:2013-03-12 21:00:58 【问题描述】:我对 SQL Server Analysis Services 很陌生,现在尝试构建我的第一个多维数据集(第一个除了 Adventure Works 教程)
问题是当存在多个选项(指向同一个第二个表的多个键)时,如何指定一个表中的特定字段作为到另一个表的链接。
在我的数据源中,我有一个部门表:(省略了不相关的字段)
| department_key (PK) | ...
还有这样的纪律表:
| discipline_key (PK) | title | department_for_key (FK) | department_of_key (FK) | ...
Discipline 表中的两个外键都指向 Department 表,并且这两个约束都在 DB 中指定。但它们的含义却大不相同。
在 SQL Server Data Tools 中构造学科维度时,我想指定哪些外键应用作维度(或整个维度)中特定层次结构的级别之间的链接,但我没有'没有找到明确的方法。
有趣的是,SSDT(或 SSAS)恰好使用我现在想要的列(department_of_key
)来关联级别。不过,将来我可能想在单独的维度(或同一维度的新层次结构)中使用第二个键,因此最好知道如何控制该过程。
虽然,我认为这个问题很简单,但到目前为止我还没有找到任何解决方案。我也觉得专门针对 SSAS 的教程中有一些相关的内容,但我在那里找不到任何帮助。
感谢您的回复!
(我也将感谢有关更好的问题标题的任何建议=))
【问题讨论】:
【参考方案1】:为此,我会避免依赖 SSAS 中的关系定义 - 结果太模糊且难以调试参考您的帖子。
我将构建一个涵盖每个维度的整个范围的 SQL 视图(理想情况下仅适用于 SSAS)。这可以独立测试,并以可预测的结果输入 SSAS。
使用 SQL 视图还具有使您的多维数据集免受架构更改和数据问题(例如空值)的影响。
【讨论】:
哦,这很有道理。我肯定会考虑尝试这个选项 - 特别是考虑到我几乎没有其他选项。)谢谢!以上是关于将特定的外键字段指定为 SSAS 数据源中两个表之间的链接的主要内容,如果未能解决你的问题,请参考以下文章