# Bottom - función de gráfico

Bottom() evalúa una expresión 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, el valor predeterminado es 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

| Argumento | Descripción |
| --- | --- |
| expr | La expresión o el campo que contiene los datos que se han de medir. |
| offset | Especificar un offset n mayor que 1 desplaza la evaluación de la expresión hacia arriba n filas por encima de la fila inferior.<br><br>Especificar un número de offset negativo hace que la función Bottom opere como la función Top con el correspondiente número de offset positivo. |
| count | Especificando un tercer parámetro count mayor que 1, la función devolverá no uno, sino un rango de valores count, uno por cada una de las count últimas filas 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](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm) |
| 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.<br><br>[Definir el ámbito de agregación](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

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

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `Bottom( Sum(Sales) )` | Devuelve el valor de `Sales` para la última fila (inferior) de un segmento de columna en una tabla. |

## Ejemplo: fundamentos de Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Expresión de gráfico

Descripción

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `Year`

  * `Sales`

Script de carga

```
Example:
LOAD * INLINE [
Year, Sales
2019, 1000
2020, 1500
2021, 1200
2022, 1800
2023, 1700
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* `Year`

Cree las siguientes medidas:

* `=Sum(Sales)`, para hallar las ventas anuales.

* `=Bottom(Sum(Sales))`, para hallar el valor de las ventas del último año.

* `=Sum(Sales) - Bottom(Sum(Sales))`, para calcular la varianza entre el valor de `Sales` del año en curso y el valor del año anterior.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)`, para calcular la suma del valor de las ventas del año en curso y el valor del tercer año anterior.

* `=(Sales - Bottom(Sales)) / Bottom(Sales)`, para devolver el cambio en `Sales` como ratio / porcentaje en comparación con el año anterior. Para mostrar este valor como porcentaje, en Formato numérico, seleccione Número &gt; Formato simple &gt; 12,34%.

Ordene la tabla de la dimensión `Year` por orden ascendente.

Tabla de resultados

| Year | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales) - Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales), 3) | (Sales - Bottom(Sales)) / Bottom(Sales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 7200 | 1700 | 5500 | 8400 | - |
| 2019 | 1000 | 1700 | -700 | 2200 | -41.18% |
| 2020 | 1500 | 1700 | -200 | 2700 | -11.76% |
| 2021 | 1200 | 1700 | -500 | 2400 | -29.41% |
| 2022 | 1800 | 1700 | 100 | 3000 | 5.88% |
| 2023 | 1700 | 1700 | 0 | 2900 | 0.00% |

Si observa los resultados, podrá comparar los valores de `Sales` del periodo actual con los del último periodo, o el más reciente.

* La medida `Sum(Sales) - Bottom(Sum(Sales))` devuelve el cambio en los valores de `Sales`, comparando el periodo actual con el más reciente.

* La medida `Sum(Sales)+Bottom(Sum(Sales), 3)` devuelve la suma de `Sales` para la fila actual y el tercer periodo más reciente.

* La medida `(Sales - Bottom(Sales)) / Bottom(Sales)` devuelve el cambio en `Sales` comparado con el periodo más reciente en forma de porcentaje.

Nota de sugerenciaEsta función también puede utilizarse en gráficos distintos de tablas, por ejemplo en gráficos de barras.

Haga lo siguiente:

Cree un gráfico de barras y, a continuación, añada este campo como dimensión:

* `Year`

Cree la siguiente medida:

* `=Sum(Sales) - Bottom(Sum(Sales))`, para devolver la varianza de ventas entre el periodo actual y el periodo más reciente.

Gráfico de barras que muestra los resultados de la función Bottom

Gráfico de barras que muestra los resultados de la función Bottom

Gráfico de barras que muestra los resultados de la función BottomBottom ![Gráfico de barras que muestra la varianza de las ventas entre el periodo actual y el último periodo.](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-bottom-example.png)

El uso de la función `Bottom` en un gráfico de barras proporciona una comparación visual de la varianza entre las ventas del periodo actual frente al periodo más reciente.

## Ejemplo: uso de Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Expresión de gráfico

Descripción

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `OrderID`

  * `Product`

  * `SalesValue`

  * `OrderDate`

Script de carga

```
Example:
LOAD * INLINE [
OrderID, Product, SalesValue, OrderDate
1, "Product A", 500, '2023-01-10'
2, "Product B", 300, '2023-01-15'
3, "Product C", 450, '2023-02-01'
4, "Product D", 700, '2023-02-20'
5, "Product E", 350, '2023-03-05'
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* `Product`

Cree las siguientes medidas:

* `=RangeAvg (Bottom(Sum(SalesValue),1,3))`, para devolver la media de las 3 filas más recientes.

* `=Sum(SalesValue) - RangeAvg (Bottom(Sum(SalesValue),1,3))`, para calcular la varianza entre la fila actual y la media de las 3 filas más recientes.

* `=Sum(SalesValue)` para calcular el total de `SalesValue` para la fila actual.

Tabla de resultados

| Product | RangeAvg (Bottom(Sum(SalesValue),1,3)) | Sum(SalesValue) - RangeAvg (Bottom(Sum(SalesValue),1,3)) | Sum(SalesValue) |
| --- | --- | --- | --- |
| Totals | 500 | 1800 | 2300 |
| 2019 | 500 | 0 | 500 |
| 2020 | 500 | -200 | 300 |
| 2021 | 500 | -50 | 450 |
| 2022 | 500 | 200 | 700 |
| 2023 | 500 | -150 | 350 |

Los resultados muestran cómo puede utilizar la combinación de la función `RangeSum` y la función `Bottom` para analizar y comparar los valores de las ventas.

## Ejemplo: expresión de gráfico usando Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Expresión de gráfico

Descripción

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Dos tablas de datos llamadas `Monthnames` y `Sales2013`.

Script de carga

```
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 '|'); 
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* `Customer`

