QlikView中LET和SET以及dollar sign($())的使用總結

博客引言:

參數運用在報表開發階段是很常見的事情,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)是這個方法被調用的日期。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章