Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Консолидация данных   Найти похожие ветки 

 
}|{yk ©   (2004-11-10 12:38) [0]

Допустим, у нас есть таблица фактов, примероно такой структуры

 cust1 integer
 cust2 integer
 cust3 integer
 unit integer
 currency integer
 month integer
 year integer
 summa float

причем cust1, cust2, cust3 - это иерархические измерения.
Т.е. в упрощенном виде эти таблицы имею структуру

mem_id integer
mem_pid integer
mem_name varchar2(32)

Данные вносятся в таблицу фактов на нижние уровни этих иерархий (на "листья").
Однако, желательно чтобы данные поднимались на все верхние уровни.
Для этого я использую такой подход - делается проход по таблице фактов, и в результирующий набор
(ХП в Interbase) пишу так: по каждому измерению иду вверх, находя всех родителей вплоть до -1. Во время прохода
по остальные иерархические измерения фиксированы.
Таким образом, в результирующем наборе будет количество записей равное количеству записей в таблице фактов, умноженное на вложенность во всех иерархиях.
Решал ли кто похожие задачи, оптимален ли этот подход?


 
HSolo ©   (2004-11-10 13:25) [1]

Я веду (триггерами) вспомогательную таблицу вида

id integer
parent_id integer

где перечислены все пары "предок-потомок"; например, если (1) есть предок (2), а (2) есть предок (3), то содержимое этой таблицы:

id    parent_id
1        1
2        2
2        1
3        3
3        2
3        1

Тогда для любого узла все его потомки со всеми их данными выбираются простым join-ом с этой таблицей.



Страницы: 1 вся ветка

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1101733181
denis24
2004-11-29 15:59
2004.12.12
wordApplication


11-1083856827
RTWolf
2004-05-06 19:20
2004.12.12
Как Baloon-подсказку сделать поверх всех окон?


1-1101898348
Mishenka
2004-12-01 13:52
2004.12.12
Как в RichEdit сохранить текст в файл вместе со всеми цветами?


14-1100948044
Progh
2004-11-20 13:54
2004.12.12
Подскажите ХОРОШУЮ статью перехвата WIN API с примерами на Delphi


3-1100096254
Andriy Tysh
2004-11-10 17:17
2004.12.12
Как вывести отчёт КвикРепортом из КлиентДатаСета только те записи