在 Qlikview 中加载脚本期间创建变量
Posted
技术标签:
【中文标题】在 Qlikview 中加载脚本期间创建变量【英文标题】:Creating variable during load script in Qlikview 【发布时间】:2014-10-20 06:00:49 【问题描述】:我正在尝试使用以前加载的表在我的加载脚本中设置一个变量,例如:
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 为 Null。我是 Qlikview 的新手,我在这里做错了什么? 提前致谢。
【问题讨论】:
【参考方案1】:很遗憾,您不能以这种方式直接在变量中使用 Sum
,因为 QlikView 不知道如何对字段求和(即相对于其他字段),因此它返回 null。
实现所需结果的一种方法是创建一个临时表,为您进行求和,然后在表中的结果处peek
并将其分配给您的变量。
在下面的脚本示例中,创建了一个临时“求和”表,它使用 RESIDENT
加载从现有表(在本例中为 Data
)获取数据,然后将 Revenue
字段求和到此表中的新字段。
然后我们可以使用peek
函数获取临时表的第一行(SumData
)并返回RevenueSum
字段的值,然后分配给变量vRevenueTotal
,然后包含根据需要设置值 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 :)以上是关于在 Qlikview 中加载脚本期间创建变量的主要内容,如果未能解决你的问题,请参考以下文章
在 Python ctypes 中加载共享库期间出现分段错误(核心转储)
如何在Objective-C中加载数据期间异步加载JSON数据并填充UITableView