Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"? / 6 сообщений из 6, страница 1 из 1
17.02.2020, 14:35
    #39927495
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"?
SQL Server 2017 Enterprise, SSAS+MDX

Речь идёт именно относительно текущей даты. Сегодня 17 февраля 2020, следовательно, мера должна выдавать в значении сумму за январь. А не относительно выбранных месяцев (там всё ясно, решается функцией ParallelPeriod)
...
Рейтинг: 0 / 0
17.02.2020, 17:37
    #39927599
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"?
Charles Weyland,
тупо просчитать в ETL ?
сегодня сумму за январь - завтра за февраль
или там дложно хитро агрегироваться как-то ?

ps мне как-то надо было применить услвоие between dat1 and dat2 в mdx
и я не нашел другого способа как просчитывать в ETL признак и фильтровать по нему.
...
Рейтинг: 0 / 0
17.02.2020, 18:00
    #39927610
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"?
там куча данных и надо выводить их именно для прошлого месяца с большим количеством разных фильтров.

Но я понял, как сделать. Просто завёл отдельную вьюху, где записано, какой именно месяц последний, какой квартал последний и использую её как фильтры.
...
Рейтинг: 0 / 0
17.02.2020, 21:44
    #39927674
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"?
Charles Weyland,

если динамически без материализации то в MDX есть VBA функция Now() ,
из неё (в ключ) получается текущая дата например через StrToMember()
от даты по иерархии (или Exists если нету) получается текущий месяц (если есть в измерении календаря),
из него в свою очередь через Lag() получается предыдущий
с иерархией конечно проще через .parent.prevmember на дате у которой материализован
флаг текущей (с ежедневным ProcessUpdate) напр. дополнительным параметром (или через .Value),
ну или вообще через отсоединённое измерение хранящее технические параметры
иногда для для удобства можно через scope это навесить куда нужно..
в общем возможных вариантов куча под разные сценарии
...
Рейтинг: 0 / 0
17.02.2020, 22:45
    #39927697
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"?
Charles Weyland
Но я понял, как сделать. Просто завёл отдельную вьюху, где записано, какой именно месяц последний, какой квартал последний и использую её как фильтры.


Отдельную не надо, чтобы не плодить лишние сущности.
У вас же измерение дат на чем-то основано, вот туда и запихнуть этот атрибут (возможно, на уровнн dsv).
...
Рейтинг: 0 / 0
18.02.2020, 01:42
    #39927718
Charles Weyland
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"?
vikkiv
Charles Weyland,

если динамически без материализации то в MDX есть VBA функция Now() ,
из неё (в ключ) получается текущая дата например через StrToMember()
от даты по иерархии (или Exists если нету) получается текущий месяц (если есть в измерении календаря),
из него в свою очередь через Lag() получается предыдущий
с иерархией конечно проще через .parent.prevmember на дате у которой материализован
флаг текущей (с ежедневным ProcessUpdate) напр. дополнительным параметром (или через .Value),
ну или вообще через отсоединённое измерение хранящее технические параметры
иногда для для удобства можно через scope это навесить куда нужно..
в общем возможных вариантов куча под разные сценарии

ух ты!! круто
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как создать меру, которая отвечает на вопрос "итог за предыдущий месяц"? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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