# Below - funzione per grafici

Below() valuta un'espressione in una riga sotto la riga attuale all'interno di un segmento di colonna in una tabella. La riga per la quale viene calcolata dipende dall'offset, se presente, e l'impostazione predefinita è la riga direttamente sotto. Per i grafici diversi dalle tabelle, Below() restituisce un valore per la riga sotto la colonna attuale nell'equivalente di tabella lineare del grafico.

Sintassi:

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

Tipo di dati restituiti: duale

Argomenti

| Argomento | Descrizione |
| --- | --- |
| expr | L'espressione o il campo contenente i dati da misurare. |
| offset | Specificando un offset n maggiore di 1, la valutazione dell'espressione viene spostata di n righe più in basso rispetto alla 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 Below diventa equivalente alla funzione Above con il numero di offset positivo corrispondente. |
| count | Specificando un terzo parametro count maggiore di 1, la funzione restituirà una scala di valori count, uno per ciascuna delle righe della tabella count contando verso il basso a partire dalla cella originaria. In questo modulo la funzione può essere utilizzata come argomento per una qualsiasi delle funzioni di scala speciali. [Funzioni di scala](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm) |
| 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/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Sull'ultima riga di un segmento di colonna viene restituito un valore NULL, perché non vi sono righe che la seguono.

Nota informaticaUn segmento di colonna viene definito come un sottogruppo consecutivo di celle con gli stessi valori per le dimensioni nell'ordine attuale. Le funzioni grafiche intra-record vengono calcolate nel segmento colonna escludendo la dimensione più a destra nel grafico della tabella lineare equivalente. Se nel grafico è presente una sola dimensione oppure è specificato il qualificatore TOTAL, l'espressione viene valutata nell'intera tabella.

Nota informaticaSe la tabella o l'equivalente di tabella include più dimensioni verticali, il segmento colonna attuale includerà solo righe contenenti gli stessi valori della riga attuale in tutte le colonne di dimensione, eccetto la colonna che mostra l'ultima dimensione nell'ordinamento tra campi.

Limiti:

* Le chiamate ricorrenti restituiranno NULL.

* L'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.

Esempio: espressioni dei grafici

| Esempio | Risultato |
| --- | --- |
| `Below( Sum(Sales) )` | Restituisce il valore di `Sales` per la riga sotto quella corrente. |

## Esempio: principi fondamentali della funzione Below

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

  * `Sales`

Script di caricamento

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

Risultati

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

* `Year`

Creare le seguenti misure:

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

* `=Below(Sum(Sales))`, per individuare il valore delle vendite dell'anno successivo.

* `=Sum(Sales) - Below(Sum(Sales))`, per calcolare la varianza tra il valore `Sales` dell'anno in corso e il valore dell'anno successivo.

* `=RangeSum(Below(Sales, 1, 2))`, per dimostrare un'aggregazione biennale dei due anni di vendita successivi.

* `=(Sales - Below(Sales)) / Below(Sales)`, per restituire la variazione di `Sales` come rapporto/percentuale. Per mostrare questo valore come una percentuale, sotto la voce Formattazione numero, selezionare Numero &gt; Formattazione semplice &gt; 12,34%.

Tabella dei risultati

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

Osservando i risultati, è possibile confrontare i valori per `Sales` nel periodo corrente con il periodo successivo.

* La misura `Sum(Sales) - Below(Sum(Sales))` restituisce la variazione nei valori di `Sales`, confrontando il periodo corrente con quello successivo.

* La misura `RangeSum(Below(Sales, 1, 2))` restituisce la somma dei due valori di `Sales` successivi.

* La misura `(Sales - Below(Sales)) / Below(Sales)` restituisce la variazione di `Sales` in confronto al periodo successivo come una percentuale.

Nota di suggerimentoQuesta funzione può essere utilizzata nei grafici diversi dalle tabelle, ad esempio nei grafici a barre.

Procedere come indicato di seguito:

Creare un grafico a barre, quindi aggiungere questo campo come dimensione:

* `Year`

Creare la seguente misura:

* `=Sum(Sales) - Below(Sum(Sales))`, per restituire la varianza su base annua.

Grafico a barre che mostra i risultati della funzione Below

Grafico a barre che mostra i risultati della funzione Below

