Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Сравнение текущего периода с прошлым / 5 сообщений из 5, страница 1 из 1
30.04.2020, 17:40
    #39953361
minya13_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение текущего периода с прошлым
Есть табличная модель данных. Допустим что сегодня: 25.04.2020

Таблица фактов FactOrder, где сидит ID товара, дата продажи и кол-во проданных штук

IDDateOrderOrderIDCnt125.04.202015225.04.202016324.04.202011423.04.202018523.04.2020112619.04.202016718.04.202014818.04.202022925.04.20191651025.04.20191851116.05.2019340

Есть таблица измерений DimDate
IDDate125.04.2019226.04.2019316.05.2019418.04.2020519.04.2020623.04.2020724.04.2020825.04.2020

Как получить таблицу вида в Эксель:

OrderIDSoldTodaySoldYersterDaySoldWeekAgoSoldYearAgo111141502002030000

Идея была такая:
1. добавить в таблицу DimDate вычисляемые столбцы YersterDay, WeekAgo,YearAgo
2. добавить 3 раза таблицу DimDate переименовать их в DimYersterDay, DimWeekAgo, DimYearAgo
3. сделать relationships с основной DimDate , по полям YersterDay, WeekAgo,YearAgo соответственно с полем Date из каждой
созданной таблицы
4. потом это поле Date в каждой новой таблице снова связать с FactOrder по полю DateOrder.
Я так сделал и нажал Analyze in Excel, там поставил фильтр на основной таблице DimDate на поле Date ='25.04.2020', и добавил в "Столбцы", поле date из каждой таблицы DimYersterDay, DimWeekAgo, DimYearAgo, но что-то не получилось, выдает результат только за 25.04.2020.
Как еще делают ? Я просто только начал изучение кубов.
...
Рейтинг: 0 / 0
30.04.2020, 18:05
    #39953367
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение текущего периода с прошлым
minya13_85,
не точно без добавления 2 таблицы date

Не имел дел с табуляркой
в MDM есть стандартные MDX функции

вот ссылки на Руссо
https://www.sqlbi.com/blog/marco/2017/01/24/year-over-year-comparison-using-the-same-number-of-days-in-dax/
https://www.sqlbi.com//articles/compare-equivalent-periods-in-dax/


вот интересная статья - но для 2019 CTP 2.3
https://blog.crossjoin.co.uk/2019/03/01/ssas-tabular-2019-calculation-groups-and-migration-from-ssas-multidimensional/
https://docs.microsoft.com/en-us/archive/blogs/analysisservices/whats-new-for-sql-server-2019-analysis-services-ctp-2-3

Мне сдается это стандартные запросы и они наверняка должны быть в примерах AdventureWorks (или как их там для табулярки )


зы собственно это есть 2 из 3 автора книги
Руссо , Chris Webb - 3-го запамятовал
можно поискать ихнюю книжку на просторах инета и ру.ра (вряд ли там будет последняя версия книжки но точно была для 2012 )
там много чего есть - ну либо же поиском по их блогам

ps Upd
3-й - Феррари - известная такая фамилия, :)
но как то я меньше поиском находил его в блогах
https://www.amazon.com/Microsoft-Server-2012-Analysis-Services-ebook/dp/B00JDMPHY0
...
Рейтинг: 0 / 0
30.04.2020, 19:01
    #39953381
minya13_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение текущего периода с прошлым
Гулин Федор,
Я должен создать меры? или куда записать формулы на dax?
...
Рейтинг: 0 / 0
30.04.2020, 20:00
    #39953391
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение текущего периода с прошлым
minya13_85,

в Visual Studio в самой таблице (или если есть отдельная для хранения мер) или в CG выделенной под TimeIntelligence создаётся колонна и под неё все элементы (вчера, прош.мес., прошл.год и т.д.) с формулами пишутся
хотя в CG не всё гладко пока с форматированием и др. оврагов с производными хватает, напр. с selectedmeasure всё просто а вот с selectedvalue придётся пошаманить
...
Рейтинг: 0 / 0
20.05.2020, 15:52
    #39959904
Antojke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнение текущего периода с прошлым
minya13_85,

Я так делал сравнения с аналогичным периодом прошлого года АППГ. Надеюсь поможет.

CREATE MEMBER CURRENTCUBE.[Tip Oper].[Tip].[All].[Факт за аппг]
AS (PARALLELPERIOD( [DIM TIME].[Year-Month-Day].[YEAR], 1,[DIM TIME].[Year-Month-Day].currentmember),[Tip Oper].[Tip].&[Факт]),
VISIBLE = 1;

CREATE MEMBER CURRENTCUBE.[Tip Oper].[Tip].[All].[Отклонения между фактом и фактом за аппг]
AS case
when [Measures].CURRENTMEMBER = [Measures].[Экономическая добавленная стоимость, тыс.руб.]
then IIF()
when [Measures].CURRENTMEMBER=[Measures].[Рентабельность инвестированного капитала (ROIC), %]
then IIF()
else [Tip Oper].[Tip].&[Факт]-[Tip Oper].[Tip].[All].[Факт за аппг]
end,
VISIBLE = 1;

CREATE MEMBER CURRENTCUBE.[Tip Oper].[Tip].[All].[Отклонения между фактом и фактом за аппг,%]
AS case
when ([Tip Oper].[Tip].[All].[Факт за аппг])=0
then null
when [Measures].CURRENTMEMBER = [Measures].[Рентабельность инвестированного капитала (ROIC), %]
then (format([Tip Oper].[Tip].&[Факт]*100,"Currency")-format([Tip Oper].[Tip].[Факт за аппг]*100,"Currency"))/abs(format([Tip Oper].[Tip].[Факт за аппг]*100,"Currency"))
else (([Tip Oper].[Tip].&[Факт]-[Tip Oper].[Tip].[All].[Факт за аппг])/abs([Tip Oper].[Tip].[All].[Факт за аппг]))
end,
FORMAT_STRING = "Percent",
VISIBLE = 1;
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Сравнение текущего периода с прошлым / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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