Date de dernière modification : 30 Nov 2023
Environnement
Tableau DesktopRé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
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
- Il n'est pas possible d'utiliser les champs calculés contenant ATTR() pour activer manuellement un tri dynamique
- Un calcul contenant ATTR() peut renvoyer une valeur NULL dans le total général même s'il renvoie les valeurs attendues à un autre emplacement de la vue.Consultez Les totaux généraux sont vides pour le champ calculé incluant ATTR()
Informations supplémentaires
Discuter de cet article... Forum de commentairesMerci de nous avoir donné votre avis sur l’efficacité de l’article.
Ouvrir un nouveau cas
Continuer la recherche
Base de connaissances
Communauté
Aide produit
Formation et tutoriels