Qlikview里的Set 和 Let 的区别



Qlikview里的变量声明有两种方法,一个是let,  一个是Set,本人一直有点混淆,不知道何时使用LET,何时使用SET,而且取值的时候,有多种写法,为了搞清楚,我做了个小的演示。我们都知道在qlikview的dashboard页面中可以使用dollar sign $(参数)或者直接写=参数的方式引用set or  let 声明的参数变量。下面看下两者使用的差别。


Version:QlikView 11.2


1. 用LET方式声明四个参数:

LET vVar1 = 1+3;
LET vVar2 = '1+3';
LET vVar3 = Today();
LET vVar4 = 'Today()';

1.1 在qlikview里面不使用dollar sign的方式调用上面四个参数的值如下图。

Qlikview里的Set 和 Let 的区别_第1张图片

1.2 在dashboard里面使用dollar sign的方式调用上面四个参数的值如下图。

Qlikview里的Set 和 Let 的区别_第2张图片

2. 用SET方式重新声明上面的四个参数:

SET vVar1 = 1+3;
SET vVar2 = '1+3';
SET vVar3 = Today();
SET vVar4 = 'Today()';

2.1 在QV里面不使用dollar sign的方式调用上面四个参数的值如下图。

Qlikview里的Set 和 Let 的区别_第3张图片

2.2 在dashboard里面使用dollar sign的方式调用上面四个参数的值如下图。

Qlikview里的Set 和 Let 的区别_第4张图片

通过上面的演示过程可以得出总结如下:

LET和SET的区别是:

1. LET会将等号后面的语句的计算结果值赋给参数,假如用引号引起来则当成字符串处理。

2. SET会将等号后面的语句完全当成字符串,即便写一个公式或者方法也不会计算。

是否使用dollar sign($())的区别:

1. $()会将括号里面的语句当成公式或者方法来计算或者执行.

2. 不加$()会直接使用LET或者SET的赋值结果。


备注:

1. 为何上面的$(vVar3)是小数,分为两部分逻辑

1.1. 用LET方式已经将Today()的结果2014/11/30赋给了参数vVar3.

1.2. 用dollar sign的方式调用参数,$()中括号里面的语句会以公式或者方法来计算或者执行,因此2014除以11再除以30的结果就是上面的小数。

你可能感兴趣的:(set,dashboard,let,QlikView)