Conoces la diferencia entre las funciones RecNo() y RowNo()? Es común pensar que puedes usar ambas funciones de manera indistinta para contar los registros o filas de una tabla, pero en realidad tienen una pequeña diferencia. La función RecNo() retorna un entero indicando la posición en la tabla fuente del registro que se está leyendo en ese momento, empezando por el número 1. La función RowNo() también retorna un entero pero este representa la posición de la fila actual en la tabla interna de QlikView creada por el script. Así que, mientras RecNo() cuenta desde la tabla fuente, RowNo() cuenta desde la tabla resultante.
En el script debajo los campos de la tabla Temporal son cargados junto con los campos que representan los resultados de las funciones RecNo y RowNo. Para hacer más claro el ejemplo se aplicara una cláusula "Where" evitando el número 5 de ser cargado.
La imagen debajo muestra la tabla resultante de la ejecución del script. En el campo RecNo vemos valores del 1 al 10 menos el 5. Esto es a raíz de la aplicación de la cláusula "Where". En cambio en el campo RowNo observamos que los valores van del 1 al 9.
El hecho de que ciertas filas no fueron cargadas desde la tabla fuente no afecta el conteo de RowNo ya que este solo se fija en la tabla interna creada al ejecutarse el script, a diferencia de la función RecNo, que trabaja sobre la tabla fuente.
Comentarios
Publicar un comentario