QlikView - Rank 函数
QlikView 中的 Rank() 函数用于显示字段中值的排名以及返回具有特定排名值的行。因此,它用于两种场景。第一种场景是在 QlikView 图表中显示字段中值的排名,第二种场景是在聚合函数中仅显示具有特定排名值的行。
输入数据
下面给出了描述排名函数的示例中使用的数据。您可以将其保存为 .csv 文件,保存在系统中 QlikView 可以访问的路径中。
Product_Id,Product_Line,Product_category,Quantity,Value 1,Sporting Goods,Outdoor Recreation,12,5642 2,Food, Beverages & Tobacco,38,2514 3,Apparel & Accessories,Clothing,54,2365 4,Apparel & Accessories,Costumes & Accessories,29,4487 5,Sporting Goods,Athletics,11,812 6,Health & Beauty,Personal Care,21,6912 7,Arts & Entertainment,Hobbies & Creative Arts,58,5201 8,Arts & Entertainment,Paintings,73,8451 9,Arts & Entertainment,Musical Instruments,41,1245 10,Hardware,Tool Accessories,2,456 11,Home & Garden,Bathroom Accessories,36,241 12,Food,Drinks,54,1247 13,Home & Garden,Lawn & Garden,29,5462 14,Office Supplies,Presentation Supplies,22,577 15,Hardware,Blocks,53,548 16,Baby & Toddler,Diapering,19,1247 17,Baby & Toddler,Toys,9,257 18,Home & Garden,Pipes,81,1241 19,Office Supplies,Display Board,29,2177
加载脚本
使用脚本编辑器将上述数据加载到 QlikView 内存中。从文件菜单打开 脚本编辑器或按 Control+E。从文件中的数据选项卡中选择表格文件选项,然后浏览包含上述数据的文件。单击确定并按Control+R将数据加载到 QlikView 的内存中。
使用 Rank() 函数创建图表
接下来,我们按照以下步骤创建一个图表,该图表显示了相对于维度 Product_Line 描述的字段 Value 的排名。
选择图表类型
单击图表向导并选择垂直表选项作为图表类型。单击下一步。
选择图表维度
从第一维度下拉列表中,选择 Product_Line 作为维度。单击下一步。
定义图表表达式
在自定义表达式字段中,输入排名表达式,如下所示。这里我们考虑名为值的数字字段,它表示每个产品线下每个类别的销售额。单击下一步。
显示图表
单击上述步骤中的"完成"后,将出现以下图表,其中显示了每个产品系列的销售价值排名。
使用带有排名的聚合函数
− max、min 等聚合函数可以将排名作为参数来返回满足特定排名值的行。我们考虑在脚本编辑器中使用以下表达式,它将给出每个产品系列下包含最高销售额的行。
# 加载每个产品系列中销售额最高的记录。 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;
创建工作表对象
让我们创建一个表格框工作表对象来显示由上述脚本生成的数据。转到菜单布局 → 新建工作表对象 → 表格框。出现以下窗口,我们在其中输入表格的标题并选择要显示的所需字段。单击"确定"将在 QlikView 表格框中显示来自 CSV 文件的数据,如下所示。