# First - funzione per grafici

First() restituisce il valore di un'espressione valutata con i valori di dimensione di una tabella pivot così come appaiono nella prima colonna del segmento di riga attuale della tabella pivot. Questa funzione restituisce NULL in tutti i tipi di grafico, ad eccezione delle tabelle pivot.

Nota informaticaL'ordinamento sui valori y nei grafici o l'ordinamento per colonne di espressione nelle tabelle non è consentito quando si utilizza questa funzione di grafico in una qualsiasi delle espressioni del grafico. Queste alternative di ordinamento verranno perciò disattivate automaticamente. Quando si utilizza questa funzione di grafico in una visualizzazione o in una tabella, l'ordinamento della visualizzazione torna all'ordinamento inserito in questa funzione.

Sintassi:

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

Argomenti

| Argomento | Descrizione |
| --- | --- |
| expression | L'espressione o il campo contenente i dati da misurare. |
| offset | Se si specifica un offset n maggiore di 1, la valutazione dell'espressione viene spostata di n colonne verso destra rispetto alla prima colonna.<br><br>Se si specifica un offset uguale a 0 verrà valutata l'espressione nella prima colonna del segmento della riga attuale.<br><br>Specificando un offset uguale a 0 verrà valutata l'espressione nella riga attuale.<br><br>Specificando un numero di offset negativo, la funzione First diventa equivalente alla funzione Last con il numero di offset positivo corrispondente. |
| count | Specificando un terzo parametro count maggiore di 1, la funzione restituirà una scala di valori, uno per ciascuna delle colonne della tabella fino al valore di count, contando verso destra a partire dalla cella originaria. |
| TOTAL | Se la tabella è unidimensionale o se è utilizzato il qualificatore TOTAL come argomento, il segmento colonna attuale sarà sempre uguale all'intera colonna.<br><br>[Definizione dell'ambito di aggregazione](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Se una tabella pivot include più dimensioni orizzontali, il segmento della riga attuale includerà solo le colonne con gli stessi valori della colonna attuale in tutte le righe della dimensione, tranne per la riga che visualizza l'ultima dimensione orizzontale dell'ordinamento tra campi. La sequenza di ordinamento tra campi per le dimensioni orizzontali nelle tabelle pivot è definita semplicemente dall'ordine delle dimensioni dall'alto verso il basso.

Esempio: espressioni del grafico

| Esempio | Risultato |
| --- | --- |
| `First( Sum(Sales ))` | Restituisce la somma per `Sales` dalla prima colonna del segmento di riga corrente. |
| `First( Sum(Sales ), 2)` | Restituisce la somma per `Sales` che si trova due colonne a destra della prima colonna nel segmento della riga corrente. |
| `First( Total Sum( Sales ))` | Restituisce la somma totale per `Sales` dalla prima colonna del segmento della riga corrente. |
| `RangeAvg (First(Sum(x),1,5))` | Restituisce una media dei risultati della funzione `sum(x)` calcolata in base alle cinque colonne più a sinistra del segmento di riga attuale. |

## Esempio: principi fondamentali della funzione First

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

#### Espressione del grafico

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `Year`

  * `Quarter`

  * `Sales`

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella pivot e aggiungere questo campo come dimensione di riga:

* `Year`

Aggiungere questo campo come dimensione di colonna:

* `Quarter`

Creare le seguenti misure:

* `=Sum(Sales)`, per calcolare la somma delle vendite.

* `=First(Sum(Sales))`, per calcolare la somma delle vendite della prima colonna per il segmento di riga corrente.

Tabella dei risultati

| Anno | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Somma(Vendite) | Primo(Somma(Vendite)) | Somma(Vendite) | Primo(Somma(Vendite)) | Somma(Vendite) | Primo(Somma(Vendite)) | Somma(Vendite) | Primo(Somma(Vendite)) |  |
| 2023 | 5000 | 5000 | 4000 | 5000 | 6000 | 5000 | 7000 | 5000 |
| 2024 | 4500 | 4500 | 3250 | 4500 | 6500 | 4500 | 7250 | 4500 |

Osservando i risultati, si può notare come la funzione `First` restituisce la somma del valore delle vendite per la prima colonna di ogni segmento di riga per ogni trimestre. Ad esempio, in `Q4` il valore `Sum(Sales)` per quel periodo è `7000`. Il valore di `First(Sum(Sales)` per `Q4` è `5000`, che è il valore di `Sum(Sales)` in `Q1`, il valore della prima colonna della riga corrente, `2023`.

## Esempio: scenario per la funzione First

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

#### Espressione del grafico

Panoramica

Un set di dati contiene i dati di vendita in base all'anno per diversi prodotti in un periodo di tre anni. L'azienda vuole presentare le vendite totali per l'anno in corso e la crescita delle vendite dal primo anno di questo periodo.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `Date`

  * `Product`

  * `Sales`

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella pivot e aggiungere questo campo come dimensione di riga:

* ` Product
                                       `

Aggiungere questo campo come dimensione di colonna:

* `Date`

Creare le seguenti misure:

* `=Sum(Sales)`, per calcolare le vendite annuali.

* `=(Sum(Sales) - First(Sales)) / First(Sales)`, per calcolare la crescita delle vendite dal primo anno nel set di dati. Per mostrare questo valore come una percentuale, sotto la voce Formattazione numero, selezionare Numero &gt; Formattazione semplice &gt; 12,34%.

Tabella dei risultati

| Prodotto | 2021 | 2022 | 2023 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Somma(Vendite) | (Somma(Vendite) - Primo(Vendite)) / Primo(Vendite) | Somma(Vendite) | (Somma(Vendite) - Primo(Vendite)) / Primo(Vendite) | Somma(Vendite) | (Somma(Vendite) - Primo(Vendite)) / Primo(Vendite) |  |
| Apple | 100 | 0,00% | 110 | 10,00% | 150 | 50.00% |
| Banana | 150 | 0.00% | 200 | 33.33% | 300 | 100.00% |
| Carota | 120 | 0,00% | 80 | -33,33% | 160 | 33,33% |

I risultati mostrano i dati di vendita annuali per ogni anno e il tasso di crescita annuale in percentuale rispetto ai valori di vendita del primo anno. Per esempio, le vendite di `Apple` sono aumentate da un valore iniziale di `100` nel `2021` a un valore di `150` nel `2023`, con un aumento del `50%`. La vendita di `Carrot` è diminuita da `120` nel `2021` a `80` nel `2022`, con una riduzione del `33.33%`.

## Esempio - Primo scenario che utilizza una somma di intervalli per presentare le cifre del budget

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

#### Espressione del grafico

Panoramica

Un set di dati contiene le cifre del budget per trimestre, per un periodo di due anni, per categoria di prodotto. L'azienda vuole presentare il budget per il trimestre in corso e il totale corrente del budget per ogni anno.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `BudgetYear`

  * `BudgetQuarter`

  * `QuarterNo`

  * `BudgetAmount`

  * `Category`

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella pivot e aggiungere questi campi come dimensioni della riga:

* ` BudgetYear
                                       `

* `Category`

Aggiungere questo campo come dimensione di colonna:

* `BudgetQuarter`

Creare le seguenti misure:

* `=Sum(BudgetAmount)`, per calcolare i dati di vendita del budget.

* `=RangeSum(First(Sum(BudgetAmount), 1, QuarterNo))`, per calcolare il totale parziale delle vendite in base al budget per ogni trimestre, sommando l'intervallo dal primo trimestre a `QuarterNo`, come valutato per ogni trimestre.

Tabella dei risultati

| Anno di bilancio<br><br>Categoria | T1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Somma(ImportoBudget) | SommaIntervallo(Primo(Somma(ImportoBudget), 1, NumeroTrimestre)) | Somma(BudgetAmount) | SommaIntervallo(Primo(Somma(BudgetAmount), 1, QuarterNo)) | Somma(BudgetAmount) | SommaIntervallo(Primo(Somma(BudgetAmount), 1, QuarterNo)) | Somma(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 |
| Archivia | 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 |
| Archivia | 5300 | 5300 | 5800 | 11100 | 6300 | 17400 | 7400 | 24800 |

I risultati mostrano le cifre del budget per ogni `Year` e `Category`, e il totale corrente per `Quarter`. Per esempio, per il `Q2` del `2023`, il valore di `QuarterNo` è `2`. Pertanto, l'espressione della funzione viene valutata come `RangeSum(First(Sum(BudgetAmount), 1, 2))`, che somma le colonne `BudgetAmount` per `Q1` (`7200`) e `Q2` (`8000`) e restituisce il valore `15200`. Il risultato restituisce il totale delle colonne `Sum(BudgetAmount)` per `Q1` e `Q2`. Nel `2024`, per `Category Online`, `Sum(BudgetAmount)` per `Q1` è `2300` e per `Q2`, è `2800`. Pertanto, l'espressione `RangeSum` restituisce `5100`.