# GetObjectField - fonction de graphique

GetObjectField() renvoie l'expression de champ de la dimension. Index est un nombre entier facultatif indiquant la dimension à renvoyer.

Note Informations

Il n'est pas possible d'utiliser cette fonction dans un graphique aux emplacements suivants : titre, sous-titre, pied de page, expression de ligne de référence et expression mini./maxi.

Note Informations

Il n'est pas possible de faire référence au nom d'une dimension ou d'une mesure dans un autre objet à l'aide du paramètre Object ID.

Syntaxe :

GetObjectField ([index])

Type de données renvoyé : string

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `GetObjectField ()`<br><br>`GetObjectField (0)` | Renvoie l'expression de champ de la première dimension du graphique. |
| `GetObjectField (1)` | Renvoie l'expression de champ de la deuxième dimension du graphique. |

Si vous souhaitez renvoyer le nom d'une mesure, utilisez plutôt la fonction GetObjectMeasure.

## Exemple - Les bases de GetObjectField

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

#### Expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `TransactionDate`

  * `CustomerID`

  * `TransactionQuantity`

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `TransactionDate`

* `CustomerID`

* `TransactionQuantity`

Créez les mesures suivantes :

* `=GetObjectField()`, pour trouver la première dimension du tableau.
* `=GetObjectField(0)`, pour trouver la première dimension du tableau.
* `=GetObjectField(1)`, pour trouver la deuxième dimension du tableau.

Tableau de résultats

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

En observant les résultats, vous pouvez voir que la fonction `GetObjectField` renvoie le nom du champ indiqué dans les paramètres de la fonction.

## Exemple - Scénario GetObjectField avancé

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

#### Expression de graphique

Vue d'ensemble

Cet exemple utilise la fonction `GetObjectField` en combinaison avec des sélections de filtre. Le calcul de la dimension et de la mesure qui apparaît dans l'objet de graphique change en fonction du filtre que vous sélectionnez.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans deux tables de données inline : `Sales` et `Filter`. La première table, `Sales`, contient les données relatives aux ventes. La deuxième table, `Filter`, contient une liste de noms de champ qui seront utilisés comme bascule de dimension. La bascule vous permet de passer d'une dimension à une autre dans un graphique et de personnaliser le calcul de la mesure qui apparaît en fonction de la dimension sélectionnée.

* La table `Sales` contient les champs suivants :

  * `Country`

  * `Salesperson`

  * `SalesValue`

* La table `Filter` contient les champs suivants : `FilterField`.

Script de chargement

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

Résultats

1. Chargez les données et ouvrez une feuille. Créez un nouveau volet de filtre et ajoutez ce champ comme dimension :

   * `FilterField`

2. Dans le panneau des ressources, sous Champs, cliquez-droit sur FilterField et sélectionnez Paramètres de champ. Cochez la case Toujours une valeur sélectionnée, puis cliquez sur Enregistrer.

3. Créez une table et ajoutez une dimension en saisissant l'expression suivante :

   * `=$(= FilterField)`

   * Sous Étiquette, saisissez l'expression suivante pour définir le nom de colonne de la dimension : `='$(= FilterField)'`.

4. Créez la mesure suivante :

   * `=If(GetObjectField() = 'Country', Sum(SalesValue), Avg(SalesValue))`, pour additionner les valeurs des ventes si la dimension sélectionnée est `Country`, sinon pour renvoyer la moyenne de la valeur des ventes lorsque la dimension sélectionnée est `SalesPerson`.

   * Sous `Label`, saisissez l'expression suivante pour définir le nom de colonne qui sera affiché pour la mesure en fonction de la sélection de filtre : =If(GetObjectField() = 'Country', 'Sum(SalesValue)', 'Avg(SalesValue)')``. Par exemple, si `Country` est sélectionné dans le filtre, le nom de la mesure renverra la valeur `Sum(SalesValue)`.

En mode d'analyse, lorsque vous passez de `SalesPerson` à `Country` dans le filtre `FieldFilter`, le tableau change de sorte à inclure la dimension sélectionnée et le calcul de la mesure correspondante pour cette dimension. Par exemple, si vous sélectionnez `Country` dans le filtre, le tableau affiche `Country` comme dimension dans la première colonne. La mesure utilise alors la fonction `GetObjectField`, la met en équivalence avec `Country` et renvoie `Sum(SalesValue)`.

Volet de filtre et résultats du tableau pour Country

Volet de filtre et résultats du tableau pour Country

Volet de filtre et résultats du tableau pour CountryCountry ![Feuille avec un volet de filtre permettant de passer du pays au vendeur et d'afficher les résultats pour chacun dans un tableau correspondant.](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-GetObjDim-example.png)

Le tableau suivant montre les résultats lorsque vous sélectionnez `Country` dans le filtre `FilterField`.

Tableau de résultats pour `Country`Country

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

Le tableau suivant montre les résultats lorsque vous sélectionnez `SalesPerson` dans le filtre `FilterField`.

Tableau de résultats pour `SalesPerson`SalesPerson

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