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.

Syntax:  

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

Return data type: dual

Arguments:  

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: Un 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: Si 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.

Limitations:  

Recursive calls will return NULL.

Examples and results:  

Example: 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.

Example: 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).

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

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

Example: 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 * INLINE [

Month, 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 (Month, 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 '|');

Para ordenar los meses correctamente cuando cree sus visualizaciones, diríjase a la sección Sorting del panel de propiedades, seleccione Month y active la casilla Sort by expression. En el cuadro de expresión, escriba Monthnumber.