gpt4 book ai didi

business-intelligence - Qlikview滚动12个月财政

转载 作者:行者123 更新时间:2023-12-04 08:24:21 25 4
gpt4 key购买 nike

这个论坛似乎更适合于更多的编程问题,但是如果有人在下面的链接中查看逻辑问题,我将很感兴趣。我的问题是如何使用已定义的日历来计算前12个月的总计。在QV社区中,我发现的例子很少。请参阅下面的链接以获取更多详细信息。我愿意看一下SQL或QV脚本解决方案。

我们的会计年度为11月到10月。我希望最终用户选择Year,然后选择一个图表来显示最近12个月的滚动利润率。我在前几个月积累总额时遇到了问题。我的目标是使其看起来类似于手动计算的Excel图像“目标”中的“滚动12个月总计-GP”列。 (请查看QV链接以获取屏幕截图)

滚动裕量方程式:我尝试使用Set Analysis制作滚动平均方程式

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

万年历
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

感谢您抽出宝贵时间研究此问题。

最佳答案

解决方案不在日历中:您必须在日历和事实表之间创建一个数据透视表。

在此数据透视表中,您有2种类型:DIRECT和CROSSING。

对于DIRECT类型,事实表中的行链接到日历中的日期
对于CROSSING类型,实际上一行表已链接到日历中 future 12个月的所有日期。

因此,在Qlikview中,始终要使用DIRECT类型,除非您想每个月显示过去12个月的总数。在这种情况下,您使用CROSSING,因为所有行都链接到 future 12个月的日期,因此(从相反的角度来看)意味着一个月已链接到过去12个月的所有数据。

例子:

xlsx

QVW

关于business-intelligence - Qlikview滚动12个月财政,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com