2016-07-13 5 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 Я пересказал эти 2 таблицы, используя таблицу «Dimension12». Создано два новых измерения: Dimension1 и Dimension2. Развернутый и обработанный куб.

Теперь, когда я запрашиваю, я использовал Column1 из Dimension1 и Column2 из Dimension2, это не дает мне требуемого результата, я хочу видеть X и Y под A, вместо этого он дает мне все как X, Y, Z под A и X, Y, Z под B и X, Y, Z под C. Реляционная между размерностью не происходит. Я не хочу, чтобы они касались фактов.

Не могли бы вы помочь мне в этом. Или это можно сделать.

+0

Интересно, почему вы не создали иерархию с двумя уровнями под одним измерением. – ebayindir

ответ

0

Проблема с Dimension12.

Он должен быть создан с помощью полного внешнего соединения если (есть ли присоединиться ключ.)

Else он должен быть создан как перекрестное соединение из dimension1 и размерности 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> сделать обновление einsert ETL для заполнения Dimension12 tbale.

Этап 4> использовать Dimension12 (таблица или представление сверху этой таблицы) в DSV.

Теперь вы готовы к работе.

+0

Dimension12 имеет данные, как вы сказали.Но у меня не было того, что вы говорили о полном внешнем соединении, у DSV есть отношения, Primary «Dimension1» Foreign «Dimension12» и Primary «Dimension2» Foreign «Dimension12» – Harsha

+0

в случае, если у вас нет какого-либо отношения в Dimension1 и Dimension1 в в этом случае перекрестное соединение/CARTESIAN JOIN, т.е. выберите d1.Column1, d2.Column2 из Dimension1 d1, Dimension2 d2 .. я добавлю больше деталей в ответ ... –

+0

Спасибо, но я не уверен, как он решает мою проблему. Я не хочу данных по каталонским продуктам. Dimension12 уже имеет отношение между размером 1 и размерностью2, если в этом случае я не вижу, почему мне нужно снова вставить катеизм. Наверное, я не получил. Проблема в том, что я смоделировал ее, и отношения пока не происходят. Я использую размерность12 только для связи. Если я использую Colum1 из Dimension1 и Column2 из Dimension2, тогда он должен показать связь, и этого не происходит. – Harsha

Смежные вопросы