📜  QlikView-排名函数

📅  最后修改于: 2020-11-29 07:27:09             🧑  作者: Mango


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

输入数据

下面介绍了描述Rank函数的示例中使用的数据。您可以将其另存为.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_laod_script

使用Rank()函数创建图表

接下来,我们按照下面给出的步骤创建一个图表,该图表显示了相对于维度Product_Line描述的字段的等级。

选择图表类型

单击“图表”向导,然后选择选项“直线表”作为图表类型。单击下一步

rank_chart_type

选择图表维度

从“第一维”下拉列表中,选择“ Product_Line”作为维。单击下一步

rank_select_diemnsions

定义图表表达式

在自定义表达式字段中,提及等级表达式,如下所示。在这里,我们考虑一个名为Value的数字字段,该字段表示每个产品系列下每个类别的Sales值。单击下一步

rank_chart_expression

显示图表

在上述步骤中单击“完成”后,将显示以下图表,其中显示了每个产品系列的销售价值排名。

rank_chart_data

对等级使用聚集函数

诸如− 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;

创建图纸对象

让我们创建一个“表格框”工作表对象以显示由上述给定脚本生成的数据。转到菜单布局→新建图纸对象→表格框。出现以下窗口,其中提到表的标题并选择要显示的必填字段。单击确定,将在QlikView表框中显示来自CSV文件的数据,如下所示。

rank_aggr_func