Below - función de gráfico

Below() evalúa una expresión situada una fila por debajo de la fila actual con un segmento de columna en una tabla. La fila para la que se calcula depende del valor de offset. Si está presente, se tomará de forma predeterminada la fila situada directamente debajo. Para los gráficos que no sean tablas, Below() devuelve la fila debajo de la actual columna en el equivalente de tabla simple del gráfico.

Sintaxis:  

Below([TOTAL] expression [ , offset [,count ]])

Tipo de datos que devuelve: dual

Argumentos:  

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

Al especificar un offset n mayor que 1, se mueve la evaluación de la expresión n filas por debajo de la fila actual.

Especificar un offset de 0 evaluará la expresión en la fila actual.

Especificar un número de offset (desplazamiento) negativo hará que la función Below sea equivalente a una función Above 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 count filas de tabla contando hacia abajo desde la celda original. 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 se utiliza el cualificador TOTAL como argumento, el segmento de columna actual es siempre igual a la columna entera.

Vea: Definir el ámbito de agregación

En la última fila de un segmento de columna, se devolverá un valor NULL, puesto que no hay ninguna fila bajo esta.

Nota: Un segmento de columna se define como un subconjunto consecutivo de celdas que tienen los mismos valores para las dimensiones en 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 calificador TOTAL, la expresión se evalúa en toda la tabla.
Nota: Si la tabla o el equivalente de tabla tiene múltiples dimensiones verticales, el segmento de columna actual incluirá sólo 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.

Ejemplos y resultados:  

Ejemplo 1:  

Customer Sum(Sales) Below(Sum(Sales)) Sum(Sales) + Below(Sum(Sales)) Below offset 3 Higher?
  2566 - - 1344 -
Astrida 587 539 1126 - Higher
Betacab 539 683 1222 - -
Canutility 683 757 1440 - -
Divadip 757 - - - -
El gráfico de tabla para el Ejemplo 1.

En la representación del gráfico de tabla mostrado en el Ejemplo 1, la tabla se crea a partir de la dimensión Customer y las medidas: Sum(Sales) y Below(Sum(Sales)).

La columna Below(Sum(Sales)) devuelve NULL para la fila Customer que contiene Divadip, ya que no hay ninguna fila por debajo de ella. El resultado de la fila Betacab muestra el valor de Sum(Sales) para Divadip, el resultado de Betacab muestra el valor de Sum(Sales) para Canutility, etc.

La tabla también muestra medidas más complejas que podrá ver en las columnas etiquetadas de la forma siguiente: Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 y Higher?. Estas expresiones funcionan tal como se describe en los párrafos siguientes.

Para la columna etiquetada Sum(Sales)+Below(Sum(Sales)), la fila de Betacab muestra el resultado de la adición de los valores de Sum(Sales) para las filas Astrida + Astrida (539+587). El resultado de la fila Canutility muestra el resultado de la adición de los valores de Sum(Sales) a Betacab + Betacab (539+683).

La medida etiquetada Below +Offset 3 creada utilizando la expresión Sum(Sales)+Below(Sum(Sales), 3) tiene el argumento offset configurado en 3, y produce el efecto de tomar el valor de la fila tres filas por debajo de la fila actual. Añade el valor de Sum(Sales) del cliente Customer actual al valor del cliente Customer tres filas por debajo. Los valores de las tres filas Customer más bajas son null.

La medida etiquetada Higher? se crea a partir de la expresión: IF(Sum(Sales)>Below(Sum(Sales)), 'Higher'). Esta expresión compara los valores de la fila actual de la medida Sum(Sales) con la fila que tiene debajo. Si la fila actual tiene un valor mayor, se mostrará el texto "Higher".

Sugerencia: Esta función también puede utilizarse en gráficos distintos de tablas, por ejemplo en gráficos de barras.
Sugerencia: Para los demás tipos de gráficos, convierta el gráfico a la tabla simple equivalente para que pueda interpretar fácilmente con qué fila está relacionada la función.

Para 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 QlikView clasifica las dimensiones de columna. QlikView 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, en Ordenación y no es necesariamente el orden en el que las columnas aparecen en una tabla.Le remitimos al Ejemplo: 2 de la función Above para más detalles.

Ejemplo 2:  

Resultado

La función Below puede utilizarse como entrada para las funciones de rango. Por ejemplo: RangeAvg (Below(Sum(Sales),1,3)).

En los argumentos de la función Below(), offset se establece en 1 y count se establece en 3. La función busca los resultados de la expresión Sum(Sales) en las tres filas inmediatamente debajo de la fila actual del segmento de columna (donde hay una fila). Estos tres valores se utilizan como entrada para la función RangeAvg(), que buscará la media de los valores en el rango de números proporcionado.

Una tabla con el valor Customer como dimensión ofrecerá los resultados siguientes para la expresión RangeAvg().

 
Astrida
Betacab
Canutility
Divadip:
659.67
720
757
-

Datos utilizados en los ejemplos:

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 gráficos, diríjase a la página Sort del panel de propiedades, y seleccione la casilla Expression en Sort by. En el cuadro de expresión, escriba Monthnumber.