|
|
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
Добрый день! Возможно ли как-то реализовать в OLAP кубе, через MDX запрос анализ Like for Like (точка к точке). Что значит, отображать данные только по тем точкам, которые были в периоде (например сентябрь-октябрь) текущего года и таком же периоде (тоже сентябрь- октябрь) прошлого года фильтровать еще по бренду, категории, сети и т.д. Есть у кого-нибудь похожий пример (например в AdventureWorks)? Или может подскажите, какие MDX функции посмотреть? Спасибо заранее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 18:47 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
уточнение: если у точки были продажи в одном году только в сентября, а в другом сентябре и октябре - такие не подходят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 19:09 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
Да, SSAS еще кофе должен готовить за те деньги, что за него просят Ps напишите sql-запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 22:25 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
Alexey I.G., 1. если LFL у вас не соотносится со стандартными временными функциями (например,если это касается дней недели между периодами) делаете с календарем дат сопоставление дат периодов LFL 2. пишете MDX с TimeIntelligence -функциями, какие вам нужны на уровне дат с использованием StrToSet (это быстро работать не будет). Определяетесь как будете считать верхние уровни и при необходимости пересчитываете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 11:24 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы! Я думал попробовать как-нибудь через параллельные периоды и функцию EXISTS... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 13:23 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
update вопроса: делаю LFL на примере базы: AdventureWorksDW2012 код SQL (использую для проверок) https://pastebin.com/sHF5zew9 код MDX (работает не так, как хочется): https://pastebin.com/MbchV2xa что не могу понять - как сделать в примере из MDX: http://prntscr.com/n5z9op на уровне продукта Water Bottle - 30 oz. - считается все верно - 0.0631 (продажи за январь 2014) и 0.0631 (продажи за январь 2013) но при агрегации до следующих уровней иерархии (All Products) - не понятно откуда берутся числа (0.9738 и 0.9738 соответственно). хотя должны быть те же самые 0.0631 и 0.0631 как правильно написать MDX, чтобы LFL считался на уровне productkey и CustomerKey, а для всех уровней выше, просто суммировался... для Product->Subcategory->Category для Customer->PostalCode->City ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 19:14 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
Alexey I.G., Делал MDX запросом. По сопоставимым дням через флаг соответствия в текущем и прошлом году. (т.е. трафик д.б. в этот день и год назад) По полученным значениям можно посчитать прирост,отклонение и т.д. Это уже в Reporting делал )) with member [Measures].[Kodfil] as [Магазины].[Магазины].CurrentMember.Properties("Key") ------------ флаг по Траффику member [Measures].[Traffic_flag] as Iif(([Measures].[Вход],ParallelPeriod([Дата].[Год-Месяц-День].[Год],1,[Дата].[Год-Месяц-День].CurrentMember))>0 AND [Measures].[Вход]>0 ,1 ,NULL) ------------ Траффик member [Measures].[Traffic] as SUM(FILTER(Descendants([Дата].[Год-Месяц-День].CurrentMember,,Leaves),[Measures].[Traffic_flag]=1) ,[Measures].[Вход]) member [Measures].[Traffic_prev] as SUM(FILTER(Descendants([Дата].[Год-Месяц-День].CurrentMember,,Leaves),[Measures].[Traffic_flag]=1) ,([Measures].[Вход],ParallelPeriod([Дата].[Год-Месяц-День].[Год],1,[Дата].[Год-Месяц-День].CurrentMember))) --------------------- select { [Measures].[Kodfil], [Measures].[Traffic], [Measures].[Traffic_prev], } on 0, Filter([Магазины].[Магазины].[Level 02].Members,[Measures].[Traffic]>0) on 1 from [Watcom] where ( [Дата].[Год].&[2019]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 11:27 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
mishgan1, Спасибо большое, попробую. Правильно понимаю что ты все делал через MDX, без дополнительных полей в SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 14:19 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
Alexey I.G., Да, запрос MDX для отчета в Reporting Services ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2019, 14:23 |
|
||
|
SSAS like for like анализ
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял задачу, то необходимо показать торговые точки, которые покупали в выбранном периоде и аналогичном периоде прошлого года. Здесь уточнение: бренды и категории должны как-то влиять на выборку. Т.е. если бренд участвует в срезе, то сравниваются продажи только по этому бренду? Или предыдущий год берется тотал? Здесь видится использовать filter и parallel period with member [Measures].[Qty_PY] as SUM(ParallelPeriod([Дата].[Дата].[Год],1,[Дата].[Дата].CURRENTMEMBER),[Measures].[Qty]) select {[Measures].[Qty]} on 0, filter ([Outlets].[Outlet].Members, [Measures].[Qty_PY] <> 0 and [Measures].[Qty] <> 0) on 1 from Cube where [Дата].[Дата].[День].&[2019-04-08T00:00:00.000] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2019, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39761177&tid=1857614]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 163ms |

| 0 / 0 |

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