2016-07-13 80 views
0

我有兩個維度,比如說「Dimension1」和「Dimension2」 這兩個維度應該是相關的,就像Dimension1在Dimension2中可以有一個或多個記錄一樣。關聯SSAS立方體中的二維

要涉及,我有一箇中間表,說「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」表中的這些2個表。創建了兩個新維度,Dimension1和Dimension2。部署和處理的多維數據集。

現在,當我查詢時,我使用Dimension1中的Column1和Dimension2中的Column2,這並不給我所需的結果,我想在A下看到X和Y,而是它給了我所有類似於A,下的X,Y,Z和B,X,Y,Z下的X,Y,Z和C下。尺寸之間的關係沒有發生。我不希望他們通過事實進行關聯。

你可以請幫助我在這裏失蹤。或者是否有可能這樣做。

+0

我想知道你爲什麼沒有在一個維度下建立2層次的層次結構。 – ebayindir

回答

0

問題與Dimension12。

應該使用完全外部生成加入如果(有任何連接鍵。)

否則爲交叉聯接DIMENSION1的和維度2的情況下,沒有關係應該被創建。

你Dimension12應該有以下數據的註釋後

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

編輯。

在情況下,我們DONOT在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步>使更新einsert ETL填充Dimension12 tbale。

step 4>在DSV中使用Dimension12(表格或視圖頂部)。

現在你很好走..

+0

Dimension12確實具有您所說的數據。但是我沒有說你對全外連接的意見,如果你在Dimension1和Dimension1中沒有任何關係,DSV確實有關係,主「Dimension1」外鍵「Dimension12」和主鍵「Dimension2」外鍵「Dimension12」 – Harsha

+0

該案例交叉加入/ CARTESIAN JOIN即選擇d1.Column1,d2.Column2從Dimension1 d1,Dimension2 d2 ..我將在答案中增加更多的細節... –

+0

謝謝,但我不知道它如何解決我的問題。我不想要caterian產品數據。 Dimension12已經在尺寸1和尺寸2之間有關係,如果這種情況我不明白爲什麼我需要再次插入catesian產品。可能我沒有得到。問題是我模擬它,仍然沒有發生關係。我正在使用dimension12來關聯。如果我使用Dimension1中的Colum1和Dimension2中的Column2,那麼它應該顯示關係,這不會發生。 – Harsha