# Last - función de gráfico

Last() devuelve el valor de una expresión evaluada con los valores de dimensión de una tabla pivotante tal y como aparecen éstos en la última columna del segmento de fila actual en la tabla pivotante. Esta función devuelve NULL en todos los tipos de gráfico excepto en las tablas pivotantes.

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

Sintaxis:

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

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 columnas a la izquierda desde la última columna.<br><br>Si se especifica un desplazamiento de 0, la expresión se evaluará en la última columna del segmento de fila actual.<br><br>Especificar un número de desplazamiento (offset) negativo hace que la función Last opere como la función First 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, uno por cada una de las columnas de la tabla hasta el valor de count, contando hacia la izquierda desde la celda original. |
| 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) |

Si la tabla dinámica tiene múltiples dimensiones horizontales, el segmento de fila actual incluirá solo columnas que tengan los mismos valores que la columna actual en todas las filas de dimensión, excepto la fila que muestra la última dimensión horizontal según el orden de campos. El criterio de ordenación entre campos para dimensiones horizontales en tablas pivotantes viene definido simplemente por el orden de las dimensiones de arriba a abajo..

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `Last( Sum(Sales ))` | Devuelve la suma de `Sales` de la última columna del segmento de fila actual. |
| `Last( Sum(Sales ), 2)` | Devuelve la suma de `Sales` de la columna que está dos columnas a la izquierda de la última columna del segmento de fila actual. |
| `Last( Total Sum( Sales ))` | Devuelve la suma total de `Sales` de la última columna del segmento de fila actual. |
| `RangeAvg (Last(Sum(x),1,5))` | Devuelve una media de los resultados de la función `sum(x)` evaluados en las cinco columnas situadas más a la derecha del segmento de fila actual. |

## Ejemplo: fundamentos de Last

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/last.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`

  * `Quarter`

  * `Sales`

Script de carga

```
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
2024, Q1, 4500
2024, Q2, 3250
2024, Q3, 6500
2024, Q4, 7250
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada este campo como dimensión de fila:

* `Year`

Añada este campo como dimensión de columna:

* `Quarter`

Cree las siguientes medidas:

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

* `=Last(Sum(Sales))`, para calcular la suma de las ventas de la última columna para el segmento de fila actual.

Tabla de resultados

| Año | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Last(Sum(Sales)) | Sum(Sales) | Last(Sum(Sales)) | Sum(Sales) | Last(Sum(Sales)) | Sum(Sales) | Last(Sum(Sales)) |  |
| 2023 | 5000 | 7000 | 4000 | 7000 | 6000 | 7000 | 7000 | 7000 |
| 2024 | 4500 | 7250 | 3250 | 7250 | 6500 | 7250 | 7250 | 7250 |

Observando los resultados, puede ver que la función `Last` devuelve la suma del valor de las ventas de la última columna de cada segmento de fila para cada trimestre. Por ejemplo, en `Q1` el valor de `Sum(Sales)` para ese periodo es `5000`. El valor de `Last(Sum(Sales)` para `Q1` es `7000`, que es el valor para `Sum(Sales)` en `Q4`, el valor de la última columna de la fila actual, `2023`.

## Ejemplo: escenario de Last

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

#### Expresión de gráfico

Descripción general

Un conjunto de datos contiene las cifras de ventas de varios productos durante un periodo de tres meses. La empresa desea presentar el total de ventas del periodo actual y el crecimiento de las ventas en comparación con las últimas (o más recientes) cifras de ventas del periodo.

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:

  * `Date`

  * `Product`

  * `Sales`

Script de carga

```
Example:
Load * inline [
Date, Product, Sales
2024-01-01, Apple, 100
2024-01-01, Banana, 150
2024-01-01, Carrot, 120
2024-02-01, Carrot, 80
2024-02-01, Banana, 200
2024-02-01, Apple, 110
2024-03-01, Carrot, 160
2024-03-01, Banana, 300
2024-03-01, Apple, 150
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada este campo como dimensión de fila:

* ` Product
                                       `

Añada este campo como dimensión de columna:

* `Date`

Cree las siguientes medidas:

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

* `=(Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales)`, para calcular el crecimiento de las ventas del periodo actual al último periodo. Para mostrar este valor como porcentaje, en Formato numérico, seleccione Número &gt; Formato simple &gt; 12,34%.

Tabla de resultados

| Producto | 2024-01-01 | 2024-02-01 | 2024-03-01 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) | Sum(Sales) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) | Sum(Sales) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) |  |
| Manzana | 100 | 50,00 % | 110 | 36,36 % | 150 | 0,00 % |
| Plátano | 150 | 100,00 % | 200 | 50,00 % | 300 | 0,00 % |
| Zanahoria | 120 | 33,33 % | 80 | 100,00 % | 160 | 0,00 % |

En este ejemplo, puede ver cómo han progresado las ventas desde el inicio del periodo de ventas hasta el último periodo. Por ejemplo, en el primer periodo `2024-01-01`, las ventas de manzanas (`Apple`) fueron de `100`, frente a las últimas cifras de ventas de `150` para el periodo `2024-03-01`. Esto indica un aumento del `50%`.

## Ejemplo: uso de Last para calcular la desviación presupuestaria

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

#### Expresión de gráfico

Descripción general

Un conjunto de datos contiene cifras de presupuestos por trimestres durante un periodo de dos años. La empresa quiere presentar el importe total del presupuesto para cada trimestre y la desviación entre el importe del presupuesto para el periodo actual comparado con el presupuesto trimestral medio del año.

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`

  * `Quarter`

  * `Budget`

Script de carga

```
Example:
Load * inline [
Year, Quarter, Budget
2023, Q1, 1200
2023, Q2, 1100
2023, Q3, 1300
2023, Q4, 1400
2024, Q1, 1550
2024, Q2, 1230
2024, Q3, 1400
2024, Q4, 1600
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada este campo como dimensión de fila:

* ` Year
                                       `

Añada este campo como dimensión de columna:

* `Quarter`

Cree las siguientes medidas:

* `=Sum(Budget)`, para calcular el presupuesto del trimestre.

* `=Sum(Budget) - RangeAvg(Last(Budget, 1, 4))`, para calcular la desviación entre el importe de `Budget` para el periodo en curso en comparación con el presupuesto trimestral medio del año.

Tabla de resultados

| Año | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) |  |
| 2023 | 1200 | -50 | 1100 | -150 | 1300 | 50 | 1400 | 150 |
| 2024 | 1550 | 105 | 1230 | -215 | 1400 | -45 | 1600 | 155 |

Utilizando la función `Last`, puede ver cómo varía el importe del presupuesto por trimestre en comparación con el presupuesto trimestral medio. Por ejemplo, en `2023`, el presupuesto total del año es `5000` (`1200 + 1100 + 1300 + 1400`), por lo que el presupuesto trimestral medio es `1250`. Dado que el importe presupuestado para `Q1` es de `1200`, es `50` inferior en comparación con el presupuesto trimestral medio de `1250`, mientras que la variación presupuestaria para `Q4` es `150` superior al presupuesto trimestral medio.