博客引言:
参数运用在报表开发阶段是很常见的事情,QlikView中可以用SET和LET方式声明参数,在dashboard页面中可以使用dollar sign($(参数))或者直接写=参数的方式引用参数。下面上面几者使用效果的差别。
环境:QlikView 11.2
研究过程:
1. 用LET方式声明四个参数:
LET vTest1 = 1+3;
LET vTest3 = ‘1+3‘;
LET vTest5 = Today();
LET vTest7 = ‘Today()‘;
1.1 在dashboard里面不使用dollar sign的方式调用上面四个参数依次是下面四个值。
vTest1: 4
vTest3: 1+3
vTest5: 13/03/2014
vTest7: Today()
1.2
在dashboard里面使用dollar sign的方式调用上面四个参数依次是下面四个值。
$(vTest1): 4
$(vTest3): 4
$(vTest5): 0.002317115385634
$(vTest7): 13/03/2014
2. 用SET方式声明和上面同样的四个参数:
SET vTest1 = 1+3;
SET vTest3 = ‘1+3‘;
SET vTest5 = Today();
SET vTest7 = ‘Today()‘;
2.1 在dashboard里面不使用dollar sign的方式调用上面四个参数依次是下面四个值。
vTest2: 1+3
vTest4: 1+3
vTest6: Today()
vTest8: Today()
2.2
在dashboard里面使用dollar sign的方式调用上面四个参数依次是下面四个值。
$(vTest2): 4
$(vTest4): 4
$(vTest6): 13/03/2014
$(vTest8): 13/03/2014
总结:
LET和SET的区别是:
1. LET会将等号后面的语句的计算结果值赋给参数,假如用引号引起来则当成字符串处理。
2. SET会将等号后面的语句完全当成字符串,即便写一个公式或者方法也不会计算。
是否使用dollar sign($())的区别:
1. $()会将括号里面的语句当成公式或者方法来计算或者执行.
2. 不加$()会直接使用LET或者SET的赋值结果。
备注:
1. 为何上面的$(vTest5)是小数,分为两部分逻辑
1.1. 用LET方式已经将Today()的结果13/03/2014赋给了参数vTest5.
1.2. 用dollar sign的方式调用参数,$()中括号里面的语句会以公式或者方法来计算或者执行,因此13除以03再除以2014的结果就是上面的小数。
2. 为何今天的日期是2014月3月14号,today()的结果却是13号
原因: Today()这个方法假如不给括号里面写任何参数,则里面的默认参数是2,也就是Today(2),这样的结果是该qvw文档被打开的那一天的日期。比如我昨天打开了这个文档,一直没有关闭,则今天调用Today(2)还是会显示昨天的日期。 Today(0)是最近一次reload数据的日期,Today(1)是这个方法被调用的日期。
QlikView中LET和SET以及dollar sign($())的使用总结,布布扣,bubuko.com
QlikView中LET和SET以及dollar sign($())的使用总结
原文:http://blog.csdn.net/zplume/article/details/21224915