|
|
|
SSAS - Объединение 2 мер с разной гранулярностью
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, All! Хочу посоветоваться по следующей задаче применительно к SSAS. Задачу несколько переделал для упрощения. Есть 2 подразделения, одно ведет учет по дням, другое - по месяцам. События продаж, их атрибуты - одинаковы. Клиенты у подразделений могут пересекаться. Измерение дат имеет иерархию "Год-Квартал-Месяц-День" Сейчас есть 2 набора групп мер, одни с гранулярностью "Месяц" для дат, другие - с гранулярностью "День". В однотипных группах мер есть меры, схожие по смыслу. Агрегации - AvgOfChildren и SUM. Бизнес хочет видеть одну меру, объединяющую оба подразделения. При этом - чтобы на уровне "Месяц" показывались данные обоих, а на уровне "День" - только подразделения с дневным учетом. Пока сам придумал следующее: Делаю измерение с нужной агрегацией, привязанное к пустому полю и гранулярностью "День" для дат. Через SCOPE определяю на уровне "День", там мера подробного подразделения. Через SCOPE определяю на уровне "Месяц", там - сумма двух мер Идея такова - пустая мера имеет явно заданные значения на уровнях "День" и "Месяц", выше - агрегирует сама. Вопрос к вам - можно ли улучшить подход? Возможно, такую задачу можно решить иначе, или у вас есть опыт подобного велосипеда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 18:49 |
|
||
|
SSAS - Объединение 2 мер с разной гранулярностью
|
|||
|---|---|---|---|
|
#18+
FerdipuxБизнес хочет видеть одну меру, объединяющую оба подразделения. Вопрос к вам - можно ли улучшить подход? Возможно, такую задачу можно решить иначе, или у вас есть опыт подобного велосипеда. Можно. Делаете группу мер с простыми единичками SUM для каждого подразделения. То есть прямая regular привязка к каждому подразделению. Далее Scope переопределяете для каждого подразделения эту меру на сумму того, что нужно вывести. И вверх по иерархии подразделений - или по неключевому атрибуту вида подразделения или еще как - все раскладывается так, как нужно, без выкрутасов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 19:17 |
|
||
|
SSAS - Объединение 2 мер с разной гранулярностью
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, Похоже, есть недопонимание, скорее с моей стороны... Как SCOPE переопределение на объектах подразделений поможет разной гранулярности дат? Есть 2 учетных системы у 2-х подразделений. Из них приходят данные, из одной - с указанием дня операции, из другой - с указанием месяца операции. Данные нужно показывать в одной группе мер, несмотря на то, что одни данные имеют привязку к дням, другие - к месяцам. Распределять месячные данные на дни не нужно, просто показываем их на уровне месяца. В DWH могу данные дополнить кодом подразделения. "Группа мер с простыми единичками" и группа мер с полем NULL - это одно и то же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 14:13 |
|
||
|
SSAS - Объединение 2 мер с разной гранулярностью
|
|||
|---|---|---|---|
|
#18+
убедите заказчика, что месячные данные нужно вешать на 1е число - будет проще для всех ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 14:37 |
|
||
|
SSAS - Объединение 2 мер с разной гранулярностью
|
|||
|---|---|---|---|
|
#18+
Критикубедите заказчика, что месячные данные нужно вешать на 1е число - будет проще для всех Не согласен на первое. Лучше на последнее. Сравнивать накопительный план возрастающий равномерно пропорционально дня месяца и накопительный факт и процент выполнения станет проще. Когда фильтром выберут последний день месяца - увидят нарастающий итог фактов и месячный план рядом помимо цифр оборотов и прочего за последний день. Впрочем, это дело вкуса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 14:40 |
|
||
|
SSAS - Объединение 2 мер с разной гранулярностью
|
|||
|---|---|---|---|
|
#18+
+1 вешаем вторые данные на 1е или 31е (спросите у бизснеса) и ничего ломать не надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 14:42 |
|
||
|
SSAS - Объединение 2 мер с разной гранулярностью
|
|||
|---|---|---|---|
|
#18+
FerdipuxAndy_OLAP, Похоже, есть недопонимание, скорее с моей стороны... Как SCOPE переопределение на объектах подразделений поможет разной гранулярности дат? Есть 2 учетных системы у 2-х подразделений. Из них приходят данные, из одной - с указанием дня операции, из другой - с указанием месяца операции. Данные нужно показывать в одной группе мер, несмотря на то, что одни данные имеют привязку к дням, другие - к месяцам. Распределять месячные данные на дни не нужно, просто показываем их на уровне месяца. В DWH могу данные дополнить кодом подразделения. "Группа мер с простыми единичками" и группа мер с полем NULL - это одно и то же? Да. Одно и то же. Есть простой счетчик "кол-во подразделений". Есть туда же "нужная_бизнесу_мера", NULL идет в 0. "Бизнес хочет видеть одну меру, объединяющую оба подразделения. При этом - чтобы на уровне "Месяц" показывались данные обоих, а на уровне "День" - только подразделения с дневным учетом". Туда же 1/0 в строку признак для каждого подразделения, какое оно, 1 - месячное, 0 - подневное. Можно 1/2, не важно. Далее scope(подразделение.подразделение_ключевое.подразделение_ключевое, нужная_бизнесу_мера); scope (тут день); this = iif(признак_подразделения = 1, что-то, иначе_другое); end scope; scope (а вот тут уже месяц); this = iif(признак_подразделения = 1, что-то, iif(признак_подразделения = 2, что-то для подневных нужно ставить наверное null, иначе_другое)); end scope; -- а на год и выше вообще ничего не показываем, потому что не знаем, как кошерно, а складывать вверх не хотим end scope; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2018, 14:44 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39622701&tid=1857927]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 509ms |

| 0 / 0 |

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