在Qlikview中加载脚本期间创建变量

在Qlikview中加载脚本期间创建变量,qlikview,Qlikview,我正在尝试使用以前加载的表在加载脚本中设置变量,例如: Data: load * inline [ Year, Store, Revenue 2008, Amsterdam, 100 2009, Amsterdam, 100 2010, Amsterdam, 100 2008, Rotterdam, 200 2009, Rotterdam, 200 2010, Rotterdam, 200 2008, The Hague, 300 2009, The Hague, 300 2010, The H

我正在尝试使用以前加载的表在加载脚本中设置变量,例如:

Data:
load * inline
[
Year, Store, Revenue
2008, Amsterdam, 100
2009, Amsterdam, 100
2010, Amsterdam, 100
2008, Rotterdam, 200
2009, Rotterdam, 200
2010, Rotterdam, 200
2008, The Hague, 300
2009, The Hague, 300
2010, The Hague, 300
];

Let vRevenueTotal  = Sum(Revenue);
但我的vRevenueTotal为空。我是Qlikview的新手,我在这里做错了什么?
提前感谢。

不幸的是,您不能以这种方式直接在变量中使用
Sum
,因为QlikView不知道如何对字段求和(即相对于其他字段),因此它返回null

实现所需结果的一种方法是创建一个临时表,为您进行求和,然后
peek
查看表中的结果并将其分配给变量

在下面的脚本示例中,创建了一个临时“求和”表,该表使用
常驻
加载从现有表(在本例中为
数据
)获取数据,然后将
收入
字段求和到此表中的一个新字段

然后,我们可以使用
peek
函数获取临时表的第一行(
SumData
),并返回
RevenueSum
字段的值,该字段随后被分配给变量
vrevenuetoal
,该变量随后根据需要包含值1800

然后我们放下临时桌子以保持整洁

Data:
load * inline
[
Year, Store, Revenue
2008, Amsterdam, 100
2009, Amsterdam, 100
2010, Amsterdam, 100
2008, Rotterdam, 200
2009, Rotterdam, 200
2010, Rotterdam, 200
2008, The Hague, 300
2009, The Hague, 300
2010, The Hague, 300
];

SumData:
LOAD
    sum(Revenue) as RevenueSum
RESIDENT Data;

Let vRevenueTotal  = peek('RevenueSum',0,'SumData');

DROP TABLE SumData;

我不知道QV在脚本中分配变量时不允许这样做,但您的解决方法对我来说非常适合。感谢您的帮助。QV允许您以与脚本中相同的方式创建变量,但是,它们不能用于后续脚本语句中。但是,QV允许您在表格和图表的前端使用这些变量作为动态计算的表达式。HTH:)