Sql Server Analysis Services Родительский дочерний элемент с неуникальным ключом - PullRequest
0 голосов
/ 13 августа 2010

В настоящее время я строю наше хранилище данных, в основном используя методы и рекомендации Ральфа Кимбалла.

Для этого мы используем стек Microsoft (поэтому SSIS, SSAS).

Я являюсьнемного застрял, решая, как обрабатывать спецификации (ведомость материалов), которая фактически представляет собой несбалансированную иерархию.

спецификация обрабатывает сборки, которые представляют собой набор деталей.Каждая деталь может иметь свои собственные дочерние детали, и каждая деталь может появляться более одного раза в разных сборках.

Я пытаюсь использовать таблицу DimBOM следующим образом ...

alt text http://lh3.ggpht.com/_nvMK0QZ5mlA/TGUBLXOQiEI/AAAAAAAABec/36u4W218l70/DimProductBOM.JPG

Теперь в SSAS я могу присоединить таблицу к себе (от ChildItemNumber до ItemNumber) и создать измерение.Измерение выберет связь и создаст ссылку родитель-потомок.

Проблема в том, что ItemNumber в этом случае не обязательно уникален (потому что дочерний элемент может быть самим родителем).Если я пытаюсь обработать измерение, SSAS предупреждает о неуникальном ключе атрибута.

Есть ли способ справиться с этим, если не вернуться к разнесенной иерархии, например alt text http://www.bimonkey.com/uploads/sql/recursive7.jpg

Ответы [ 2 ]

1 голос
/ 24 мая 2011

У меня была та же проблема, в моем случае выборка иерархий из таблиц SAP, после долгих поисков в Интернете и работы я нашел решение.Вы можете найти его в моем блоге здесь: http://biwithjb.wordpress.com/

Это выглядит немного сложным из-за сложностей с данными SAP, но в целом все довольно просто ... просто пара трюков тут и там;)

Надеюсь, это поможет.

0 голосов
/ 13 августа 2010

Я думаю, что вы, возможно, путаете две вещи, а именно: детали и сборки. одно из ключевых понятий в измерении «родитель-ребенок» заключается в том, что, хотя у отца может быть много детей и внуков, у ребенка может быть только один родитель. поэтому, я думаю, что части могут быть размерами родительского и дочернего измерения, например:

родительский ключ, дочерний ключ, бизнес-ключ, имя, сумма ноль, 45, A5286, соединительный стержень, 45, 51, B1452, болт, 2 45, 52, B5874, стержень, 1 (если вам нужно 2 болта и 1 стержень для сборки соединительного стержня)

и сборки могут быть другим родительским дочерним измерением: родительский ключ, дочерний ключ, бизнес-ключ, имя, сумма 655, 745, E2497, мотоцикл, 2 745, 874, E7482, двигатель, 1 (если вам нужен 1 двигатель для сборки мотоцикла)

и они могут соединить pehaps в некотором роде факта, где: часть дочернего ключа, сборка дочернего ключа, количество 45, 874, 3 (если вам нужно 3 тяги двигателя в одном двигателе) всегда пытайтесь подключиться на самом нижнем соответствующем уровне.

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

надеюсь, это помогло вам найти ответ, который важен для вас, Ella

...