我对商业智能项目中的明星模型有一般性质疑。 例如,假设项目由一个事实表(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)。
以下哪种方法正在发生?
答案 0 :(得分:3)
我不能说对于所有系统,但标准的选择方式是你在维度表上做选择,然后INNER JOIN
到事实表来过滤数据,{{1}返回到您没有选择但在结果中显示列的维度。