Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Can anyone please tell me what is the use of these function with short Exmaple ?
Do you know the difference between the RecNo() and the RowNo() functions? You may think that you can use these interchangeably to count the records or rows in a table but these functions differ slightly. The RecNo() function will return an integer for the record currently being read from the source table starting with number one. The RowNo() function also returns an integer but it represents the position of the row in the resulting QlikView internal table. So while RecNo() counts from the source table, RowNo() counts from the resulting table.
In the script below the fields from the Temp table are loaded along with fields to represent the RecNo and the RowNo. A Where clause is used to load all records where Number does not equal 3.
The resulting table below shows the results of this script. In the RecNo field we see values 1 through 10 excluding 3. This is because the script excluded records where Number = 3 so while that record was read, it was excluded from the results. In the RowNo field we see values 1 through 9 for the position of each row in the results table. The fact that some rows were excluded does not affect the RowNo field because we are only looking at the internal table that is created. The RecNo field indicated the order in which the records were read from the source table and the RowNo field indicates the positon of the record in the internal table.
RecNo() is the record number of the input to the Load statement.
RowNo() is the record number of the output of the Load statement.
See more on Counters in the Load
for autonumber have a look at this
what it mean for
1)input to the Load statement.
2)output of the Load statement.
Can you give me the small example please ?
If you have a load like this:
Table:
Load ID, Date inline [
ID, Date
1, 1
2, 3
3, 2
4, 1
];
Final_table:
load ID, Date, RowNo, RecNo() as RecNo, RowNo() as RowNo resident Table order by Date asc, ID, asc;
Drop table Table;
The resulting table will look like this:
ID, Date, RowNo, RecNo
1, 1, 1, 1
4, 1, 2, 4
3, 2, 3, 3
2, 3, 4, 2
The RecNo indicates the original order of the records and RowNo now indicates the new order.
Do you know the difference between the RecNo() and the RowNo() functions? You may think that you can use these interchangeably to count the records or rows in a table but these functions differ slightly. The RecNo() function will return an integer for the record currently being read from the source table starting with number one. The RowNo() function also returns an integer but it represents the position of the row in the resulting QlikView internal table. So while RecNo() counts from the source table, RowNo() counts from the resulting table.
In the script below the fields from the Temp table are loaded along with fields to represent the RecNo and the RowNo. A Where clause is used to load all records where Number does not equal 3.
The resulting table below shows the results of this script. In the RecNo field we see values 1 through 10 excluding 3. This is because the script excluded records where Number = 3 so while that record was read, it was excluded from the results. In the RowNo field we see values 1 through 9 for the position of each row in the results table. The fact that some rows were excluded does not affect the RowNo field because we are only looking at the internal table that is created. The RecNo field indicated the order in which the records were read from the source table and the RowNo field indicates the positon of the record in the internal table.
RecNo( )
Returns an integer for the number of the currently read row of the internal table. The first record is number 1.
Returns an integer for the position of the current row in the resulting QlikView internal table. In contrast toRecNo( ), which counts the records in the raw data table, the RowNo( ) function does not count records that are excluded by where clauses and is not reset when a raw data table is Concatenation to another. The first row is number 1.
Examples:
Raw data tables:
Tab1.csv | |
A | B |
1 | aa |
2 | cc |
3 | ee |
Tab2.csv | |
A | B |
5 | xx |
4 | yy |
6 | zz |
QVTab:
Load *, RecNo( ), RowNo( ) from Tab1.csv where A<>2;
Load *, RecNo( ), RowNo( ) from Tab2.csv where A<>5;
The resulting QlikView internal table:
QVTab | |||
A | B | RecNo( ) | RowNo( ) |
1 | aa | 1 | 1 |
3 | ee | 3 | 2 |
4 | yy | 2 | 3 |
6 | zz | 3 | 4 |
Hi
Go through attached .qvw file .you can easily understand recno() and rowno().
HI,
can you please explain this.?
Load *, RecNo( ), RowNo( ) from Tab1.csv where A<>2;
Load *, RecNo( ), RowNo( ) from Tab2.csv where A<>5;
why you put <> (Not equal to) condition here.
means is it necessary ?
because i also seen such condition in below link.
Hi Satish,
Have a look:
Hope it helps you to understand well.