# First - función de gráfico

First() 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 primera 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:

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

Argumentos

| Argumento | Descripción |
| --- | --- |
| expression | 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 más a la derecha de la primera columna.<br><br>Si se especifica un desplazamiento (offset) de 0, la expresión se evaluará en la primera columna del segmento de fila actual.<br><br>Especificar un offset de 0 evaluará la expresión en la fila actual.<br><br>Especificar un número de offset negativo hace que la función First opere como la función Last 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 derecha 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/November2025/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 con los mismos valores que la columna actual en todas las filas de dimensión excepto la fila que muestra la última dimensión horizontal del orden entre 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 |
| --- | --- |
| `First( Sum(Sales ))` | Devuelve la suma de `Sales` de la primera columna del segmento de fila actual. |
| `First( Sum(Sales ), 2)` | Devuelve la suma de `Sales` que está dos columnas a la derecha de la primera columna del segmento de fila actual. |
| `First( Total Sum( Sales ))` | Devuelve la suma total de `Sales` de la primera columna del segmento de fila actual. |
| `RangeAvg (First(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 izquierda del segmento de fila actual. |

## Ejemplo: fundamentos de First

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

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

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

Tabla de resultados

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

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

## Ejemplo: escenario de First

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

#### Expresión de gráfico

Descripción

Un conjunto de datos contiene las cifras de ventas por año de varios productos durante un periodo de tres años. La empresa quiere presentar el total de ventas del año en curso y el crecimiento de las ventas desde el primer año 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
2021, Apple, 100
2021, Banana, 150
2021, Carrot, 120
2022, Carrot, 80
2022, Banana, 200
2022, Apple, 110
2023, Carrot, 160
2023, Banana, 300
2023, 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.

* `=(Sum(Sales) - First(Sales)) / First(Sales)`, para calcular el crecimiento de las ventas desde el primer año del conjunto de datos. Para mostrar este valor como porcentaje, en Formato numérico, seleccione Número &gt; Formato simple &gt; 12,34%.

Tabla de resultados

| Producto | 2021 | 2022 | 2023 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) |  |
| Manzana | 100 | 0,00% | 110 | 10,00% | 150 | 50,00% |
| Plátano | 150 | 0,00% | 200 | 33,33% | 300 | 100,00% |
| Zanahoria | 120 | 0,00% | 80 | -33,33% | 160 | 33,33% |

Los resultados muestran las cifras de ventas de cada año y la tasa de crecimiento anual en porcentaje en comparación con los valores de ventas del primer año. Por ejemplo, las ventas de `Apple` (manzana) aumentaron de un valor inicial de `100` en `2021` a un valor de `150` en `2023`, lo que supone un aumento del `50%`. La venta de `Carrot` (zanahoria) disminuyó de `120` en `2021` a `80` en `2022`, una reducción del `33.33%`.

## Ejemplo: escenario de First utilizando una suma de rangos para presentar cifras presupuestarias

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

#### Expresión de gráfico

Descripción

Un conjunto de datos contiene cifras presupuestarias por trimestre para un periodo de dos años por categoría de producto. La empresa quiere presentar el presupuesto del trimestre en curso y el total del presupuesto de cada 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:

  * `BudgetYear`

  * `BudgetQuarter`

  * `QuarterNo`

  * `BudgetAmount`

  * `Category`

Script de carga

```
Example:
Load * inline [
BudgetYear, BudgetQuarter, QuarterNo, BudgetAmount, Category
2023, Q1, 1, 2100, Online
2023, Q2, 2, 2500, Online
2023, Q3, 3, 3100, Online
2023, Q4, 4, 4100, Online
2023, Q1, 1, 5100, Store
2023, Q2, 2, 5500, Store
2023, Q3, 3, 6100, Store
2023, Q4, 4, 7100, Store
2024, Q1, 1, 2300, Online
2024, Q2, 2, 2800, Online
2024, Q3, 3, 3300, Online
2024, Q4, 4, 4400, Online
2024, Q1, 1, 5300, Store
2024, Q2, 2, 5800, Store
2024, Q3, 3, 6300, Store
2024, Q4, 4, 7400, Store
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla dinámica y añada estos campos como dimensiones de fila:

* `BudgetYear`

* `Category`

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

* `BudgetQuarter`

Cree las siguientes medidas:

* `=Sum(BudgetAmount)`, para calcular la cifra de ventas del presupuesto.

* `=RangeSum(First(Sum(BudgetAmount), 1, QuarterNo))`, para calcular el total acumulado de las ventas presupuestadas para cada trimestre sumando el rango desde el primer trimestre hasta `QuarterNo` según se evalúa para cada trimestre.

Tabla de resultados

| BudgetYear<br><br>Category | Q1 | T2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) |  |
| (-) 2023 | 7200 | 7200 | 8000 | 15200 | 9200 | 24400 | 11200 | 35600 |
| Online | 2100 | 2100 | 2500 | 4600 | 3100 | 7700 | 4100 | 11800 |
| Store | 5100 | 5100 | 5500 | 10600 | 6100 | 16700 | 7100 | 23800 |
| (-) 2024 | 7600 | 7600 | 8600 | 16200 | 9600 | 25800 | 11800 | 37600 |
| Online | 2300 | 2300 | 2800 | 5100 | 3300 | 8400 | 4400 | 12800 |
| Almacenar | 5300 | 5300 | 5800 | 11100 | 6300 | 17400 | 7400 | 24800 |

Los resultados muestran las cifras del presupuesto para cada `Year` y `Category`, y el total acumulado por `Quarter`. Por ejemplo, en `Q2` de `2023`, `QuarterNo` es `2`. Por lo tanto, la expresión de la función se evalúa como `RangeSum(First(Sum(BudgetAmount), 1, 2))`, que suma las columnas `BudgetAmount` para `Q1` (`7200`) y `Q2` (`8000`) y devuelve el valor `15200`. El resultado devuelve el total de las columnas `Sum(BudgetAmount)` para `Q1` y `Q2`. En `2024`, para `Category Online`, el `Sum(BudgetAmount)` para `Q1` es `2300` y para `Q2`, es `2800`. Por lo tanto, la expresión `RangeSum` devuelve `5100`.