BASE DE CONNAISSANCES

Dans quels cas utiliser la fonction Attribut (ATTR)


Date de publication : 27 May 2014
Date de dernière modification : 30 Nov 2023

Question

Le mode de fonctionnement de la fonction Attribut (ATTR) diffère des autres agrégations telles que MIN ou SUM.

Environnement

Tableau Desktop

Réponse

ATTR() indique plusieurs valeurs

L'agrégation ATTR() indique qu'il y a plusieurs valeurs, mais qu'une seule était attendue.

Par exemple, lorsque vous fusionnez deux sources de données ou plus, les champs de la source de données secondaire sont automatiquement entourés par ATTR() parce que les champs d'une source de données doivent être agrégés. S'il y a plusieurs valeurs pour une dimension secondaire, ATTR(Dimension secondaire) affiche un astérisque dans la vue, comme expliqué en détail dans Résoudre les problèmes de fusion des données : Des astérisques s'affichent dans la feuille.

Si une autre agrégation était utilisée à la place de ATTR(), Tableau Desktop afficherait des informations erronées. Par exemple, MIN(Dimension secondaire) afficherait la première valeur de dimension, et il n'y aurait pas moyen de savoir s'il y a effectivement plusieurs valeurs dans la source de données secondaire.L'astérisque indique qu'il est nécessaire d'ajuster la relation ou la vue.
 

Mode de fonctionnement

ATTR() compare toutes les valeurs de chaque enregistrement dans les données sous-jacentes regroupées dans une partition de la vue, par exemple une barre, un cercle, une cellule, etc... ) et si les valeurs sont identiques, alors ATTR() renvoie cette valeur. Sinon, ATTR() renvoie un astérisque.

Dans sa forme la plus simple, la formule se présente ainsi :
 
IF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension]) ELSE "*"  END

La fonction ATTR évalue tous les membres du champ et renvoie une valeur si : 1) il n'y a qu'une seule valeur (MIN = MAX) ou 2) tous les membres sont identiques (MIN = MAX), sinon elle renvoie « * », ce qui peut être interprété comme « comporte plus d'une valeur ».

Vous pouvez créer la fonction ATTR de base en ajoutant des conditions de déclenchement de la fonction ATTR, par exemple :
 
IF ISNULL ([dimension]) THEN NULL
ELSEIF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension])
ELSE "*" 
END

 
(Mettez à jour les champs de dimension [dimension] avec vos propres dimensions.)
 

Cas d'utilisation de la fonction ATTR()

  • Dans l'exemple ci-dessus, ATTR() peut indiquer que la source de données secondaire contient plusieurs valeurs
     
  • Les dimensions ajoutées à une infobulle sur la fiche Repères sont automatiquement entourées dans ATTR() parce que les dimensions sur l'infobulle doivent être agrégées. Si une autre agrégation telle que MIN() est utilisée, l'infobulle affiche une valeur unique. L'observateur risque alors de penser à tort qu'il n'y a qu'une seule valeur.De ce fait, ATTR() affiche un astérisque pour indiquer qu'il est nécessaire d'ajuster la vue ou les valeurs ajoutées à l'infobulle. Consultez Affichage des astérisques dans les infobulles
     
  • Comme les autres agrégations, la fonction ATTR() peut être utilisée pour transformer une valeur non agrégée en une valeur agrégée de manière à résoudre les erreurs d'agrégation dans le calcul. Consultez Messages d'erreur d'agrégation dans un éditeur de calcul

    Remarque : lorsqu'un calcul renvoyant des données numériques contient ATTR(), s'il y a plusieurs valeurs dans ATTR(), le calcul renverra une valeur NULL plutôt qu'un astérisque.
     
  • ATTR() peut être utilisé à titre de précaution pour assurer la protection contre la modification des données

Limitations

Cet article vous a-t-il permis de résoudre le problème ?