Атрибут в нескольких иерархиях в Analysis Services 2008

Я разработал относительно простое хранилище данных, использующее звездообразную схему. У меня есть таблица фактов только с первичным ключом, а также со столбцами CompanyID и Amount (фактическое измерение). Конечно, у меня также есть таблица измерений для представления компаний, на которые ссылается таблица фактов.

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

Я поэкспериментировал с этим, создав новую таблицу измерений под названием CompanyHierarchy, которая содержит первичный ключ, GroupKey и CompanyKey. Определение определяемой пользователем иерархии, в которой GroupKey является верхним уровнем, а CompanyKey — вторым уровнем, приводит к ошибке Обнаружен повторяющийся ключ атрибута для атрибута CompanyKey при обработке измерения.

Итак, я не совсем уверен, как даже начать с этого. Как создать определяемую пользователем иерархию в измерении, где атрибуты могут существовать несколько раз?

Снимок экрана с моим текущим определением куба можно увидеть по адресу:

img132.imageshack.us/img132/6729/ssasm2m.gif


person Community    schedule 19.05.2009    source источник
comment
Таблица иерархии вашей компании не содержит столбца CompanyKey. Если вы пытаетесь создать измерение для всех таблиц на диаграмме, это не сработает. Если вы хотите, чтобы Группа и Компания находились в одной иерархии, взгляните на ссылку, которую я только что добавил в свой предыдущий ответ.   -  person Darren Gosbell    schedule 27.05.2009


Ответы (1)


Вам необходимо создать отношение «многие ко многим» (одна компания может принадлежать многим группам, а одна группа может состоять из многих компаний). В кубе Adventure Works есть пример отношения «многие ко многим» вокруг измерения причины продажи и есть обширный технический документ здесь это объясняет ряд различных способов использования отношений «многие ко многим».

Существует также метод поддержки нескольких участников в одной иерархии, который я задокументировал здесь.

person Darren Gosbell    schedule 20.05.2009
comment
Фактически я определил отношение «многие ко многим». Я отредактировал свой исходный пост и добавил URL-адрес к снимку экрана, который показывает мой текущий куб и определения отношений. - person ; 20.05.2009