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

"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
26.05.2005, 18:38
    #33086119
Tomcat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация ключей верхних уровней измерения в OWB
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
27.05.2005, 09:44
    #33086657
kosour
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Генерация ключей верхних уровней измерения в OWB
Tomcat
Придумал еще вариант: делать измерения snowflake, тогда уровни генерить
в отдельных таблицах с помощью MAPPING SEQUENCE

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



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

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

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


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

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

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

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


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