|
|
|
best practices медленно меняющееся измерение
|
|||
|---|---|---|---|
|
#18+
Всех приветствую. Кто может поделиться опытом разработки кубов с медленно меняющимися измерениями? Что я имею в виду: Есть таблица фактов с количеством записей в пару-тройку сотен миллионов, гранулярностью до дня. Есть, например, измерение "клиент", представленный в фактах id. Имеется таблица переходов клиентов из одного состояния в другое с записью вида: клиент-состояние-с дата-по дата. Есть справочник состояний, пусть пока простой: id, name. Как лучше отобразить состояние клиента в кубе на конкретную дату? Джойнить факты с таблицей переходов клиент-состояние с хранением состояния в фактах? Или "раскручивать" таблицу переходов состояний на каждый день для каждого клиента и связывать, фактически две фактовые таблицы через измерения? С учетом того, что самих клиентов может быть несколько миллионов и календарь охватывать несколько лет? А если еще хочется иерархию родитель-потомок по состоянию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 18:17 |
|
||
|
best practices медленно меняющееся измерение
|
|||
|---|---|---|---|
|
#18+
а может просто "состояние клиента на дату" положить в таблицу фактов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 18:42 |
|
||
|
best practices медленно меняющееся измерение
|
|||
|---|---|---|---|
|
#18+
londinium, "...Джойнить факты с таблицей переходов клиент-состояние с хранением состояния в фактах?..." Именно так сейчас в большинстве случаев и реализовано. Там, где измерения очень большие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 18:51 |
|
||
|
best practices медленно меняющееся измерение
|
|||
|---|---|---|---|
|
#18+
Я бы просто положил в факты еще на уровне etl. Просто и быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 20:45 |
|
||
|
best practices медленно меняющееся измерение
|
|||
|---|---|---|---|
|
#18+
IlyamI, я вижу два варианта - простой и сложный 1) Сложный - таблицу измерения генерируем со всеми изменениями состояний с IDENTITY, в таблице факта по дате определяем нужный нам IDENTITY клиента и добавляем в таблицу - связь с измерением по этому полю 2) Простой - генерируем измерением ключам код клиента, код начала месяца, в таблицу факта добавляем дату начала месяца, связь по составному ключу - дата начала месяца + код клиента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2019, 18:08 |
|
||
|
|

start [/forum/topic.php?fid=49&gotonew=1&tid=1857449]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 173ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...