# Below - función de gráfico

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

Sintaxis:

Below([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 n filas más abajo de la fila actual.<br><br>Especificar un offset de 0 evaluará la expresión en la fila actual.<br><br>Especificar un número de desplazamiento (offset) negativo hace que la función Below opere como la 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 una de las filas de tabla count 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](https://help.qlik.com/es-ES/sense/May2026/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/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

En la última fila de un segmento de columna, se devuelve un valor NULL, ya que no hay ninguna fila debajo de él.

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áficos

| Ejemplo | Resultado |
| --- | --- |
| `Below( Sum(Sales) )` | Devuelve el valor de `Sales` para la fila situada debajo de la fila actual. |

## Ejemplo: fundamentos de Below

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

#### Expresión de gráfico

Vista general

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.

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

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

* `=RangeSum(Below(Sales, 1, 2))` para demostrar una agregación continua de 2 años de las ventas de los próximos dos años.

* `=(Sales - Below(Sales)) / Below(Sales)`, para devolver el cambio en `Sales` como ratio / porcentaje. Para mostrar este valor como porcentaje, en Formato numérico, seleccione Número &gt; Formato simple &gt; 12,34%.

Tabla de resultados

| Year | Sum(Sales) | Below(Sum(Sales)) | Sum(Sales) - Below(Sum(Sales)) | RangeSum(Below(Sales, 1, 2) | (Sales - Below(Sales)) / Below(Sales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 7200 | - | - | 0 | - |
| 2019 | 1000 | 1500 | -500 | 2700 | -33.33% |
| 2020 | 1500 | 1200 | 300 | 3000 | 25.00% |
| 2021 | 1200 | 1800 | -600 | 3500 | -33.00% |
| 2022 | 1800 | 1700 | 100 | 1700 | 5.88% |
| 2023 | 1700 | - | - | 0 | - |

Si observa los resultados, podrá comparar los valores de `Sales` del periodo actual con los del periodo siguiente.

* La medida `Sum(Sales) - Below(Sum(Sales))` devuelve el cambio en los valores de `Sales`, comparando el periodo actual con el siguiente.

* La medida `RangeSum(Below(Sales, 1, 2))` devuelve la suma de los dos valores de `Sales` siguientes.

* La medida `(Sales - Below(Sales)) / Below(Sales)` devuelve el cambio en `Sales` en comparación con el siguiente periodo 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) - Below(Sum(Sales))`, para devolver la variación interanual.

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

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

Gráfico de barras que muestra los resultados de la función BelowBelow ![Gráfico de barras que muestra la varianza interanual de la suma de las ventas en comparación con el año siguiente](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-below-example.png)

El uso de la función `Below` en un gráfico de barras proporciona una comparación visual de la varianza entre las ventas del periodo actual y las del periodo siguiente.

## Ejemplo: uso de Below

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

#### Expresión de gráfico

Vista general

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:

  * `SalesYear`

  * `SalesAmount`

Script de carga

```
Example:
LOAD * INLINE [
SalesYear, SalesAmount
2019, 500
2020, 800
2021, 400
2022, 700
2023, 600
];
```

Resultados

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

* `SalesYear`

Cree las siguientes medidas:

* `=Sum(SalesAmount)`, para agregar las ventas.

* `=RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo()))`, para calcular un resumen total de los valores de `SalesAmount`.

Tabla de resultados

| SalesYear | Sum(SalesAmount) | RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo())) |
| --- | --- | --- |
| Totals | 3000 | 0 |
| 2019 | 500 | 2400 |
| 2020 | 800 | 1900 |
| 2021 | 400 | 1100 |
| 2022 | 700 | 700 |
| 2023 | 600 | 0 |

Los resultados muestran cómo puede utilizar la combinación de la función `RangeSum` y la función `Below` para crear un total acumulado.

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:

* `SalesYear`

Cree la siguiente medida:

* `=RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo()))`, para devolver el valor de ventas acumulado.

Gráfico de barras que muestra el valor acumulado de las ventas por año

Gráfico de barras que muestra el valor acumulado de las ventas por año

Gráfico de barras que muestra el valor acumulado de las ventas por año ![Gráfico de barras que muestra un resumen de los valores acumulados de las ventas.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-below-example2.png)

El uso de la función `Below` en combinación con `RangeSum` en un gráfico de barras proporciona una presentación visual de los valores acumulados de las ventas.

## Ejemplo: expresión de gráfico utilizando Below

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

#### Expresión de gráfico

Vista general

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.

* `=Below(Sum(Sales))`, para mostrar la suma de las ventas de la fila anterior.

* `=Sum(Sales)+Below(Sum(Sales))`, para sumar el valor de la suma de ventas con la suma de ventas de la fila de clientes situada debajo de la fila actual.

* `=Sum(Sales)+Below(Sum(Sales), 3)`, para sumar el valor `Sum(Sales)` del `Customer` actual al valor del `Customer` que está tres filas por debajo.

* `=If(Sum(Sales)>Below(Sum(Sales)), 'Higher')`, para añadir la etiqueta "`Higher`" a los clientes cuyos resultados de `Sum(Sales)` sean superiores a los de `Sum(Sales)` del cliente de la fila inferior.

Tabla de resultados

| Customer | Sum(Sales) | Below(Sum(Sales)) | Sum(Sales)+Below(Sum(Sales)) | Sum(Sales)+Below(Sum(Sales), 3) | If(Sum(Sales)&gt;Below(Sum(Sales)), 'Higher') |
| --- | --- | --- | --- | --- | --- |
| Totals | 2566 | - | - | - | - |
| Astrida | 587 | 539 | 1126 | 1334 | Higher |
| Betacab | 539 | 683 | 1222 | - | - |
| Canutility | 683 | 757 | 1440 | - | - |
| Divadip | 757 | - | - | - | - |

En el caso de 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 criterio de ordenación de las dimensiones de las columnas Qlik Sense. 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 columna se controla en el panel de propiedades bajo Ordenación y no es necesariamente el orden en que las columnas aparecen en una tabla. Para ver un ejemplo que demuestra el uso del criterio de ordenación, consulte [Ejemplo: uso de Above basado en el criterio de ordenación](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm#Example).

La medida `Below(Sum(Sales))` devuelve NULL para el cliente `Divadip`, porque no hay ninguna fila por debajo. El resultado de la fila `Canutility` muestra el valor de `Sum(Sales)` para `Divadip`. El resultado para `Betacab` muestra el valor `Sum(Sales)` de `Canutility`, y así sucesivamente.

Para la medida `Sum(Sales)+Below(Sum(Sales))`, la fila para `Astrida` devuelve el resultado de sumar los valores de `Sum(Sales)` para las filas `Betacab` + `Astrida` (`539+587`). El resultado para la fila `Betacab` muestra el resultado de sumar los valores de `Sum(Sales)` para `Canutility` + `Betacab` (`539+683`).

La medida `Sum(Sales)+Below(Sum(Sales), 3)` tiene el argumento `offset`, fijado en `3` y tiene el efecto de tomar el valor de la fila tres filas por debajo de la fila actual. Agrega el valor `Sum(Sales)` del actual `Customer` al valor de `Customer` tres filas por debajo. Los valores de las tres filas `Customer` más bajas son nulos.

La medida `IF(Sum(Sales)>Below(Sum(Sales)), 'Higher')` devuelve el valor `Higher` para el cliente `Astrida` porque sus resultados de ventas son mayores que la suma de ventas del cliente de la fila inferior, `Betacab`.

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

Nota de sugerenciaPara otros 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.

## Ejemplo: uso de la función Below con RangeAvg

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

#### Expresión de gráfico

Vista general

La función Below se puede utilizar como entrada a las funciones de rango. Este ejemplo utiliza la función en un RangeAvg.

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, 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 la siguiente medida:

* =RangeAvg (Below(Sum(Sales),1,3))

Tabla de resultados

| Customer | RangeAvg (Below(Sum(Sales),1,3)) |
| --- | --- |
| Totals | - |
| Astrida | 660 |
| Betacab | 720 |
| Canutility | 757 |
| Divadip | - |

En los argumentos de la función Below, offset se configura en 1 y count en 3. La función busca los resultados de la expresión Sum(Sales) en las tres filas situadas inmediatamente debajo de la fila actual en el segmento de columna (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.

## Más información

* [Above - función de gráfico](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm)
* [Bottom - función de gráfico](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)
* [Top - función de gráfico](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)
* [RangeAvg Función de script y de gráfico](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangeavg.htm)