powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Генерация ключей верхних уровней измерения в OWB
10 сообщений из 10, страница 1 из 1
Генерация ключей верхних уровней измерения в OWB
    #33085550
Tomcat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используется OWB 10.1.0.2
Сгенерить ключи для самого нижнего уровня элементарно с помощью
MAPPING SEQUENCE, а вот как сгенерить ключи для верхних уровней ?
Вешать свою процедуру на Post-Mapping Process или есть более
изящное решение ?
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33085984
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ооо, больная мозоль :-)))
а они должны быть уникальны в пределах измерения? если да то
есть 3 варианта точнее 2,5
1. засунуть весь алгоритм в table function, что я и сделал
2. через стейджевую таблицу типа Id, long_name
3. ID следующего уровеня умножать на 10000 например следующего еще на 10000
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33085995
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поясните задачу, я лично не понял

"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33086119
Tomcat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Sintetik

Насчет уникальности пока точно не знаю, надо почитать доки, но в
примере Sample Global Data for Analytic Workspace Manager 10g именно так.

Насчет вриантов
1. Имеется в виду Pipelined Table Functions ? Наверное самый тот вариант
наряду со своей процедурой в Post-Mapping Process
2. Не совсем понял, ведь в стеджевой таблице это тоже надо как-то генерить
3. Не прокатит
CHANNEL_ID CHANNEL_DSC TOTAL_CHANNEL_ID TOTAL_CHANNEL_DSC
2 Direct Sales 1 All Channels
3 Catalog 1 All Channels
4 Internet 1 All Channels

если 2,3,4 умножим на 10000, то будет

2 Direct Sales 20000 All Channels
3 Catalog 30000 All Channels
4 Internet 40000 All Channels

что не годится.

Придумал еще вариант: делать измерения snowflake, тогда уровни генерить
в отдельных таблицах с помощью MAPPING SEQUENCE

Да, жаль что встроенного средства нету :-(

to hell

см пример выше, генерить надо все что выше CHANNEL, т.е.TOTAL_CHANNEL_ID
хотя уровней может быть больше, например
item_id,
item_dsc,
item_package_id,
family_id,
family_dsc,
class_id,
class_dsc,
total_product_id,
total_product_dsc,
item_buyer,
item_marketing_manager


item_id есть и генерится с помощью MAPPING SEQUENCE, а
item_package_id,
family_id,
class_id,
total_product_id надобно сгенерить
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33086657
kosour
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tomcat
Придумал еще вариант: делать измерения snowflake, тогда уровни генерить
в отдельных таблицах с помощью MAPPING SEQUENCE

Да, жаль что встроенного средства нету :-(



Если в таблицу добавить колонку LEVEL, то справочник превратится в треугольный, заполнение надо будет вести по убыванию level'a и заполнение колонок *_ID становится тривиальным (в построчном режиме)- sequence + lookup. Либо разбить на последовательность маппингов - тогда похоже на snowflake.

А в источнике справочника ID есть свои для всех уровней ? И для item, и для channel ? Тогда плоская перекодировочная таблица еще более облегчит жизнь
SRC_ID, DWH_ID - которая заполняется отдельным маппингом (или pre-process)
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33086932
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нам уникальность нужна была, т.к. показатели могли ложиться не на терминальный уровень (как в методологии оракла) а на любой верхний, да еще и "вручную ", потому что не известна функция агрегации, других случаев когда нужны эти ID мне не известно
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33087046
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, понял. :-)

Я создал key lookup table на каждый такой id. Сначала идет маппинг всех уровней в эти key lookup, а потом при маппинге всего dimensions конкретный id подбирается по keylookup


"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33087050
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет уникальности, надо уникальность - используйте один сиквенс :-)

"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33088159
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2hell
не пойдет, если один сиквенс, то одно и то же значение пойдет во все ID вставляемой строки - проверено, +куча заморочек с инкрементальной загрузкой
...
Рейтинг: 0 / 0
Генерация ключей верхних уровней измерения в OWB
    #33088317
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел в виду мой вариант, но с 1 сиквенсом.

Гемморой с инкрементальной загрузкой? а как иначе, в принципе я вообще не очень представляю, как сделать заливку из таблиц с сурроготными ключами в dimension с суррогатным ключом без использования keylookup.

"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Генерация ключей верхних уровней измерения в OWB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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