使用 QlikView 进行 YoY 比较

YoY comparison using QlikView

我的数据包含从去年三月到现在的每日数据。我想比较 2015/4 vs 2014/4 和 2015/4 vs 2015/3 的销售额

我的日期格式是 Date_Month 的 01,02,03,04,...,12,Date_Year 的日期格式是 2014,2015。

我先创建两个变量:

vCurrentYear=max(Date_Year)
vCurrentMonth=Max (Date_Month)

然后我创建一个条形图,我的表达式如下:

Last Year:

Sum({<[Date_Year]={$(=(vCurrentYear)-1)}Date_Month={"<=$(vCurrentMonth)"}>}[SALES_AMOUNT])

Current Year:

Sum({<[Date_Year]={$(vCurrentYear)},Date_Month={"<=$(vCurrentMonth)"}>}SALES_AMOUNT)

但结果只是将两年加在一起....而不是比较这两年。图link如下:

http://www.2shared.com/photo/xlG-XpI7/yoy.html

我想要一个包含不同年份的两个不同条形图的条形图,x 轴是 Date_Month。

我正在使用 QlikView 11.20.12664.0 SR9。

如果还没有,请确保将 Date_Month 字段添加为图表中的维度:

下图中左图是不加Date_Month维度时的结果,右图是加了维度后的结果:

编辑: 看起来您的 "Last Year" 表达式不正确,您在 [Date_Year]={$(=(vCurrentYear)-1)}Date_Month={"<=$(vCurrentMonth)"} 之间缺少一个逗号,即:

Sum({<[Date_Year]={$(=(vCurrentYear)-1)}, Date_Month={"<=$(vCurrentMonth)"}>}[SALES_AMOUNT])

编辑 2 另外,请确保您的变量是在 "Variable Overview" 对话框而不是脚本中定义的:

编辑 3 另一件要检查的事情是,您在 Set Analysis 表达式中引用的字段名称与加载到 QV 中的数据中的字段名称相同。

在您的源数据中,您有 DATE_MONTHDATE_YEAR,但是,在您问题的表达式(和变量)中,您有 Date_YearDate_Month . QV 中的字段 区分大小写 ,因此,您的表达式将无法正确计算。

在这种情况下,根据您的源数据,我建议您将变量和字段更改为以下内容:

变量:

vCurrentYear = max(DATE_YEAR)
vCurrentMonth = max(DATE_MONTH)

表达式:

sum({<DATE_YEAR={$(=(vCurrentYear)-1)}, DATE_MONTH={"<=$(vCurrentMonth)"}>} SALES_AMOUNT)

sum({<DATE_YEAR={$(vCurrentYear)}, DATE_MONTH={"<=$(vCurrentMonth)"}>} SALES_AMOUNT)