Grafico a barre che mostra i risultati della funzione BelowBelow ![Grafico a barre che mostra la varianza su base annua per la somma delle vendite in confronto all'anno successivo](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-below-example.png)

L'utilizzo della funzione `Below` in un grafico a barre fornisce un confronto visivo della varianza tra le vendite del periodo corrente rispetto a quelle del periodo successivo.

## Esempio: scenario per l'applicazione della funzione Below

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

  * `SalesYear`

  * `SalesAmount`

Script di caricamento

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

Risultati

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

* `SalesYear`

Creare le seguenti misure:

* `=Sum(SalesAmount)`, per aggregare le vendite.

* `=RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo()))`, per calcolare un resoconto del totale per i valori di `SalesAmount`.

Tabella dei risultati

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

I risultati mostrano come è possibile utilizzare una combinazione della funzione `RangeSum` e della funzione `Below` per creare un resoconto del totale cumulativo.

Nota di suggerimentoQuesta funzione può essere utilizzata nei grafici diversi dalle tabelle, ad esempio nei grafici a barre.

Procedere come indicato di seguito:

Creare un grafico a barre, quindi aggiungere questo campo come dimensione:

* `SalesYear`

Creare la seguente misura:

* `=RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo()))`, per restituire un resoconto del valore cumulativo delle vendite.

Grafico a barre che mostra un resoconto del valore cumulativo delle vendite su base annua

Grafico a barre che mostra un resoconto del valore cumulativo delle vendite su base annua

Grafico a barre che mostra un resoconto del valore cumulativo delle vendite su base annua ![Grafico a barre che mostra un resoconto del valore cumulativo dei valori di vendita.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-below-example2.png)

L'utilizzo della funzione `Below` in combinazione con `RangeSum` in un grafico a barre fornisce una visualizzazione con un riepilogo dei valori cumulativi delle vendite.

## Esempio: espressione del grafico che usa Below

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

* Due tabelle dati chiamate `Monthnames` e `Sales2013`.

Script di caricamento

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

Risultati

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

* `Customer`

Creare le seguenti misure:

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

* `=Below(Sum(Sales))`, per mostrare la somma dei valori di vendita nella riga precedente.

* `=Sum(Sales)+Below(Sum(Sales))`, per sommare il valore della somma delle vendite con la somma delle vendite per la riga del cliente sotto la riga corrente.

* `=Sum(Sales)+Below(Sum(Sales), 3)`, per sommare il valore `Sum(Sales)` per il `Customer` corrente al valore di `Customer`, tre righe sotto.

* `=If(Sum(Sales)>Below(Sum(Sales)), 'Higher')`, per aggiungere l'etichetta "`Higher`" ai clienti i cui risultati `Sum(Sales)` sono superiori al valore di `Sum(Sales)` per il cliente nella riga sotto.

Tabella dei risultati

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

Per i grafici con più dimensioni, i risultati delle espressioni contenenti le funzioni `Above`, `Below`, `Top` e `Bottom` dipendono dall'ordine con cui le dimensioni di colonna vengono ordinate da Qlik Sense. Qlik Sense valuta le funzioni in base ai segmenti di colonna che derivano dalla dimensione ordinata per ultima. L'ordinamento delle colonne viene controllato dal pannello delle proprietà in Ordinamento e non è necessariamente l'ordine in cui le colonne vengono visualizzate in una tabella. Per un esempio che dimostra l'uso dell'ordinamento, consultare [Esempio: scenario per l'applicazione della funzione Above in base all'ordinamento](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm#Example).

La misura `Below(Sum(Sales))` restituisce NULL per il cliente `Divadip`, perché non ci sono righe successive. Il risultato per la riga `Canutility` mostra il valore di `Sum(Sales)` per `Divadip`. Il risultato per `Betacab` mostra il valore di `Sum(Sales)` per `Canutility` e così via.

Per la misura `Sum(Sales)+Below(Sum(Sales))`, la riga di `Astrida` restituisce il risultato per l'aggiunta dei valori di `Sum(Sales)` per le righe `Betacab` + `Astrida` (`539+587`). Il risultato per la riga `Betacab` mostra il risultato dell'aggiunta dei valori `Sum(Sales)` per `Canutility` + `Betacab` (`539+683`).

La misura `Sum(Sales)+Below(Sum(Sales), 3)` ha l'argomento `offset`, impostato su `3`, e ha l'effetto di portare il valore della riga tre righe sotto la riga attuale. Aggiunge il valore `Sum(Sales)` per il valore `Customer` attuale dal valore `Customer` tre righe successive. I valori per le prime tre righe `Customer` più in basso sono null.

La misura `IF(Sum(Sales)>Below(Sum(Sales)), 'Higher')` restituisce il valore `Higher` per il cliente `Astrida` perché i suoi risultati di vendita sono maggiori della somma delle vendite del cliente nella riga sottostante, `Betacab`.

Nota di suggerimentoQuesta funzione può essere utilizzata nei grafici diversi dalle tabelle, ad esempio nei grafici a barre.

Nota di suggerimentoPer gli altri tipi di grafici, convertire il grafico nell'equivalente di tabella lineare per individuare facilmente la riga a cui si riferisce la funzione.

## Esempio: utilizzo della funzione Below con RangeAvg

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

#### Espressione del grafico

Panoramica

La funzione Below può essere utilizzata come input per le funzioni di scala. Questo esempio utilizza la funzione per RangeAvg.

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

Lo script di caricamento contiene:

* Due tabelle dati chiamate Monthnames e Sales2013.

Script di caricamento

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

Risultati

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

* Customer

Creare la seguente misura:

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

Tabella dei risultati

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

Negli argomenti per la funzione Below, offset viene impostato su 1, mentre count viene impostato su 3. La funzione trova i risultati dell'espressione Sum(Sales) nelle tre righe immediatamente sotto la riga attuale nel segmento di colonna (dove si trova una riga). Questi tre valori vengono utilizzati come input per la funzione RangeAvg, che individua la media dei valori nella scala di numeri fornita.

## Ulteriori informazioni

* [Above - funzione per grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm)
* [Bottom - funzione per grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)
* [Top - funzione per grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)
* [RangeAvg - Funzione per script e grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangeavg.htm)