在qliksense cookbook一書中有這樣一段載入指令碼,根據這段指令碼來理解 pick 和 match 函式:
eg: pick(match("product",'footwear', 'tyres', 'mountain bikes', 'road bikes'),rgb(236,129,0),rgb(250,185,0), rgb(70,137,164), rgb(141,25,8)) as "productcolor"
通過qlik sense 指導手冊查到這樣乙個例子:
pick( n,'a','b',4 )
返回 'b',如果 n = 2
返回 4, 如果 n = 3
得出結論:pick 函式是根據n的值 返回後面第n個選擇項的值 (n從1開始)
match( m, 'jan','feb','mar')
返回 2,如果 m = feb
返回 0,如果 m = apr 或 jan (沒有匹配到的情況)
得出結論:match 函式是根據傳入 的m值與後面的選擇項匹配,匹配上了則返回對應的選擇項的對應位置的序號(從1開始),沒匹配上則返回0.
tips:傳入的值和匹配項間是要求完全匹配的,即會考慮字母大小寫。
即 根據對於這兩個函式的進一步理解,我們得出指令碼中的載入語句的意圖是:
product 為 'footwear' 設定顏色為:rgb(236,129,0)
product 為 'tyres' 設定顏色為:rgb(250,185,0)
product 為 'mountainbikes' 設定顏色為:rgb(70,137,164)
product 為 'roadbikes' 設定顏色為:rgb(141,25,8)
class 函式:class(expression, interval [ , label [ , offset ]])
class( var,10 ) with var = 23,返回 '20<=x<30'
class(var,5,'value' ) with var= 23,返回 '20<= value <25'
class( var,10,'x',5 ) with var = 23,返回 '15<=x<25'
var 即為要傳入的變數值 和引數expression對應 interval 為區間長度範圍 label 為最後返回結果裡面的變數,offset 為起始點
針對這個函式要清楚 在沒有設定offset值時 缺省區間起始點是從0開始的 (即offset是用來設定修改缺省區間起始點的)
eg1中第乙個是0<=x<10 ,10<=x<20,20<=x<30 …
eg4中是設定了offset為5 則第乙個是 5<=x<15 ,15<=x<25…
Qlik函式學習之rand和round
通過下面的指令碼案例學習理解兩個函式round與 rand transactions round 1000 rand rand rand as sales,recno as transidwhile rand 0.5 or iterno 1 round 函式 round x step offset ...
正則驗證,match()與test()函式的區別?
test是regexp的方法,引數是字串,返回值是boolean型別。match是string的方法,引數是正規表示式,返回值是陣列。案例 1 判斷日期型別是否為yyyy mm dd格式的型別 2function isdate d 2 d 6var r str.match reg 7if r nul...
(P14)建構函式與析構函式 拷貝建構函式
include test.h intmain void ifndef test h define test h class test endif test h 14cpp 14cpp 14cpp test.cpp include test.h include using namespace std ...