Qlikview Rolling 12 Month Fiscal

Этот форум, кажется, больше ориентирован на проблемы программирования, но мне было бы интересно, если бы кто-нибудь посмотрел на проблему логики в приведенной ниже ссылке. Моя проблема заключается в том, как рассчитать итоги за предыдущие 12 месяцев, используя уже определенный календарь. Я нашел очень мало примеров этого в сообществе QV. Пожалуйста, смотрите ссылку ниже для более подробной информации. Я был бы готов взглянуть на решение для сценария SQL или QV.

Наш финансовый год длится с ноября по октябрь. Я бы хотел, чтобы конечный пользователь выбрал «Год» и на диаграмме отображалась маржа за последние скользящие 12 месяцев. У меня были проблемы с накоплением общей суммы за предыдущие месяцы. Моя цель состояла бы в том, чтобы она выглядела похожей на столбец Rolling 12 Month Total - GP в рассчитываемом вручную изображении Excel «Цель». (см. ссылку на QV для снимка экрана)

Уравнение скользящей маржи: моя попытка использовать Set Analysis для создания уравнения скользящего среднего

=Sum({=$(=MonthStart(Max(master_date), -12))<=$(=MonthEnd(Max(master_date)))'}>}

MasterCalendar

TempCalendar:
LOAD
$(vDateMin) + RowNo() - 1 AS DateNumber,
Date($(vDateMin) + RowNo() - 1) AS TempDate
AUTOGENERATE 1
WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);

MasterCalendar: здесь используется master_date для соединения элементов вместе. Этот финансовый календарь сложно составить вместе со скользящим средним

LOAD
TempDate AS master_date,
Day(TempDate) AS CalendarDay,
      WeekDay(TempDate) AS CalendarWeekDay,
      Week(TempDate) AS CalendarWeek,
      Month(TempDate) AS CalendarMonth,
      Year(TempDate) AS CalendarYear,
      'Q' & Ceil(Month(TempDate)/3) AS CalendarQuarter,
      WeekDay(TempDate) & '-' & Year(TempDate) AS CalendarWeekAndYear,
      Month(TempDate) & '-' & Year(TempDate) AS CalendarMonthAndYear,
      If(Num(TempDate) >= $(vYearStart) AND Num(TempDate) < $(vMonthNow), -1, 0) AS YTD, 
      If(Num(TempDate) >= $(vYearStartLY) AND Num(TempDate) < $(vMonthNowLY), -1, 0) AS LY_YTD,
      Year2Date(TempDate) * -1 AS YTD_Flag,
      Year2Date(TempDate,-1, 1, $(vToday))*-1 AS LY_YTD_Flag
RESIDENT TempCalendar ORDER BY TempDate ASC;

DROP TABLE TempCalendar;

FiscalCalander> Это определяет наш финансовый год

FiscalCalendar:
LOAD date(date#(20011101,'YYYYMMDD')+recno(),'MM/DD/YY') AS "master_date"
AUTOGENERATE today()-date#(20011101,'YYYYMMDD');
LEFT JOIN (FiscalCalendar)
LOAD
"master_date",
date(monthstart(master_date),'MMM YY') AS "MonthFisical",
date(monthstart(master_date),'MMM') AS "MonthFisical_MonthTitle",
date(yearstart(master_date,1,11),'YYYY') AS "YearFiscal",
month(master_date)-month(num(today(1))) AS FiscalMonthsElapsed,
YearToDate(master_date, 0,11)*-1 AS YTD_FLAG_Fiscal,
YearToDate(master_date,-1,11)*-1 AS LY_YTD_FLAG_Fiscal
RESIDENT FiscalCalendar;

Чтобы увидеть снимки экрана: http://community.qlikview.com/message/219912#219912

Спасибо, что нашли время изучить эту проблему.

8
задан Chris J 9 June 2016 в 10:54
поделиться