Этот форум, похоже, больше ориентирован на большее количество проблем программирования, но мне было бы интересно, если кто-то посмотрит на логическую проблему в приведенной ниже ссылке. Моя проблема заключается в том, как рассчитать предыдущий 12-месячный итог с использованием уже определенного календаря. Я нашел очень мало примеров этого в сообществе QV. Для получения более подробной информации см. Приведенную ниже ссылку. Я бы хотел посмотреть на SQL или QV-скрипт.Qlikview Rolling 12 Month Fiscal
Наш финансовый год работает с ноября по октябрь. Я хотел бы, чтобы конечный пользователь выделил год и график, чтобы отобразить последний разворот на 12 месяцев. У меня были проблемы с тем, чтобы моя сумма накапливалась в течение предыдущих месяцев. Моя цель состояла бы в том, чтобы он выглядел так же, как столбец Rolling 12 Month Total - GP в образце «Цель» с ручным калибром Excel. (Посмотреть на QV ссылку на скриншот)
Роллинг Margin уравнение: моя попытка использовать Set Analysis, чтобы сделать прокатное Avg уравнения
=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: это использует master_date для подключения предметы вместе. Это финансовый календарь трудно положить вместе с качению 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> Это определяет наш финансовый год
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
Благодарим Вас за время чтобы посмотреть на эту проблему.
Я надеюсь, что это содержит достаточно информации/контекст –
Кажется, что http://community.qlikview.com/message/219912#229267 содержит решение. – smartmeta