powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Хитрое измерение parent-child
13 сообщений из 13, страница 1 из 1
Хитрое измерение parent-child
    #32191857
JAN_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пожалуйста подскажите.
Есть две таблицы (достались от тяжелого наследия прошлого) на основе которых нужно построить измерение (сабж):
Таблица Header (Header_id,Header_name) и Таблица Groups(Group_id, Header_id,Group_Name, Owner_Group_id, Order_Group). Таблицы связанны по ключу Header_id.
Таблица Group - это классичесая Parent-Child связка, но к сожалению, верхний уровень иерархии находиться в таблице Header.

Как на основе этих таблиц реализовать измерение типа Parent-Child?
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32191861
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделать view и построить измерение на нем.
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32191863
JAN_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению, view позволяет развернуть только до третьего уровня. Покрайней мере у меня так получается :(.
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32191883
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно, дело в пересечении Header_id и Group_id.
а как строится view?

На самом деле я считаю правильным строить OLAP-базу на специально подготовленном хранилище данных, в которое закидываются данные из оперативной системы, преобразованные к нужному виду.
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32191911
JAN_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я того же мнения, что надо строить через DW. К сожалению, пока что нет такой возможности (время).

create View [bla-bla] as
select [нужные поля] from Header h join Groups g on h.header_id=g.header_id join Groups g1 on g.group_id=g1.owner_group_id
go

Предполагается, что все поля не содержат NULL.
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32191929
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
угу. скорее всего прикол именно в пересечении id
попробуй определить поля id во view как, грубо говря
"head"+header_id, "group"+group_id и "group"+Owner_Group_id

вот.
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32191996
JAN_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собстно так и сделал. Максимум третий уровень вложенности получаю, все что ниже третьего уровня перекидываются в третий :(
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32192066
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень странно.
если построить измерение на таблице Groups - там все нормально?

Если это возможно, посмотреть бы несколько строчек из вьюхи - по иерархии. Строку 1-го уровня, ее потомка, и так далее. До четвертого уровня.
Где-то должон быть глюк... думаю.
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32192138
JAN_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По Groups строиться все нормально. Классический Parent-Child.

Васкин - балка Балка Балка 142 16042 16042 1 1
Васкин - балка Балка Толщина 142 16042 16042 1 1
Васкин - балка Толщина 3 и выше 142 16342 16342 1 1
Васкин - балка Балка Размер 142 16042 16042 1 3

Должно быть:
Васкин - балка -> Балка -> Толщина -> 3 и выше
Васкин - балка -> Балка -> Толщина -> ...

А получается:
Васкин - балка -> Балка -> Толщина
Васкин - балка -> Толщина-> 3 и выше
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32192297
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извини, не понял.
Вьюха должна иметь вид

id Name Parent_id

У тебя так?
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32192312
JAN_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УГУ. То, что ты написал про вьюху понятно. Так и должно быть. К сожалению у меня не получается написать подобную вьюху, т.к. все измерение состоит из двух, а по правильному из трех таблиц. Кода в этих таблицах могут пересекаться и при объеденени получается такая фигня ... :(. Поэтому приходиться разделять, для каждой таблицы во view заводить отдельный атрибут :(, как следствие, ограничение иерархии. :(
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32192342
Дядя Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот тут я пас. в SQL не силен. Подозреваю , что сделать такое возможно. Но как не подскажу.
Еще один вариант - создать еще одну таблицу с нужной структурой и наполнить ее из твоих таблиц с помощью DTS. Не так изящно, но, как мне кажется, более легко осуществимо. Причем это - точно возможно.
...
Рейтинг: 0 / 0
Хитрое измерение parent-child
    #32192367
JAN_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Согласен. Сейчас это и пытаюсь сделать. Вот только придумаю как более изящно заменить старые кода из БД на новые для OLAP
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Хитрое измерение parent-child
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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