To forum wydaje się być bardziej nastawione na więcej problemów programistycznych, ale byłbym zainteresowany, gdyby ktoś spojrzał na problem logiczny w linku poniżej. Mój problem polega na tym, jak obliczyć sumę poprzednich 12 miesięcy przy użyciu kalendarza już zdefiniowanego. Znalazłem bardzo nieliczne tego przykłady w społeczności QV. Zobacz poniższy link, aby uzyskać więcej informacji. Byłbym skłonny spojrzeć na rozwiązanie skryptowe SQL lub QV.Qlikview Rolling 12 Month Fiscal
Nasz rok podatkowy trwa od listopada do października. Chciałbym, aby użytkownik końcowy wybrał rok i wykres, aby wyświetlić ostatni dwunastomiesięczny marżę w trakcie przewalutowania. Mam problemy z gromadzeniem mojej sumy za poprzednie miesiące. Moim celem byłoby, gdyby wyglądał podobnie do kolumny Rolling 12 Month Total - GP w ręcznie spreparowanym obrazie Excela "Cel". (Spójrz na odnośnik QV na zrzucie)
Rolling Margin równanie: moja próba wykorzystania analizowanej aby kroczącego AVG równanie
=Sum({<master_date={'>=$(=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: ten wykorzystuje master_date podłączenia elementy razem. Ten kalendarz fiskalny są trudne do ułożyła z toczenia AVG
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> To definiuje nasz rok fiskalny
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;
Aby zobaczyć zrzuty ekranu: http://community.qlikview.com/message/219912#219912
Dziękujemy za poświęcenie czasu aby spojrzeć na ten problem.
Mam nadzieję, że zawiera wystarczającą ilość informacji/kontekst –
Wydaje się, że http://community.qlikview.com/message/219912#229267 zawiera roztwór. – smartmeta