Saltar al contenido principal Saltar al contenido complementario

Top - función de gráfico

Top() evalúa una expresión en la primera fila (superior) de un segmento de columna en una tabla. La fila para la que se calcula depende del valor de offset, si está presente, el valor predeterminado es la fila superior. Para los gráficos que no sean tablas, la evaluación Top() se realiza en la primera fila de la columna actual en el equivalente de tabla simple del gráfico.

Sintaxis:  

Top([TOTAL] expr [ , offset [,count ]])

Tipo de datos que devuelve: dual

Argumentos:  

Argumentos
Argumento Descripción
expr La expresión o el campo que contiene los datos que se han de medir.
offset

Especificar un offset de n mayor que 1 mueve la evaluación de la expresión hacia abajo n filas debajo de la fila superior.

Especificar un número de desplazamiento (offset) negativo hace que la función Top opere como la función Bottom con el correspondiente número de offset positivo.

count Especificando un tercer parámetro count mayor que 1, la función devolverá un rango de valores count, uno por cada una de las últimas filas count del actual segmento de columna. De esta manera, la función puede utilizarse como argumento en cualquiera de las funciones de rango especiales. Funciones de rango
TOTAL

Si la tabla es unidimensional o si el cualificador TOTAL se utiliza como argumento, el segmento de columna actual es siempre igual a la columna completa.

Definir el ámbito de agregación

Nota informativaUn segmento de columna se define como un subconjunto consecutivo de celdas que tienen los mismos valores para las dimensiones de la ordenación actual. Las funciones inter-registro se calculan en el segmento de columna excluida la dimensión más a la derecha del gráfico de tabla simple equivalente. Si solo hay una dimensión en el gráfico, o si se especifica el cualificador TOTAL, la expresión se evalúa en la tabla completa.
Nota informativaSi la tabla o el equivalente de tabla tiene múltiples dimensiones verticales, el segmento de columna actual incluirá solo filas con los mismos valores que la fila actual en todas las columnas de dimensión, excepto para la columna que muestra la última dimensión en el orden de campos interno.

Limitaciones:  

  • Las llamadas recursivas devolverán NULL.

  • No se permite ordenar por valores Y en gráficos, ni ordenar por columnas de expresión en tablas cuando esta función de gráfico se utiliza en cualquiera de las expresiones del gráfico. Estas alternativas de ordenación están por lo tanto automáticamente deshabilitadas. Cuando utiliza esta función de gráfico en una visualización o tabla, la ordenación de la visualización volverá al orden de la entrada de esta función.

Ejemplos y resultados:  

Ejemplo: 1

En la captura de pantalla de la tabla que se muestra en este ejemplo, la visualización de la tabla se crea a partir de la dimensión Customer y las medidas: Sum(Sales) y Top(Sum(Sales)).

La columna Top(Sum(Sales)) devuelve 587 para todas las filas porque este es el valor de la fila superior: Astrida.

La tabla también muestra medidas más complejas: una creada desde Sum(Sales)+Top(Sum(Sales)) y otra etiquetada como Top offset 3, la cual se crea usando la expresión Sum(Sales)+Top(Sum(Sales), 3) y tiene el argumento offset configurado en 3. Agrega el valor Sum(Sales) de la fila actual al valor de la tercera fila desde la fila superior, es decir, la fila actual más el valor de Canutility.

Ejemplo 1

Ejemplo 1

Ejemplo: 2

En las capturas de pantalla de las tablas que se muestran en este ejemplo, se han agregado más dimensiones a las visualizaciones: Month y Product. Para los gráficos con más de una dimensión, los resultados de las expresiones que contienen las funciones Above, Below, Top y Bottom dependen del orden en que Qlik Sense ordena las dimensiones de columna. Qlik Sense evalúa las funciones basándose en los segmentos de columna que resultan de la dimensión que se ordena en último lugar. El criterio de ordenación de columnas se controla en el panel de propiedades bajo Ordenación y no es necesariamente el orden en que las columnas aparecen en una tabla.

Primera tabla para el ejemplo 2. El valor de Top para la medida First value basado en Month (Jan).

Primera tabla para el ejemplo 2.

Segunda tabla para el ejemplo 2. El valor de Top para la medida First value basada en Product (AA para Astrida).

Segunda tabla para el ejemplo 2.

Le remitimos al Ejemplo: 2 en la función Above para más detalles.

Ejemplo 3

Ejemplo: 3

Resultado

La función Top se puede utilizar como entrada a las funciones de rango. Por ejemplo: RangeAvg (Top(Sum(Sales),1,3)).

En los argumentos de la función Top(), offset se fija en 1 y count en 3. La función encuentra los resultados de la expresión Sum(Sales) en las tres filas que comienzan con la fila de debajo de la fila inferior en el segmento de columna (porque offset=1), y las dos filas debajo de eso (donde haya una fila). Estos tres valores se utilizan como entrada para la función RangeAvg(), que encuentra la media de los valores en el rango de números proporcionado.

Una tabla con Customer como dimensión da los siguientes resultados para la expresión RangeAvg().

 

Astrida

Betacab

Canutility

Divadip:

603

603

603

603

Monthnames: LOAD *, Dual(MonthText,MonthNumber) as Month INLINE [ MonthText, MonthNumber Jan, 1 Feb, 2 Mar, 3 Apr, 4 May, 5 Jun, 6 Jul, 7 Aug, 8 Sep, 9 Oct, 10 Nov, 11 Dec, 12 ]; Sales2013: Crosstable (MonthText, Sales) LOAD * inline [ Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec Astrida|46|60|70|13|78|20|45|65|78|12|78|22 Betacab|65|56|22|79|12|56|45|24|32|78|55|15 Canutility|77|68|34|91|24|68|57|36|44|90|67|27 Divadip|57|36|44|90|67|27|57|68|47|90|80|94 ] (delimiter is '|');

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.