关联SSAS多维数据集中的两个维度

时间:2016-07-13 05:39:19

标签: sql-server ssas

我有两个维度,比如说“Dimension1”和“Dimension2” 这两个维度应该是相关的,就像Dimension1在Dimension2中可以有一个或多个记录一样。

要说明,我有一个中间表,说“Dimension12”

样本值如下。

DIMENSION1

Column 1
A
B
C

DIMENSION2

Column2
X
Y
Z

Dimension12

Column1 Column2
A       X
A       Y
B       X
C       Y
C       Z

在DSV中,我使用“Dimension12”表将这两个表关联起来。创建了两个新维度Dimension1和Dimension2。已部署和处理的多维数据集。

现在当我查询时,我使用Dimension1中的Column1和Dimension2中的Column2,这不是给我所需的结果,我想看到A下的X和Y,而是它给了我所有像X,Y,Z在A和B下的X,Y,Z和C下的X,Y,Z.尺寸之间的关系没有发生。我不希望他们通过事实来联系。

请帮助我帮助我在这里失踪。或者是否可以这样做。

1 个答案:

答案 0 :(得分:0)

问题在于Dimension12。

如果(有任何连接键),应使用全外连接生成。

否则,如果没有关系,它应该被创建为Dimension1和Dimension 2的交叉连接

你Dimension12应该有以下数据

Column1  Column2
A        x
B        x
C        x
A        y
B        y
C        y

评论后编辑。

如果我们在Dimension1和Dimension2中没有关系

第1步>创建表Dimension12

   Create  table Dimension12 
( id int identity (1,1),-- as i would required a surrogate key for referencing in fact.

Column1 varchar(50),

Column2 varchar(50))


    insert into Dimension12 (Column1,Column2)
     select d1.Column1,d2.Column2 from Dimension1 d1,Dimension2 d2

第2步> 一次填充数据

insert into Dimension12 (Column1,Column2)
select d1.Column1,d2.Column2 from Dimension1 d1,Dimension2 d2

第3步>创建一个UpdateInsert ETL来填充Dimension12 tbale。

第4步>在DSV中使用Dimension12(此表顶部的表格或视图)。

现在你很高兴......