powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
12 сообщений из 12, страница 1 из 1
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33692720
Panky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,

Есть таблица фактов с полями GoodKey, GoodKindKey, Money.

Ключ GoodKey указывает на таблицу товаров, ключ GoodKindKey указывает на таблицу типов товаров. Money - мера.
Хочу построить двухуровневое измерение - GoodKind/Good. Не нашел способа как сделать это в AS2K5. В AS2K - легко - накидал ключи в измерение и всё, а AS2K5 ругается, что не может заджойнить одну из таблиц - либо GoodKind либо Good.
Попытка мигрировать аналогичный куб из AS2K ни к чему не привела - куб мигрируется, но при процессинге выдается та же ошибка - "не могу заджойнить таблицу".
BOL читал, но так и не удалось проникнуться свежими идеями Microsoft, не позволяющими сделать простейший куб по схеме "звезда".
Что делаю не так?
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33692816
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PankyЗдравствуйте,

Есть таблица фактов с полями GoodKey, GoodKindKey, Money.

Ключ GoodKey указывает на таблицу товаров, ключ GoodKindKey указывает на таблицу типов товаров. Money - мера.
Хочу построить двухуровневое измерение - GoodKind/Good. Не нашел способа как сделать это в AS2K5. В AS2K - легко - накидал ключи в измерение и всё, а AS2K5 ругается, что не может заджойнить одну из таблиц - либо GoodKind либо Good.
Попытка мигрировать аналогичный куб из AS2K ни к чему не привела - куб мигрируется, но при процессинге выдается та же ошибка - "не могу заджойнить таблицу".
BOL читал, но так и не удалось проникнуться свежими идеями Microsoft, не позволяющими сделать простейший куб по схеме "звезда".
Что делаю не так?

JOIN между таблицами в AS2K5 надо делать не в конструкторе измерений а в DSV, а в конструктре измерений только пользоваться ими.
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33693556
Panky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я и делаю в DSV, тем более, что я не нашел способа создать связи в редакторе измерений.
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33694222
Panky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот еще пример. Таблицы другие, но смысл тот же. Хочу видеть в одном измерении - верхний уровень ExpenseType, нижний - Expense. AS2K5
это позволяет или нет?
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33694465
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас же таблицы связаны не друг с другом, а через таблицу фактов.
Возникает вопрос, является ли ваша желаемая иерархия структурой измерения или это всего навсего "получившаяся" комбинация, для одного факта одна, для другого другая?
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33695052
Panky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, это не "получившаяся" комбинация, а следствие применения SCD2 в хранилище данных, когда комбинация суррогатных ключей зависит от момента времени (то есть какие суррогатные ключи действовали для натуральных ключей в данный момент времени).
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33699460
Andriy7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Согласно Вашей схеме, отношение между ЕxpenseName и ExpenseTypeName не многие к одному, как это

обычно в иерархиях (в документации можно встретить термин natural hierarchy),а многие ко многим. При

построении такой иерархии нужно принимать во внимание, что значения одного из ExpenseName будут

включены в сумму более чем одного из ExpenseTypeName.

Не уверен, зачем вам нужна именно иерархия (ведь, если сделать два измерения на основе Expensеs и ExpenseTypes таблиц, то, например, в Office Pivot Table, можно просматривать имена по типам и наоборот - типы по именам) - но если нужно, то пожалуйста - ниже описание.

1. Создаете новое измерение на основе всех 3-х таблиц. Ключевой атрибут (Key Attribute), назовем его TypeAndExpense будет построен на основе 2-х колонок. Это делается редактированием KeyColumns коллекции в Properties таблице, когда вы выделите атрибут. 2 колонки - это ExpenseKey и ExpenseTypeKey таблицы uw_Expense.... Вы также можете создать это измерение с помощью Dimension Wizard.

2. В этом же измерении создаете атрибут ExpenseName и ExpenseTypeName на основе соответствующих колонок из таблиц Expenses и ExpenseTypes.

3. Создаете иерархию и добавляете уровни (Levels) на основе атрибутов ExpenseTypeName и ExpenseName.

4. Создаете новый куб. Группа мер (извините, с русскоюзычной терминилогией туговато) (Measure Group) на основе таблицы uw_Expense.... Меры - Amount и TotalExpense на основе соответствующих колонок. Добавляете ваше измерение (созданные на шагах 1,2) в куб.

5. Остается связать измерение с группой мер. Переходите на страницу Dimension Usage. Там создаете Regular отношение. Granularity Attribute выберите TypeAndExpense, созданный на шаге 1. В правой колонке таблице соответствий колонок, выберите все те же ExpenseKey и ExpenseTypeKey.

Все.
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33701234
Panky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По схеме отношение ExpenseName и ExpenseTypeName относится к типу многие-ко-многим, но фактически механизм загрузки данных в хранилище не позволяет одному и тому же ExpenseName принадлежать нескольким ExpenseTypeName. Поэтому я могу с полным правом строить иерархию ExpenseTypeName/ExpenseName.

Я выполнил все перечисленные Вами действия и опять получил трацидионную ошибку - "Errors in the high-level relational engine. The 'dbo_ExpenseTypes' table that is required for a join cannot be reached based on the relationships in the data source view".
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33701581
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если фактически многозначности "нет", то кто вам мешает это сделать декларативно, т.е. создать обычное отношение "один к многим", и не иметь головной боли.
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33702504
Panky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В прошлый раз был неточен в описании - действительно получается связь многие-ко-многим, но это не приводит к ошибкам агрегации, т.к. каждому ключу соответствует свое время жизни и эти периоды не пересекаются.

Сейчас как раз стоит вопрос о переделке таблиц фактов, но пока есть множество таблиц со старой схемой, а поскольку вопрос этот из-за SCD непростой, то сейчас приходится строить кубы по старой схеме.
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33705735
Andriy7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Либо я описал недостаточно ясно, либо Вы воспроизвели неточно, либо где-то неправильно мы друг друга поняли, но я только что сделал простую Ms-Access базу с Вашей схемой и построил OLAP проект. Все работает.

Если Вы мне нашишете на andrewgaЭТnetzeroДОТcom, то я Вам пошлю в ответ архив с проектом и MsAccess базой, которые Вы сможете попробовать и написать где, что не так.
...
Рейтинг: 0 / 0
AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
    #33708108
Panky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, действительно, это я неточно воспроизвел последовательность действий. Оказалось, что всё работает.
Большое спасибо за помощь.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / AS2K5: Как сделать многоуровн. измерения с схеме "звезда"?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]