|
|
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
Имеется следующая информация о визитах клиентов: Объект, Город, Страна, Время начала визита, время конца визита, Доход. Требуется создать куб на основе этих данных. И если я правильно понимаю, всё было бы хорошо и просто: Измерение времени (дата - месяц - квартал - год - имя месяца - месяц года - номер квартала года), измерение объект (ID Объекта - Имя объекта), измерение город (Id Города - Имя города - Имя Страны), и меры Число визитов, Число визитов без оплаты, и ДоходПолученный. Но... Но число визитов и доход надо разбить ещё и по продолжительности визитов (до 15 минут, до часа, до двух часов, до трёх часов, до 4 часов, более 4 часов). Продолжительность визита вычисляется как Код: sql 1. 2. 3. 4. 5. 6. 7. 8. И вопрос вот в чём - создавать дополнительное измерение ВремяВизита или дополнительные меры для числа визитов и дохода? Что правильнее? И поправьте меня в остальных мерах и измерениях, если в чём ошибся. imho, правильнее создать измерение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2017, 12:23 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiНо число визитов и доход надо разбить ещё и по продолжительности визитов создавать дополнительное измерение ВремяВизита или дополнительные меры для числа визитов и дохода? измерение удобно если фокус на функционале фильтрации меры удобнее если фокус на самих значениях и сравнении их друг с другом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2017, 01:01 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryi, определитесь с гранулярностью Факта. Самое простое -- ФактВизит (ДимДатаВизитаФК инт -- YYYYMMDD начало ДимВремяВизитаФК инт -- HHMMSS начало ДлительностьВизита инт -- минуты ------мера DimПериодДлительностиФК инт -- ссылка на дименшн Доход нумерик(18,2) -----------мера ДимОбьектФК инт ДимЛокейшнФК инт ) DimПериодДлительности (DimПериодДлительностиПК инт -- ключ ПериодКод ПериодНазвание_РУС ПериодНазвание_ENG ) -1 'Неопределено''Неопределено''Unknown'1 'М15' '0-15 минут''0-15 minutes'2 'М30' '15-30 минут''15-30 minutes'3 'H01' '30-60 минут''30-60 minutes'4 'H99' '>4 часов''>4 hours' ...судя по продолжительности , похоже на ескорт сервис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2017, 03:00 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
javajdbc, Представил себе продвинутый эскорт-сервис с базами данных, отчетностью и кубами для аналитиков. Посмеялся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2017, 15:41 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
javajdbc, Что касается гранулярности - то в моём случае это совокупность визитов за день, а то и за месяц, а не отдельный визит. При этом один из срезов, который сейчас делается - как раз по объектам и продолжительности визитов . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2017, 15:56 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryijavajdbc, Что касается гранулярности - то в моём случае это совокупность визитов за день, а то и за месяц, а не отдельный визит. При этом один из срезов, который сейчас делается - как раз по объектам и продолжительности визитов . ....ок, но полезнее сделать сначала DWH (или куб) с гранулярностью одного визита. Тогда конкретная продолжительность и доход будет мерой. и к каждому визиту можно будет подсоединить срез DimPeriod. Такой подход, по идее, закрывает все ваши задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2017, 17:17 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
javajdbc, не закроет, ибо "совокупность визитов за день, а то и за месяц, а не отдельный визит" не позволит создать полноценную связь с измерением "Продолжительность" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 09:55 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
ShIgorjavajdbc, не закроет, ибо "совокупность визитов за день, а то и за месяц, а не отдельный визит" не позволит создать полноценную связь с измерением "Продолжительность" Если что-то нельзя связать через САМЫЙ гранулярный факт, то это уже не связывается вообще. По описанию логической модели: Визит -- самый мелкий факт. ....конечно, можно до-придумать что Визит состоит из нескольких (ескорт) Сервисов, тогда можно еще мельче факт сделать... ...ставьте задачу полнее и будет точнее решение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 14:03 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
javajdbc, Вопрос интересный появился: раз у меня зависимость объект - Локация, то делать Снежинку create table dwh.DimObject (DimObjectID int identity (1,1), ObjectShortName varchar(4), ObjectFullName varchar(40), LocationID int ) create table dwh.DimLocation (LocationID int identity (1,1), CityName varchar(40), CountryName varchar(40), ) или всё-таки Звезду create table dwh.DimObject (DimObjectID int identity (1,1), ObjectShortName varchar(4), ObjectFullName varchar(40) ) create table dwh.DimLocation (LocationID int identity (1,1), CityName varchar(40), CountryName varchar(40), ) ? Пока иду по первому варианту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 16:21 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryi, однозначного ответа нет -- подбные ситуации можно смоделировать где-то четырьмя-пятью способами, и каждый будет иметь свои плюсы и минусы. читайте Кимбала и микрософт 70-463. На небольших обьемах, без SCD, и/или если дименшн нужно использовать без фактов, то двух-етажная снежинка вполне приемлима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 02:33 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
По итогам размышлений у меня получается две таблицы фактов. Первая - с измерение "Объект - Город - Страна" и измерением времени. Вторая - с измерением "Объект - Город - Страна", измерением времени и измерением "Длительность визита на объект", предложенным javajdbc. Причина в том, что к ряду мер применение измерения "Длительность визита на объект" невозможно (пример таких мер - число звонков или число людей, прошедших мимо объекта или число сорвавшихся заказов). Как я понимаю, обе таблицы фактов можно засунуть в один и тот же куб. А вот что делать потом, когда засунул в куб вторую таблицу фактов? Связывать их между собой, не связывать, добавлять в куб дополнительные копии таблиц измерений, или привязывать к таблицам фактов одни и те же копии таблиц измерений? Или надо сделать что-то ещё? И будет ли возможность в один отчёт засунуть меры из обоих таблиц, или нет? В запросе на основе данных OLTP фигурируют агрегированные данные, которые потом распадаются на эти две таблицы фактов, и хочется генерировать максимально похожий по набору данных отчёт, отсюда и вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 10:24 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
Коллеги, возвращаемся к нашим "эскорт-сервисам". Вопрос первый: данные до доходам теперь требуется хранить в трёх валютах. То есть число строк с доходами утраивается. А данные по числу визитов от валюты не зависит. Как правильно хранить данные? В двух таблицах фактов, связанных друг с другом по ID "эскорт-сервиса" и дате? Или оставить как есть - в большой таблице, а в отчётах по посещаемости ставить фильтр по коду одной из валют? Второй вариант мне не нравится из-за разбухания данных, а первый ещё не пробовал никогда. И второй вопрос - требуется добавить в куб данные по плану и прогнозу посещаемости и дохода. Здесь доход тоже будет пересчитываться в три валюты, но проблема в другом. Проблема в том, что здесь данные свёрнуты по месяцам, а не по дням. Как их правильно связать с основными данными (основные данные свёрнуты по дням)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 17:21 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryi, по валютам - можно ещё вариант хранения каждой валюты в своей колонне (даже хранить для каждой строки все 3 валюты по курсу на тот день) плюс колонна в какой валюте собственно была сделка (или три колонны некоторые пустые - плюс отдельная колонна в какой-бы небыло валюте, плюс колонна - идентификатор валюты) .. в общем как намекает javajdbc - зависит от воображения, требований/архитектуры/опыта/планов и лучших практик.. данные прогноз/факт: 1) тянутся из разных групп мер в одну меру 2) сливаются в одну меру которая внутри переключает (прогноз/факт) в зависимости от текущей даты между прогнозом/фактом (уровнями ниже месяца - нужна дополнительная логика чтобы не брал целый месяц прогноза плюс несколько дней факта) 3) эта новая мера для прогноза существует только на уровне гранулярности атрибута иерархии месяц (выше считается из children) - факта можно оставить дни - для прогноза - месяц и выше (т.к. алгоритм разбивки в задании пока не задан), делается через scope, хотя можно и материализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 18:25 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
vikkiv, Я правильно понимаю, что для группы мер прогнозов надо будет делать отдельное измерение дат? Или привязывать существующее, но по столбцу месяцев? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 18:33 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryi, да в принципе на том-же измерении дат привязка на другой гранулярности (месяц) вместо ключа измерения (дата) вполне подходит для большинства решений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 18:39 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
vikkivDaniilSeryi, да в принципе на том-же измерении дат привязка на другой гранулярности (месяц) вместо ключа измерения (дата) вполне подходит для большинства решений Спасибо. Буду завтра пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 19:07 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
И ещё один дополнительный вопрос: Для некоторых расчётов в отчётах нужно использовать редко меняющиеся (раз в год или реже) переменные, как плановое "время работы". Как эти данные хранить в кубе и подтягивать в отчёты? Вариант с столбцом данных в мерах - тут избыточность данных, но минимум трудностей с использованием. А какие ещё варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2018, 10:42 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiКоллеги, возвращаемся к нашим "эскорт-сервисам". Вопрос первый: данные до доходам теперь требуется хранить в трёх валютах. То есть число строк с доходами утраивается. А данные по числу визитов от валюты не зависит. Как правильно хранить данные? В двух таблицах фактов, связанных друг с другом по ID "эскорт-сервиса" и дате? Или оставить как есть - в большой таблице, а в отчётах по посещаемости ставить фильтр по коду одной из валют? Второй вариант мне не нравится из-за разбухания данных, а первый ещё не пробовал никогда. Можете реализовать подход "Велозавода" - когда в операции указывается сумма в валюте операции и ее код, и есть таблицы кросс-курсов. Есть измерение валют, и для мер с суммами используется DirectSlice. Достаточно классическая методика, хотя возможно, что на ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2018, 11:46 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiИ вопрос вот в чём - создавать дополнительное измерение ВремяВизита или дополнительные меры зависит только от хотелок бизнеса. иногда просят одновременно то и то [quot DaniilSeryi]И ещё один дополнительный вопрос: Для некоторых расчётов в отчётах нужно использовать редко меняющиеся (раз в год или реже) переменные, как плановое "время работы". [quot] отдельная группа мер и эту партицию пересчитывать редко. но обычно такие вещи маленькие (пересчет партиции в минуту если укладывается), и даже смысла нет заморачиваться на способе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2018, 11:59 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
StarikNavy, Добавил в таблицу фактов новый столбец, чтобы на его основе создать новую меру. Открыл проект куба, захожу в DSV и Cubes и нигде не могу обновить таблицу, чтобы увидеть в ней новый столбец и использовать его для новой меры. Как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2018, 12:40 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
Нашёл и сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2018, 12:50 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
Возник другой вопрос - в настройках проекта стоит DeployChangesOnly. При этом после внесения изменений в куб (добавление новой меры) выбираю Build куб, затем Deploy куба, и оп-па - база данных будет rewritten! Соответственно, все созданные роли уничтожаются, надо давать права заново. Вопрос - как избежать перезаписи базы данных куба на SSAS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2018, 13:02 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryi, создать новый проект на основе существующей базы. или править сразу базу без создания проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2018, 13:46 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
vikkivDaniilSeryi, да в принципе на том-же измерении дат привязка на другой гранулярности (месяц) вместо ключа измерения (дата) вполне подходит для большинства решений Как понимаю, у меня единая таблица измерения (где ключ даты, сама дата, месяц_года, квартал_года, год) для такого маневра должна быть распилена на четыре (дата-месяц-квартал-год) с соответствующими ключами, изменениями в иерархиях и кубе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 16:01 |
|
||
|
Создать дополнительные меры или дополнительное измерение?
|
|||
|---|---|---|---|
|
#18+
DaniilSeryiКак понимаю, у меня единая таблица измерения (где ключ даты, сама дата, месяц_года, квартал_года, год) для такого маневра должна быть распилена на четыре (дата-месяц-квартал-год) с соответствующими ключами, изменениями в иерархиях и кубе? Зачем? Просто в привязке измерения дата к группе мер выбрать атрибут месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=25&tid=1857989]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
41ms |
get forum data: |
2ms |
get page messages: |
143ms |
get tp. blocked users: |
2ms |
| others: | 22ms |
| total: | 276ms |

| 0 / 0 |

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