# RowNo - 图表函数

RowNo() 用于返回表格中当前列段数据的当前行数。对于位图图表，RowNo() 用于返回图表的等效垂直表内的当前行数。

如果表格或表格等同物有多个垂直维度，当前列段数据将只包括值与所有维度列的当前行相同的行，但按内部字段排序显示最后维度的列除外。

列段数据

![显示列段数据的表格](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/table_column_segments.png)

信息注释当在图表的任何表达式中使用此图表函数时，不允许对图表中的 y 值进行排序或按表中的表达式列进行排序。因此，这些排序替代项会自动禁用。当您在可视化或表格中使用此图表函数时，可视化的排序将返回到此函数的排序输入。

语法：

RowNo([TOTAL])

返回数据类型： 整数

参数：

| 参数 | 描述 |
| --- | --- |
| TOTAL | 如果表格是单维度或如果将 TOTAL 限定符用作参数，则当前列段数据总是与整列相等。<br><br>[定义聚合范围](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

## 示例：使用 RowNo 的图表表达式

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/rowno.htm)

#### 示例 - 图表表达式

### 加载脚本

将以下数据作为数据加载编辑中的内联加载载入，以创建以下图表表达式示例。

```
Temp:
LOAD * inline [
Customer|Product|OrderNumber|UnitSales|UnitPrice
Astrida|AA|1|4|16
Astrida|AA|7|10|15
Astrida|BB|4|9|9
Betacab|CC|6|5|10
Betacab|AA|5|2|20
Betacab|BB|1|25| 25
Canutility|AA|3|8|15
Canutility|CC|5|4|19
Divadip|CC|2|4|16
Divadip|DD|3|1|25
] (delimiter is '|');
```

有关使用内联加载的详细信息，请参见[使用内联加载来加载数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

### 图表表达式

在 Qlik Sense 工作表中创建表可视化，以 Customer 和 UnitSales 为维度。添加 `RowNo( )` 和 `  RowNo(TOTAL) ` 为度量，分别标记为段中的行以及 Row Number。在表格中添加以下表达式作为度量。

`If( RowNo( )=1, 0, UnitSales / Above( UnitSales ))`

### 结果

| Customer | UnitSales | Row in Segment | Row Number | If( RowNo( )=1, 0, UnitSales / Above( UnitSales )) |
| --- | --- | --- | --- | --- |
| Astrida | 4 | 1 | 1 | 0 |
| Astrida | 9 | 2 | 2 | 2.25 |
| Astrida | 10 | 3 | 3 | 1.1111111111111 |
| Betacab | 2 | 1 | 4 | 0 |
| Betacab | 5 | 2 | 5 | 2.5 |
| Betacab | 25 | 3 | 6 | 5 |
| Canutility | 4 | 1 | 7 | 0 |
| Canutility | 8 | 2 | 8 | 2 |
| Divadip | 1 | 1 | 9 | 0 |
| Divadip | 4 | 2 | 10 | 4 |

### 解释

Row in Segment 列显示列段数据的结果 1、2 和 3，该列段数据包含客户 Astrida 的 UnitSales 值。然后，再次从 1 开始为下一个列段数据的行进行编号，即 Betacab。

Row Number 列由于 `RowNo()` 的参数 `TOTAL` 而忽略维度，并对表中的行进行计数。

此表达式会为每个列段数据中的第一行返回 0，因此列会显示：

0、2.25、1.1111111、0、2.5、5、0、2、0 和 4。

有关表达式的更多信息，请参阅[在可视化中使用表达式](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm)。

## 了解详情

* [Above - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm)