Qlikview 简明教程

QlikView - Rank Function

QlikView中的 Rank() 函数用于显示字段中值的排名以及返回具有特定排名值的行的排名。因此,它用于两种场景。第一个场景是在QlikView图表中显示字段中值排名,第二个场景是在聚合函数中仅显示具有特定排名值的行的排名。

Input Data

用于说明排名函数的示例中使用的数据如下所示。您可以将其另存为.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

Load Script

通过使用脚本编辑器,将上述数据加载到QlikView内存。从“文件”菜单打开“脚本”编辑器或按 Control+E 。从 Data from Files tab 中选择 Table Files 选项,然后浏览包含上述数据的文件。单击 OK 并按 Control+R 将数据加载到QlikView的内存中。

rank laod script

Creating Chart with Rank() Function

接下来,我们按照以下步骤创建一个图表,该图表显示了 Value 字段相对于 Product_Line 维度的排名。

Select the Chart Type

单击图表向导并选择 straight table 作为图表类型。单击 Next

rank chart type

Select the Chart Dimension

First Dimension 下拉列表中,选择 Product_Line 作为维度。单击 Next

rank select diemnsions

Define the Chart Expression

在自定义表达式字段中,按如下所示指定排名表达式。这里,我们正在考虑名为 Value 的数值字段,该字段表示每个产品线下的每个类别的销售额。单击 Next

rank chart expression

Displaying the Chart

在以上步骤中单击完成时,会出现下图,其中显示了每个产品线的销售额排名。

rank chart data

Using Aggregate Function with 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;

Creating Sheet Object

让我们创建一个 Table Box 表对象以显示由以上给定的脚本生成的数据。转到 Layout → New Sheet Object → Table Box 菜单。出现以下窗口,我们在其中指定表的标题并选择要显示的必需字段。单击确定可按如下所示在 QlikView 表格框中显示 CSV 文件中的数据。

rank aggr func