# GetObjectField - funzione per grafici

GetObjectField() restituisce l'espressione di campo della dimensione. Index è un numero intero opzionale che indica la dimensione che deve essere restituita.

Nota informatica

Non è possibile utilizzare questa funzione in un grafico nelle posizioni seguenti: titolo, sottotitolo, piè di pagina, espressione linea di riferimento ed espressioni min/max.

Nota informatica

Non è possibile fare riferimento al nome di una dimensione o misura in un altro oggetto usando l'Object ID.

Sintassi:

GetObjectField ([index])

Tipo di dati restituiti: stringa

Esempio: espressioni dei grafico

| Esempio | Risultato |
| --- | --- |
| `GetObjectField ()`<br><br>`GetObjectField (0)` | Restituisce l'espressione di campo per la prima dimensione del grafico. |
| `GetObjectField (1)` | Restituisce l'espressione di campo per la seconda dimensione del grafico. |

Se si desidera restituire il nome di una misura, usare invece la funzione GetObjectMeasure.

## Esempio: principi fondamentali della funzione GetObjectField

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

  * `TransactionDate`

  * `CustomerID`

  * `TransactionQuantity`

Script di caricamento

```
Example:
LOAD * INLINE [
TransactionDate, CustomerID, TransactionQuantity
2018/08/30, 049681, 13
2018/08/30, 203521, 6
2018/08/30, 203521, 21
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `TransactionDate`

* `CustomerID`

* `TransactionQuantity`

Creare le seguenti misure:

* `=GetObjectField()`, per visualizzare la prima dimensione nella tabella.
* `=GetObjectField(0)`, per visualizzare la prima dimensione nella tabella.
* `=GetObjectField(1)`, per visualizzare la seconda dimensione nella tabella.

Tabella dei risultati

| TransactionDate | CustomerID | TransactionQuantity | GetObjectField () | GetObjectField (0) | GetObjectField (1) |
| --- | --- | --- | --- | --- | --- |
| 2018/08/30 | 049681 | 13 | TransactionDate | TransactionDate | CustomerID |
| 2018/08/30 | 203521 | 6 | TransactionDate | TransactionDate | CustomerID |
| 2018/08/30 | 203521 | 21 | TransactionDate | TransactionDate | CustomerID |

Osservando i risultati, si può vedere come la funzione `GetObjectField` restituisca il nome del campo indicato nei parametri della funzione.

## Esempio: scenario avanzato per l'applicazione della funzione GetObjectField

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetObjectField.htm)

#### Espressione del grafico

Panoramica

Questo esempio utilizza la funzione `GetObjectField` in combinazione con le selezioni dei filtri. Il calcolo delle dimensioni e delle misure che appare nell'oggetto grafico cambia in base al filtro selezionato.

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 due tabelle dati inline: `Sales` e `Filter`. La prima tabella, `Sales`, include i dati relativi alle vendite. La seconda tabella, `Filter`, contiene un elenco di nomi di campi che verranno utilizzati come interruttore per la dimensione. L'interruttore permette di passare da una dimensione all'altra in un grafico e di personalizzare il calcolo della misura che appare in base alla dimensione selezionata.

* La `Sales` tabella contiene i seguenti campi:

  * `Country`

  * `Salesperson`

  * `SalesValue`

* La tabella `Filter` contiene il seguente campo: `FilterField`.

Script di caricamento

```
Sales:
LOAD * INLINE [
Country, SalesPerson, SalesValue
USA, John, 500
USA, Alice, 700
Canada, Bob, 300
Canada, Carol, 400
Mexico, Dave, 200
];

Filter:
LOAD * INLINE [
FilterField
Country
SalesPerson
];
```

Risultati

1. Caricare i dati e aprire un foglio. Creare una nuova casella di filtro e aggiungere questo campo come dimensione:

   * `FilterField`

2. Nel pannello delle risorse, in Campi, fare clic con il pulsante destro del mouse su Campo filtro e selezionare Impostazioni campo. Selezionare la casella di controllo Sempre un valore selezionato, quindi fare clic su Salva.

3. Creare una tabella, quindi aggiungere una dimensione inserendo la seguente espressione:

   * `=$(= FilterField)`

   * In Etichetta, inserire la seguente espressione per definire il nome della colonna per la dimensione: `='$(= FilterField)'`

4. Creare la seguente misura:

   * `=If(GetObjectField() = 'Country', Sum(SalesValue), Avg(SalesValue))`, per sommare i valori di vendita se la dimensione selezionata è `Country`, oppure per restituire la media del valore di vendita quando la dimensione selezionata è `SalesPerson`.

   * In `Label`, inserire la seguente espressione per definire il nome della colonna che visualizzerà la misura in base alla selezione del filtro: `=If(GetObjectField() = 'Country', 'Sum(SalesValue)', 'Avg(SalesValue)')` Ad esempio, se il valore `Country` è selezionato nel filtro, il nome della misura restituirà il valore `Sum(SalesValue)`.

In modalità di analisi, quando si passa da `SalesPerson` a `Country` nel filtro `FieldFilter`, la tabella cambia per includere la dimensione selezionata e il calcolo della misura corrispondente per quella dimensione. Ad esempio, se si seleziona `Country` nel filtro, la tabella mostra `Country` come dimensione nella prima colonna. La misura utilizza quindi la funzione `GetObjectField`, la equipara a `Country` e restituisce `Sum(SalesValue)`.

Casella di filtro e risultati della tabella per Country

Casella di filtro e risultati della tabella per Country

Casella di filtro e risultati della tabella per CountryCountry ![Un foglio con una casella di filtro per passare tra Paese e venditore e vedere i risultati per ogni valore in una tabella corrispondente.](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetObjDim-example.png)

La tabella seguente mostra i risultati quando si seleziona `Country` nel filtro `FilterField`.

Tabella dei risultati per `Country`Country

| Country | Sum(SalesValue) |
| --- | --- |
| Canada | 700 |
| Mexico | 200 |
| USA | 1200 |

La tabella seguente mostra i risultati quando si seleziona `SalesPerson` nel filtro `FilterField`.

Tabella dei risultati per `SalesPerson`SalesPerson

| SalesPerson | Avg(SalesValue) |
| --- | --- |
| Alice | 700 |
| Bob | 300 |
| Carol | 400 |
| Dave | 200 |
| John | 500 |