SSAS 2012 使用维度值过滤其他维度表

标签 ssas dimension

我有一个客户表和其他几个包含客户 ID 的维度表。

我想要的是按顶级客户选择过滤的维度表。

所以如果我有:

客户
身份证 |姓名

维度A
身份证 |客户 ID |值1
身份证 |客户 ID |值2

维度B
身份证 |客户 ID |值3
身份证 |客户 ID |值4

事实
身份证 |尺寸BId |事实值1 ...
身份证 |尺寸BId |事实值2 ...

..是否可以过滤 CustomerId 并通过维度值渗透到事实表?

或者,我是否始终需要在维度使用中将客户与事实相关联?我可以看到如何通过 DimensionA 将客户与事实关联起来,但我只能将其与一个中间表关联,而不能与两个或更多中间表关联。

或者,我是否还需要在事实表中实际包含 CustomerId?

如有任何帮助,我们将不胜感激。

最佳答案

这完全取决于您用于数据仓库的架构。

我认为星型架构是您拥有的最佳选择。

如果您使用它,您需要在事实表中拥有一个 customer_id 并通过维度使用将它们链接起来。 DimensionA和DimensionB也是如此(即Fact表需要有对应的dimensionA和dimension B的id)。

如果您使用该方法执行此操作,则无需在维度 A 或维度 B 上拥有客户 ID。链接将通过事实表实现。

否则考虑一下:你真的需要二维吗?由于两个维度几乎相同,如果您添加一个名为“类型”的新字段(其中类型在数据源表中为 A 和 B)并将该类型添加到层次结构中,不是会更好吗?这将解决很多问题并使您的架构更加一致!!!

这是来自 Ralph Kimball 网站的链接 Kimball's_Site_Link以比我更好的方式解释什么是什么。您会发现最后一段内容非常丰富!

关于SSAS 2012 使用维度值过滤其他维度表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981667/

相关文章:

arrays - 具有显式 double 的 Fortran 数组

analysis - ActivePivot 叶级聚合和分析维度

android - 在动态交付模块中使用时应用模块尺寸/颜色的值不正确

ssas - 数据挖掘中的案例和嵌套表

sql-server - 在 SSAS 中为 ROLAP 和 MOLAP 建模不规则层次结构的最佳方法是什么?

r - 创建具有新维度并省略 NA 值的新矩阵

arrays - R数组子集化: flexible use of drop

SSAS MDX 除了语句问题

machine-learning - 使用 SSAS 数据挖掘获取测试和训练集的评分结果

mdx - 访问SSAS的不同方法