2

我正在开发一个 BI 解决方案,并且我正在尝试在“客户”维度中创建一个层次结构,或多或少地复制我知道最终用户会做什么。

Client 维度表与其他表有 3 个外键关系,这些关系中的每一个都独立于其他关系。它们是角色、服务类型和状态。

每当使用此维度时,它几乎总是首先使用 Role 属性,因此我尝试创建像 Role -> Service Type -> Client 这样的层次结构。现在,当我尝试使用此设置进行处理时,我收到错误“根据数据源视图中的关系无法访问连接所需的表”

有没有办法创建一个像这样具有不同属性的层次结构?

4

1 回答 1

0

不可能以这种方式跨多个彼此不相关的维度构建层次结构。

一种选择是将您的模式重组为星型模式而不是雪花模式。如果这不是一个选项,根据详细信息,您可能能够在 SSAS 中构建查询或在 SQL Server 中构建视图,然后在 SSAS 中创建维度。

根据给出的信息,很难判断 Role、Service Type 和 Status 是否应该在单独的表中,但请好好考虑一下。您想从中使用的属性实际上应该是客户端的属性吗?这样做会让您摆脱其中一些表格和/或减少雪花的数量吗?请记住,维度模型与普通的关系模型非常不同:其目的是保持连接的数量较少,并且可以在不同的表中重复属性以提高效率。当然,有时重组并不是一个现实的前景,此时查询或视图可能有助于解决此问题。

我自己最近一直在学习 SSAS,并且发现当我努力在 SSAS 中工作时,问题通常是底层架构没有以我想要完成的最佳方式设置。

(抱歉,如果这有点含糊,但在不知道数据性质的情况下很难更详细,而且我还没有能力发表评论并要求更多信息!)

于 2014-09-23T19:56:05.153 回答