QlikView中的 Rank()函数用于显示字段中值的等级以及返回具有特定等级值的行.因此它用于两种情况.第一种情况是在QlikView图表中显示字段中值的等级,第二种情况是在聚合函数中仅显示具有特定等级值的行.
输入数据
下面给出了描述Rank函数的例子中使用的数据.您可以将此文件保存为系统中可以通过QlikView访问的路径中的.csv文件.
Product_Id,Product_Line,Product_category,Quantity,Value1,Sporting Goods,Outdoor Recreation,12,56422,Food, Beverages & Tobacco,38,25143,Apparel & Accessories,Clothing,54,23654,Apparel & Accessories,Costumes & Accessories,29,44875,Sporting Goods,Athletics,11,8126,Health & Beauty,Personal Care,21,69127,Arts & Entertainment,Hobbies & Creative Arts,58,52018,Arts & Entertainment,Paintings,73,84519,Arts & Entertainment,Musical Instruments,41,124510,Hardware,Tool Accessories,2,45611,Home & Garden,Bathroom Accessories,36,24112,Food,Drinks,54,124713,Home & Garden,Lawn & Garden,29,546214,Office Supplies,Presentation Supplies,22,57715,Hardware,Blocks,53,54816,Baby & Toddler,Diapering,19,124717,Baby & Toddler,Toys,9,25718,Home & Garden,Pipes,81,124119,Office Supplies,Display Board,29,2177
加载脚本
使用脚本编辑器将上述数据加载到QlikView内存中.从文件菜单中打开
脚本编辑器或按 Control + E .从文件数据选项卡中选择表文件选项,然后浏览包含上述数据的文件.单击确定并按 Control + R 将数据加载到QlikView的内存中.
使用Rank()函数创建图表
接下来,我们按照下面给出的步骤创建一个图表,显示关于尺寸Product_Line描述的字段值的等级.
选择图表类型
点击图表向导并选择直表选项作为图表类型.点击下一步.
选择图表维度
从 First Dimension 下拉列表中,选择Product_Line作为维度.点击下一步.
定义图表表达式
在自定义表达式字段中,提及排名表达式,如下所示.这里我们考虑名为 Value 的数字字段,它表示每个产品系列下每个类别的Sales值.点击下一步.
显示图表
单击上一步骤中的完成后,将显示以下图表,其中显示每个产品系列的销售价值
的等级.
使用带排名的聚合函数
聚合函数喜欢 : max,min等可以将rank作为参数来返回满足某些rank值的行.我们在脚本编辑器中考虑以下表达式,它将在每个产品系列下提供包含最高销售额的行.
# Load the records with highest sales value for each product line.LOAD Product_Line, max(Value,1)FROM[E:\Qlikview\data\product_sales.csv](txt, codepage is 1252, embedded labels, delimiter is ',', msq)group by Product_Line;
创建工作表对象
让我们创建一个表格框工作表对象来显示上面给出的
脚本生成的数据.进入菜单 Layout → New Sheet Object → 表格框.出现以下窗口,其中我们提到表的标题并选择要显示的必填字段.单击"确定"将显示QlikView表格框中CSV文件中的数据,如下所示.