Cree las siguientes medidas:

* `=Sum(Sales)`, para calcular la suma de las ventas.

* `=Bottom(Sum(Sales))`, para mostrar la suma de las ventas de la `Customer` en la fila inferior.

* `=Sum(Sales)+Bottom(Sum(Sales))`, para sumar el valor de `Sum(Sales)` del `Customer` actual con el `Customer` de la fila inferior.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)`, para sumar el valor de `Sum(Sales)` del `Customer` actual con el valor del `Customer` que es el tercero a partir de la fila inferior.

Tabla de resultados

| Customer | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales), 3) |
| --- | --- | --- | --- | --- |
| Totals | 2566 | 757 | 3323 | 3105 |
| Astrida | 587 | 757 | 1344 | 1126 |
| Betacab | 539 | 757 | 1296 | 1078 |
| Canutilty | 683 | 757 | 1440 | 1222 |
| Divadip | 757 | 757 | 1514 | 1296 |

La medida `Bottom(Sum(Sales))` devuelve `757` para todas las filas porque este es el valor de la fila inferior: `Divadip`.

Para la medida `Sum(Sales)+Bottom(Sum(Sales))`, la fila `Astrida` devuelve `1344`, que es el resultado de sumar el valor `Sum(Sales)` de `Astrida` y `Divadip`, el `Customer` de la fila inferior.

Para la medida `Sum(Sales)+Bottom(Sum(Sales), 3)`, el argumento de `offset` se fija en `3`. La expresión suma el valor de `Sum(Sales)` de la fila actual y la tercera fila desde abajo, `Betacab`. Por ejemplo, devuelve el valor `1126` para el cliente `Astrida`. Es el resultado de sumar el valor de `Sum(Sales)` para `Astrida` y el de `SumSales` para `Betacab` (`587`+`539`).

## Más información

* [Top - función de gráfico](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)