Я разработал относительно простое хранилище данных, использующее звездообразную схему. У меня есть таблица фактов только с первичным ключом, а также со столбцами CompanyID и Amount (фактическое измерение). Конечно, у меня также есть таблица измерений для представления компаний, на которые ссылается таблица фактов.
Теперь мне нужно создать одноуровневую иерархию (CompanyGroup) для компаний. Это кажется простой задачей, но загвоздка в том, что одной компании должно быть разрешено существовать в нескольких CompanyGroups.
Я поэкспериментировал с этим, создав новую таблицу измерений под названием CompanyHierarchy, которая содержит первичный ключ, GroupKey и CompanyKey. Определение определяемой пользователем иерархии, в которой GroupKey является верхним уровнем, а CompanyKey — вторым уровнем, приводит к ошибке Обнаружен повторяющийся ключ атрибута для атрибута CompanyKey при обработке измерения.
Итак, я не совсем уверен, как даже начать с этого. Как создать определяемую пользователем иерархию в измерении, где атрибуты могут существовать несколько раз?
Снимок экрана с моим текущим определением куба можно увидеть по адресу:
img132.imageshack.us/img132/6729/ssasm2m.gif