我有一个关于商业智能项目中星型模型的一般性问题。 例如,假设项目由一个事实表 (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 JOIN
ed 到事实表以过滤数据,并且INNER JOIN
返回到您没有选择但结果中显示列的维度。
关于ssas - 商业智能之星模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22993296/