powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Преобразование иерархии из OLTP в DWH
5 сообщений из 5, страница 1 из 1
Преобразование иерархии из OLTP в DWH
    #33099715
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация такова.
Есть олтп-таблица имеющая след. структуру
GRUPPA
(
GRUPPA_ID number,
GRUPPA_NAME varchar2(100),
PARENT_ID number
).
Уровень иерархии = 2. Первый уровень - группа. Второй уровень - подгруппа.
Некоторые группы могут не иметь подгрупп.
Данная таблица будет размерностью в хранилище. Ее необходимо преобразовать
в удобоворимый для хранилища формат. Отчеты по хранилищу в рамках данной размерности
будут делаться в основном по группе (лишь малая часть по подгруппе, но такие отчеты будут).

Вот вариант как это можно сделать
SUB_GRUPPA
(
SUB_GRUPPA_ID number,
SUB_GRUPPA_OLD_ID number,
GRUPPА_OLD_ID number,
SUB_GRUPPA_NAME varchar2(100),
GRUPPA_NAME varchar2(100)
)
SUB_GRUPPA_ID - новый ключ в хранилище
SUB_GRUPPА_OLD_ID - ключ из олтп системы (для заливки данных)

А вот что будет в фактах
FACT
(
...,
SUB_GRUPPA_ID number,
SUB_GRUPPA_NAME varchar2(100),
GRUPPA_NAME varchar2(100),
...
)

Как считаете - правилен ли мой вариант?
...
Рейтинг: 0 / 0
Преобразование иерархии из OLTP в DWH
    #33099770
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет.
Первая ошибка - не надо размещать в таблице фактов строки. в таблице фактов только ссылка на измерение и все.
Второе - измерение можно либо сделать на основе одной представленной таблице (Parent-Child измерение), либо на основе двух для каждого уровня (Snowflake)
...
Рейтинг: 0 / 0
Преобразование иерархии из OLTP в DWH
    #33100174
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответ!
Про первое я понял ...
А вот про второе
1) "измерение можно либо сделать на основе одной представленной таблице (Parent-Child измерение)" - можно поподробнее???
схема snowflake - не подходит.

P/s Вот есть же иерархия Календарь
день - > месяц -> год
я хочу нечто подобное и тут сделать.
...
Рейтинг: 0 / 0
Преобразование иерархии из OLTP в DWH
    #33100294
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если используется MS AS:
При создании измерения при помощи визарда можно выбрать Parent-Child - именно Ваш случай.
Если не подходит такой вариант, то можно денормализовать таблицу (ведь уровней всего два) и представить так:
ID - идентификатор дочернего уровня (id)
Name - название дочернего уровня (varchar)
Parent Name - название родительского уровня (varchar).
Тогда Paren Name пойдет в верхний уровень измерения, Name - в нижний. В таблице фактов будет ссылка на ID.
...
Рейтинг: 0 / 0
Преобразование иерархии из OLTP в DWH
    #33102335
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. я примерно так и думал. Единственное, что запросы в 99% случаев будут выполнятся по Parent Name. Т.е. получается, что с данной таблицей размерности постоянно нужно будет соединяться. Может в факт добавить еще и PARENT_ID для оптимизации?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Преобразование иерархии из OLTP в DWH
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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