学习Qlik函数match 与 pick 的用法

在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函数match 与 pick 的用法)