powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как организовать данные в DWH для процесов с "датой ОТ" и "датой ПО"? +SSAS
3 сообщений из 3, страница 1 из 1
Как организовать данные в DWH для процесов с "датой ОТ" и "датой ПО"? +SSAS
    #39951240
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть проекты. Пример одного из них, у которого менялся исполнитель и статус
ID Имя комментарий исполнитель Статус Сумма ДАТА ОТ ДАТА ПО25435 Стар --- Петров в работе 7000 01.01.2019 16.02.201925435 Стар --- Иванов в работе 7000 16.02.2019 21.02.201925435 Стар --- Иванов в тестировании 7000 21.02.2019 28.02.2019

И вот таких проектов полно, визуально представлено на рисунке ниже.

Вопрос: Как правильно представить эти данные в хранилище данных, чтобы можно было на основе этого сделать куб? Гранулярность - день.

Я вижу это так - представленную выше таблицу придётся переделать в ежедневную:
ID Имя комментарий исполнитель Статус Сумма ДАТА ОТ25435 Стар --- Петров в работе 7000 01.01.201925435 Стар --- Петров в работе 7000 02.01.201925435 Стар --- Петров в работе 7000 03.01.201925435 Стар --- Петров в работе 7000 04.01.2019.....................25435 Стар --- Петров в работе 7000 15.01.201925435 Стар --- Иванов в работе 7000 16.02.201925435 Стар --- Иванов в работе 7000 16.02.201925435 Стар --- Иванов в работе 7000 16.02.2019.....................
И тогда пользователь может смотреть отчёт хоть с гранулярностью месяц, хоть неделя, хоть день - просто сумму по первому дню периода в формуле делаю и всё.

Но уж больно дико разрастается база. 1-гигабайтовая база проектов после такого конвертирования превращается в 100-гигабайтовую.
...
Рейтинг: 0 / 0
Как организовать данные в DWH для процесов с "датой ОТ" и "датой ПО"? +SSAS
    #39951342
Ferdipux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nika gnome,

Вы можете в DWH хранить данные в виде интервалов (как есть сейчас), а при загрузке в куб - делать join с таблицей дней, чтобы получить требуемую гранулярность в кубе.
Из опыта подобных решений - если данных много, то лучше ввести вспомогательную сущность - интервал с кодом, датой начала и датой окончания, и для него вспомогательную таблицу - перечень дней в интервале. В таблицу проектов - добавить поле кода интервала, соответствующего датам начала и окончания. Без этого - join с условиями вида неравенства приводит к nested loop в плане выполнения запроса и плохой производительности / длительному процессингу куба. Если сделать join по коду интервала с перечнем дней интервала - в плане будет merge join / hash match с гораздо лучшей производительностью запроса.
...
Рейтинг: 0 / 0
Как организовать данные в DWH для процесов с "датой ОТ" и "датой ПО"? +SSAS
    #39951348
Фотография Nika gnome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ferdipux
Nika gnome,

Вы можете в DWH хранить данные в виде интервалов (как есть сейчас), а при загрузке в куб - делать join с таблицей дней, чтобы получить требуемую гранулярность в кубе.

блин( без понятия, почему это очевидное решение в голову не пришло.
Спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как организовать данные в DWH для процесов с "датой ОТ" и "датой ПО"? +SSAS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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