RowNo() returns the number of the current row within the current column segment in a table. For bitmap charts, RowNo() returns the number of the current row within the chart's straight table equivalent.

If the table or table equivalent has multiple vertical dimensions, the current column segment will include only rows with the same values as the current row in all dimension columns, except for the column showing the last dimension in the inter-field sort order.



Return data type: integer


Argument Description

If the table is one-dimensional or if the qualifier TOTAL is used as argument, the current column segment is always equal to the entire column.

The TOTAL qualifier may be followed by a list of one or more field names within angle brackets <fld>. These field names should be a subset of the chart dimension variables.

Defining the aggregation scope

Examples and results:  

Customer UnitSales Row in Segment Row Number
Astrida 4 1 1
Astrida 10 2 2
Astrida 9 3 3
Betacab 5 1 4
Betacab 2 2 5
Betacab 25 3 6
Canutility 8 1 7
Canutility   2 8
Divadip 4 1 9
Divadip 1 2 10
Examples Results
Create a chart consisting of a table with the dimensions Customer, UnitSales, and add RowNo( ) and RowNo(TOTAL) as measures labeled Row in Segment and Row Number.

The Row in Segment column shows the results 1,2,3 for the column segment containing the values of UnitSales for customer Astrida. The row numbering then begins at 1 again for the next column segment, which is Betacab.

The Row Number column disregards the dimensions can be used to count the rows in the table.

Add the exression:

IF( RowNo( )=1, 0, UnitSales / Above( UnitSales ))

as a measure.

This expression returns 0 for the first row in each column segment, so the column will show:

0, 2.25, 1.1111111, 0, 2.5, 5, 0, NULL, 0, and 4.

Data used in examples:


LOAD * inline [







Betacab|BB|1|25| 25





] (delimiter is '|');


See also: