Qlikview Rolling N Months

浏览: 1804

Qlikview实现Rolling N Months的实现

1.    首先将excel数据加载到qlikview,脚本如下:

test:
LOAD 区域,

年月,
    
left(年月,4) as Year, //筛选条件
     Right(年月,2) as Month,//筛选条件
    
年月 as Rolling_年月 ,//维度
     产品代码,
    
销量
FROM
TEST.xlsx
(
ooxml, embedded labels, table is Sheet1);

2.    将Year,month筛选器在界面上显示;

3.    创建4个变量,分别是当前选择条件的最大年月V_Max_YM  =MAX(年月)

 

当前最大年月的日期,我这里拼个1号,V_Max_Date =left(V_Max_YM,4)&'-'&Right(V_Max_YM,2)&'-'&'01'


  向前推12个月的1号,这个根据具体情况可以调整,V_Max_Date_12 =AddMonths(V_Max_Date,-12)


  将前12个月1号的这个日期格式为6位年月,V_Max_YM_12 =Date(V_Max_Date_12,'YYYYMM')


  接下来就创建趋势图了,维度选择Rolling_年月,指标需要编写集合表达式

SUM({<Rolling_年月={">$(#V_Max_YM_12)<=$(#V_Max_YM)"},Year=,Month>}销量)


这样就可以实现了,具体可以参考附件word。


推荐 1
本文由 qjxiaopang 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

3 个评论

请问SUM({<Rolling_年月={">$(#V_Max_YM_12)<=$(#V_Max_YM)"},Year=,Month>}销量)这里的year=和Month为什么要加上去呢,起什么作用呢?我尝试用你的方法做滚动年,这样写的:SUM({<Rolling_年月={">$(#V_Max_Y_12)<=$(#V_Max_Y)"}>}销量),但是并不能成功,请问是什么原因呢?
,Year=,Month=是表示忽略这两个筛选条件,否则你选择了年月,就只有一个月了
终于明白“,Year=,Month=”是什么含义了,谢谢

要回复文章请先登录注册