Saltar al contenido principal Saltar al contenido complementario

Bottom

Bottom() evalúa una expresión situada en la última fila (inferior) de 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 inferior. Para los gráficos que no sean tablas, la evaluación se realiza en la última fila de la columna actual en el equivalente de tabla simple del gráfico.

Sintaxis:  

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

Tipo de datos que devuelve: dual

Argumentos:  

  • expr: La expresión o el campo que contiene los datos que se han de medir.
  • offset: especificando un offset n, mayor que 0, se desplaza la evaluación de la expresión n filas más arriba 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 Above sea equivalente a una función Below con el correspondiente número de offset positivo.
  • count: especificando un tercer argumento count mayor que 1, la función devolverá un rango de valores count, uno por cada una de count filas de la tabla contando hacia arriba 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.

    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 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 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 usa 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, el orden de la visualización volverá a la entrada ordenada de esta función.

Ejemplos y resultados:  

Ejemplo 1:  

Ejemplo de tabla de resultados
Customer Sum(Sales) Bottom(Sum(Sales)) Sum(Sales) + Bottom(Sum(Sales)) Bottom offset 3
- 2566 757 3323 3105
Astrida58775713441126
Betacab53975712961078
Canutility68375714401222
Divadip75775715141296

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

La columna Bottom(Sum(Sales)) devuelve 757 para todas las filas porque éste es el valor de la fila inferior: Divadip.

La tabla también muestra medidas más complejas: una creada a partir de Sum(Sales)+Bottom(Sum(Sales)) y otra etiquetada Bottom offset 3, que se crea utilizando la expresión Sum(Sales)+Bottom(Sum(Sales), 3) y tiene el argumento offset establecido en 3. Agrega el valor Sum(Sales) para la fila actual al valor de la tercera fila desde la última fila, es decir, la fila actual más el valor de Betacab.

Ejemplo 2:  

En las representaciones de gráficos de tabla mostrados en este ejemplo, se han añadido más dimensiones a los gráficos: Month y Product. 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.

En la primera tabla, la expresión se evalúa basándose en Month y en la segunda tabla se evalúa conforme a Product. La medida End value contiene la expresión Bottom(Sum(Sales)). La fila inferior para Month es Dec, y el valor para Dec tanto los valores de Product mostrados en la tabla es 22. (Algunas filas no se muestran, para ahorrar espacio.)

Resultados de la primera tabla de ejemplo
Customer Product Month Sum(Sales) End value
- - - 2566 -
AstridaAAJan4622
AstridaAAFeb6022
AstridaAAMar7022
...............
AstridaAASep7822
AstridaAAOct1222
AstridaAANov7822
AstridaAADec2222
AstridaBBJan4622
Resultados de la segunda tabla de ejemplo
Customer Product Month Sum(Sales) End value
      2566 -
AstridaAAJan4646
AstridaBBJan4646
AstridaAAFeb6060
AstridaBBFeb6060
AstridaAAMar7070
AstridaBBMar7070
AstridaAAApr1313
AstridaBBApr1313

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

Ejemplo 3:  

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

En los argumentos de la función Bottom(), offset está definido en 1 y count en 3. La función halla los resultados de la expresión Sum(Sales) en las tres filas superiores comenzando por la fila de encima de la fila inferior en el segmento de columna (a causa de offset=1), y las dos filas por encima de esta (donde haya una fila). Estos tres valores se utilizan como entrada para la función RangeAvg(), que encuentra el valor promedio 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().

Resultados de la tabla de ejemplo
Customer RangeAvg (Bottom(Sum(Sales),1,3))
Astrida 659.67
Betacab659.67
Canutility659.67
Divadip659.67

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.

Más información

 

¿Esta página le ha sido útil?

Si encuentra algún problema con esta página o su contenido (errores tipográficos, pasos que faltan o errores técnicos), no dude en ponerse en contacto con nosotros.

Únase al Programa de modernización de la analítica

Remove banner from view

Modernícese sin comprometer sus valiosas aplicaciones de QlikView con el Programa de modernización de la analítica. Haga clic aquí para obtener más información o contactar con nosotros: ampquestions@qlik.com