Diễn đàn này dường như được hướng đến nhiều vấn đề lập trình hơn nhưng tôi sẽ quan tâm nếu có ai đó xem xét vấn đề logic trong liên kết dưới đây. Vấn đề của tôi là làm thế nào để tính toán tổng số 12 tháng trước đó bằng cách sử dụng lịch đã được xác định. Tôi đã tìm thấy rất ít ví dụ về điều này trên cộng đồng QV. Vui lòng xem liên kết dưới đây để biết thêm chi tiết. Tôi sẽ sẵn sàng xem xét một giải pháp SQL hoặc một kịch bản QV.Qlikview Rolling 12 Tháng Fiscal
Năm tài chính của chúng tôi kéo dài từ tháng 11 đến tháng 10. Tôi muốn người dùng cuối chọn Năm và biểu đồ để hiển thị lề 12 tháng cuối cùng. Tôi đã gặp vấn đề khi tổng số tiền của tôi tích luỹ trong những tháng trước. Mục tiêu của tôi sẽ cho nó trông giống như cột Rolling 12 Month Total - GP trong hình ảnh Excel được tính toán thủ công 'Mục tiêu'. (Nhìn vào liên kết QV cho ảnh chụp màn hình)
cán Margin phương trình: nỗ lực của tôi để sử dụng Set Analysis để thực hiện một phương trình trung bình cán
=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: này sử dụng master_date để kết nối các mục với nhau. Đây là một lịch tài chính khó có thể đặt cùng với cán 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> Điều này xác định năm tài chính của chúng tôi
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;
Để xem ảnh chụp màn hình: http://community.qlikview.com/message/219912#219912
Cảm ơn bạn đã dành thời gian để xem xét vấn đề này.
Tôi hy vọng điều này có chứa đầy đủ thông tin/bối cảnh –
Có vẻ rằng http://community.qlikview.com/message/219912#229267 chứa một giải pháp. – smartmeta