使用QlikView进行比较

时间:2015-05-21 13:42:31

标签: qlikview

我的数据包含去年三月至今的每日数据。我想比较2015/4与2014/4和2015/4与2015/3的销售额。

我的日期格式为01,02,03,04,...,<?xml version="1.0" encoding="UTF-8"?> <results> <result> <rank>1</rank> <name>John</name> <lastname>Doe</lastname> <country>Norway</country> <time>1:23:45</time> <gap>00:00</gap> </result> <result> <rank>2</rank> <name>Dave</name> <lastname>Doe</lastname> <country>Norway</country> <time>1:24:00</time> <gap>00:15</gap> </result> <result> <rank>3</rank> <name>Nicholas</name> <lastname>Doe</lastname> <country>Norway</country> <time>1:24:00</time> <gap>SAME TIME</gap> </result> <result> <rank>4</rank> <name>Barack</name> <lastname>Doe</lastname> <country>USA</country> <time>1:24:00</time> <gap>SAME TIME</gap> </result> <result> <rank>5</rank> <name>Vladimir</name> <lastname>Doe</lastname> <country>Norway</country> <time>1:24:45</time> <gap>01:15</gap> </result> <result> <rank>6</rank> <name>Xi Min</name> <lastname>Doe</lastname> <country>Norway</country> <time>1:24:45</time> <gap>SAME TIME</gap> </result> </results> 为12,Date_Month为2014,2015。

我首先创建两个变量:

Date_Year

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

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

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

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

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

我使用的是QlikView 11.20.12664.0 SR9。

1 个答案:

答案 0 :(得分:1)

如果您还没有,请确保将\?_ga=.*字段添加为图表中的维度:

A view of the dimension tab of the chart properties

如果您不将Date_Month添加为维度,则下图中的左侧图表显示结果,右侧图表显示添加后的结果:

A comparison of charts

修改: 它看起来像你去年&#34;去年&#34;表达式不正确,您错过了Date_Month[Date_Year]={$(=(vCurrentYear)-1)}之间的逗号,即:

Date_Month={"<=$(vCurrentMonth)"}

编辑2 另外,确保您的变量在&#34;变量概述&#34;中定义。对话而不是你的剧本:

The Variable Overview dialogue

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

在源数据中,您有Sum({<[Date_Year]={$(=(vCurrentYear)-1)}, Date_Month={"<=$(vCurrentMonth)"}>}[SALES_AMOUNT]) DATE_MONTH,但是,在问题的表达式(和变量)中,您有DATE_YEARDate_Year。 QV中的字段区分大小写,因此,您的表达式将无法正确计算。

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

变量

Date_Month

表达式

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