ssas - 商业智能之星模型

标签 ssas business-intelligence teradata business-objects qlikview

我有一个关于商业智能项目中星型模型的一般性问题。 例如,假设项目由一个事实表 (F) 和 3 个维度(D1、D2、D3)组成。 此外,我们假设事实表如下所示:

d11   d21   d21        m11   m21   m21
d12   d22   d22        m12   m22   m22
d13   d23   d23        m13   m23   m23
d14   d24   d24        m14   m24   m24
d15   d25   d25        m15   m25   m25
d16   d26   d26        m16   m26   m26
d17   d27   d27        m17   m27   m27

例如 - d23 = 维度 nr 2,维度中的值 nr 3 (措施也一样)

现在,我们假设在 3 个维度中的每一个维度上都进行了选择,并且选择了事实表的以下部分:

d11   d21   d21        m11   m21
D12   d22   D22        m12   m22
D13   D23   D23        m13   m23
D14   D24   D24        m14   m24
d15   D25   D25        m15   m25
d16   d26   D26        m16   m26
d17   d27   d27        m17   m27

现在我想知道哪些选择(标有大写“D”)将/应该/需要考虑在星型模型中? 如果应用 OUTER JOIN 原则,则将选择以下内容:

D12   d22   D22        m12   m22
D13   D23   D23        m13   m23
D14   D24   D24        m14   m24
d15   D25   D25        m15   m25
d16   d26   D26        m16   m26

即对于第一个测量中的选择,将考虑以下值(m12、m13、m14、m15、m16),对于第二个测量(m22、m23、m24、m25、m26)。

另一方面,如果 INNER JOIN 位于事实表和维度表之间,结果将是以下选择:

D13   D23   D23        m13   m23
D14   D24   D24        m14   m24

即对于第一个度量,将考虑以下值(m13、m14),对于第二个度量(m23、m24),将在相应的聚合函数中考虑。

以下哪种方法正在发生?

最佳答案

我不能说对所有系统都这样,但是标准的选择方式是在维度表上进行选择,然后将维度表INNER JOINed 到事实表以过滤数据,并且INNER JOIN返回到您没有选择但结果中显示列的维度。

关于ssas - 商业智能之星模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22993296/

相关文章:

sql - 使用 t-sql 进行透视转换

sql-server - 数据挖掘 - 预测分析

odbc_connect 成功连接到 Teradata 14.0 后出现 PHP odbc_exec 段错误

sql - 如何在 teradata sql 中正确迭代游标?

sql - 更改 SSAS 数据库的 ID

ssas - 将一列中一定百分比的值替换为另一列中的值

ssas - 如何在给定的时间内创建或仍然打开所有项目

sql-server - 如何为维度仓库中的日期设计收缩维度表并在SSAS中使用?

sql-server-2005 - 如何向事实表 'after' 添加一列它已经部署和填充?

hadoop - 为什么 sqoop 将导入中的 DECIMAL 类型从 Teradata 映射到 DOUBLE?