Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Много элементов в одном измерении. / 15 сообщений из 15, страница 1 из 1
20.04.2018, 16:58
    #39633888
Oleon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Есть измерение с клиентами (около 10 миллионов)

Для каждого клиента, есть дата наступления конкретного события.
Например, дата первой покупки, дата первого посещения магазина

В измерении должна быть иерархия для первой покупки

Год - Квартал - Месяц - Дата для первой покупки
Год - Квартал - Месяц - Дата для первого посещения

Вижу такие варианты :
1. В представлении выводить для каждой даты дополнительно квартал, месяц и год (тогда в представлении больше полей и больше атрибутов в измерении)

2. Сделать отдельное измерение Дата первой покупки и все группы мер, кроме как на клиента, вязать еще и на измерение дата первой покупки и дата первого посещения.


Сейчас сделано по-первому варианту, но процесс апдейт для измерения идет дольше, чем хотелось бы.


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

Кроме атрибутов с датами, есть еще, например, атрибут первый магазин, для которого нужно вывести Страну и Бизнес подразделение.
...
Рейтинг: 0 / 0
20.04.2018, 17:35
    #39633912
StarikNavy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Oleon,

кроме измерения "клиент"
генерите таблицы фактов (группы мер) "первая покупка" /"первое посещение" - с привязкой к измерению клиент и Календарь
...
Рейтинг: 0 / 0
20.04.2018, 19:51
    #39633969
Полковник.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Oleon,

Начни с изучения теории построения моделей витрин данных, ибо события это факты а не измерения.
...
Рейтинг: 0 / 0
23.04.2018, 10:48
    #39634562
Oleon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Возможно, вы не поняли мой вопрос. У меня нет цели посчитать количество привлеченных клиентов в заданный период. С этим проблем нет.

Мне нужно разбить текущие факты (например, текущие продажи) по датам совершения первой покупки клиентом.

Например, есть продажи за апрель 10 000 000. Нужно эти десять миллионов разбить на то, что

2 млн, клиенты, привлеченные в 2017-го января
2 млн, клиенты, привлеченные в 2017-го февраля
3 млн, клиенты, привлеченные в 2018-го января
3 млн, клиенты, привлеченные в 2018-го апреля

Кроме продаж, могут быть любые другие факты.

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

либо факты (например, продажи) кроме как к дате продажи, вязать еще к дате привлечения клиента. Либо в измерение с клиентами добавить четыре атрибута - Год привлечения, Квартал привлечения, Месяц привлечения, День привлечения.

Кроме даты привлечения, может быть еще источник привлечения, и этого источника еще свои характеристики.
С какого устройства увидел рекламу и нажал ссылку и т.д. Становится много атрибутов и измерение долго обновляется. Атрибуты могут меняться, так как сначала клиент появляется, а покупку совершить может через месяц.



Так вот для построения "воронок" либо накидывать кучу атрибутов, либо делать отдельные измерения и все факты дополнительно вязать к ним.


Сейчас сделано одно большое измерение с кучей атрибутов.
...
Рейтинг: 0 / 0
23.04.2018, 10:57
    #39634567
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Oleon,

Делайте измерение "Поколение клиентов" с натуральной иерархией "Год - Квартал - Месяц - Дата для первой покупки"

и вяжите его, как и измерение "Клиент" и др. измерения, к таблице фактов "Первое событие", как сказал выше StarikNavy

поскольку к первому событию Вам нужно много других разрезов
...
Рейтинг: 0 / 0
23.04.2018, 11:37
    #39634595
Oleon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Вот пример схемы.

Либо для "разовых" событий добавить измерения и факты на него вязать.
Если в измерение добавить атрибуты, то потом не нужно все факты вязать на них, но есть подозрение, что в этом случае работает медленнее.
...
Рейтинг: 0 / 0
23.04.2018, 12:07
    #39634625
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Oleon,

если для клиента требовалось бы только фиксация одного разового события и это событие "Дата для первой покупки" наступает сразу как регистрируется клиент, то соотв. атрибуты еще можно было бы поместить в измерение "Клиент", т.е. по вар. 1)
Например, "Дата рождения клиента" и соотв. атрибуты иерархии Дата-Месяц Года-Год-Десятилетиие

а так, вар. 2)


p.s.
Физическое измерение дат - одно, используйте Role Played Dimension
...
Рейтинг: 0 / 0
23.04.2018, 13:05
    #39634702
bideveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Еще есть 3-й вариант.
В измерении клиент хранить даты первой покупки, дата первого посещения и т. д.
А измерение Дата привязывать как Referenced (и Role played) через измерение клиент к группам мер. Соответственно, для каждой даты в измерение клиент в кубе будет свое Role plaayed измерение Дата.
...
Рейтинг: 0 / 0
23.04.2018, 13:48
    #39634747
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
bideveloper,

В Referenced измерении "Клиент" - десятки миллионов записей, тормоза
...
Рейтинг: 0 / 0
24.04.2018, 12:39
    #39635282
Oleon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
А если через Reference - тормоза во время процессинга или во время выполнения запросов?

Сейчас основная проблема в том, что ProcessUpdate измерения идет 40 минут.
...
Рейтинг: 0 / 0
24.04.2018, 13:01
    #39635298
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Oleon,

и во время процессинга если включена опция материализации (запрос с сортировкой к источнику данных)
и
во время кручения куба, во всяком случае медленнее, чем без ссылочного измерения
...
Рейтинг: 0 / 0
24.04.2018, 19:39
    #39635647
bideveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
А я бы на практике проверил скорость, это же несложно. Все-таки с точки зрения разработки и поддержки это самый простой вариант.
...
Рейтинг: 0 / 0
24.04.2018, 20:37
    #39635663
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Alex_496Oleon,

и во время процессинга если включена опция материализации (запрос с сортировкой к источнику данных)
и
во время кручения куба, во всяком случае медленнее, чем без ссылочного измерения
Александр, Вы таки будете смеяться, но я бы рекомендовал всем разработчикам, которые включают опцию материализации, делать обрезание тупыми ножницами для стрижки овечьей шерсти. Или потребовать от них в письменном виде объяснение, почему они выбрали включить эту опцию. Еще в 2009-м Альберто Феррари предупреждал всех, что это теоретическая опция, использовать ее не следует.
...
Рейтинг: 0 / 0
25.04.2018, 09:42
    #39635828
Oleon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Понимаю, что все зависит от конкретного набора атрибутов. Попробуем провести эксперимент.
Спасибо за советы.
...
Рейтинг: 0 / 0
25.04.2018, 12:27
    #39635963
Alex_496
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много элементов в одном измерении.
Andy_OLAPAlex_496Oleon,

и во время процессинга если включена опция материализации (запрос с сортировкой к источнику данных)
и
во время кручения куба, во всяком случае медленнее, чем без ссылочного измерения
Александр, Вы таки будете смеяться, но я бы рекомендовал всем разработчикам, которые включают опцию материализации, делать обрезание тупыми ножницами для стрижки овечьей шерсти. Или потребовать от них в письменном виде объяснение, почему они выбрали включить эту опцию. Еще в 2009-м Альберто Феррари предупреждал всех, что это теоретическая опция, использовать ее не следует.

Так ссылочные измерения я не использую.
А когда давно использовал, то не материализовывал.
А когда давно материализовывал, то убеждался, что таблица источник хорошо проиндексирована.
И ref таблицы были не миллионных записей.
Предположу, что у Создателей был замысел по ссылочным измерениям - они не должны быть большими.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Много элементов в одном измерении. / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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