Fonctions utilisateur
Cet article présente les fonctions utilisateur et leurs utilisations dans Tableau. Il montre également comment créer un calcul utilisateur en se basant sur un exemple.
Pourquoi utiliser des fonctions utilisateur
Les fonctions utilisateur peuvent servir à créer des filtres utilisateur ou des filtres de sécurité au niveau des lignes. Ces filtres affectent les visualisations publiées sur Tableau Server ou Tableau Cloud de sorte que seules certaines personnes puissent voir votre visualisation.
Imaginons par exemple une visualisation qui montre les performances de vente pour chaque employé de votre service publiées sur Tableau Server ou Tableau Cloud. Vous souhaiterez peut-être que les employés puissent uniquement voir leurs propres chiffres de vente lorsqu’ils accèdent à cette visualisation.
Dans ce cas, vous pouvez utiliser la fonction ISMEMBEROF pour créer un champ qui renvoie la valeur True si le nom d’utilisateur de la personne connectée au serveur appartient à un groupe spécifié (sur le serveur), par exemple le groupe « Managers ». Ensuite, lorsque vous filtrez la vue à l’aide de ce champ calculé, seule une personne faisant partie de ce groupe peut voir les données.
Le calcul dans ce cas peut se présenter ainsi :
ISMEMBEROF('Managers')
Remarque : si les noms de vos groupes ou de vos utilisateurs contiennent des caractères non alphanumériques, vous devez utiliser l’encodage d’URL HTML pour les caractères spéciaux lorsque vous utilisez les fonctions ci-dessous.
Certains caractères spéciaux sont autorisés sans encodage d’URL HTML, tels que les soulignements, les parenthèses et les points d’exclamation. _ ( ) !
De nombreux autres caractères doivent être codés.
Par exemple, la fonction ISMEMBEROF("USERS+")
doit être écrite en tant que ISMEMBEROF("USERS%2B")
, parce que « %2B » est l’encodage d’URL HTML pour le symbole « + ». Pour des informations sur l’encodage d’URL HTML, consultez Référence de l’encodage d’URL HTML(Le lien s’ouvre dans une nouvelle fenêtre) sur le site Web des développeurs Web W3schools.
Pour intégrer des workflows dans Tableau Cloud uniquement
Parmi les fonctions utilisateur, un sous-ensemble de fonctions d’attribut utilisateur peut être utilisé avec les Applications connectées à Tableau(Le lien s’ouvre dans une nouvelle fenêtre). Les fonctions d’attribut utilisateur (USERATTRIBUTE et USERATTRIBUTEINCLUDES) permettent aux attributs utilisateur d’être capturés par Tableau lors de l’exécution dans le cadre du workflow d’authentification. Lorsque les attributs utilisateur sont transmis à partir des jetons Web JSON (JWT), le contenu intégré créé avec ces fonctions permet de contrôler et personnaliser les données affichées à l’attention des utilisateurs.
Remarques :
Consultez l’aide de l’API d’intégration v3(Le lien s’ouvre dans une nouvelle fenêtre) pour consulter les problèmes connus susceptibles d’affecter votre flux de travail.
Les fonctions d’attribut utilisateur peuvent être incluses dans le contenu créé dans Tableau Desktop ou Tableau Cloud.
l’aperçu du contenu avec ces fonctions n’est pas disponible lors de la création dans Tableau Desktop ou Tableau Cloud. Les fonctions d’attribut utilisateur renverront des valeurs NULL ou FALSE. Pour vous assurer que les fonctions d’attribut utilisateur fonctionnent comme prévu, nous vous recommandons d’examiner le contenu après l’intégration dans votre application externe. Pour plus d’informations sur l’intégration de workflows incluant ces fonctions utilisateur, consultez l’aide de l’API v3 d’intégration(Le lien s’ouvre dans une nouvelle fenêtre).
Les fonctions d’attribut utilisateur ne peuvent pas être utilisées dans des workflows sans intégration ou avec des protocoles OIDC ou SAML.
Fonctions utilisateur disponibles dans Tableau
FULLNAME( )
Syntaxe | FULLNAME( ) |
Résultat | Chaîne |
Définition | Renvoie le nom complet de l’utilisateur actuel. |
Exemple | FULLNAME( ) Renvoie le nom complet de l’utilisateur connecté, par exemple « Hamlin Myrer ». [Manager] = FULLNAME( ) Si le responsable « Hamlin Myrer » est connecté, cet exemple ne renvoie la valeur TRUE que si la valeur « Hamlin Myrer » est présente dans le champ Manager de la vue. |
Remarques | Cette fonction vérifie :
Filtres utilisateur Lorsqu’il est utilisé en tant que filtre, un champ calculé tel que |
ISFULLNAME
Syntaxe | ISFULLNAME("User Full Name") |
Résultat | Booléen |
Définition | Renvoie la valeur |
Exemple | ISFULLNAME("Hamlin Myrer") |
Remarques | L’argument Cette fonction vérifie :
|
ISMEMBEROF
Syntaxe | ISMEMBEROF("Group Name") |
Résultat | Valeur booléenne ou null |
Définition | Renvoie |
Exemple | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
Remarques | L’argument Si l’utilisateur est connecté à Tableau Cloud ou Tableau Server, l’appartenance aux groupes est déterminée par les groupes Tableau. La fonction renvoie TRUE si la chaîne donnée est « Tous les utilisateurs » La fonction Si une modification est apportée à l’appartenance à un groupe d’un utilisateur, la modification des données basées sur cette appartenance est reflétée dans un classeur ou une vue avec une nouvelle session. La session existante reflétera les données obsolètes. |
ISUSERNAME
Syntaxe | ISUSERNAME("username") |
Résultat | Booléen |
Définition | Renvoie la valeur TRUE si le nom d’utilisateur de l’utilisateur actuel correspond au nom d’utilisteur spécifié, ou FALSE si ce n’est pas le cas. |
Exemple | ISUSERNAME("hmyrer") |
Remarques | L’argument Cette fonction vérifie :
|
USERDOMAIN( )
Syntaxe | USERDOMAIN( ) |
Résultat | Chaîne |
Définition | Renvoie le domaine de l’utilisateur actuel. |
Remarques | Cette fonction vérifie :
|
USERNAME( )
Syntaxe | USERNAME( ) |
Résultat | Chaîne |
Définition | Renvoie le nom d’utilisateur de l’utilisateur actuel. |
Exemple | USERNAME( ) Renvoie le nom d’utilisateur de l’utilisateur connecté, par exemple « hmyrer ». [Manager] = USERNAME( ) Si le responsable « hmyrer » est connecté, cet exemple ne renvoie la valeur TRUE que si la valeur « hmyrer » est présente dans le champ Manager de la vue. |
Remarques | Cette fonction vérifie :
Filtres utilisateur Lorsqu’il est utilisé en tant que filtre, un champ calculé tel que |
USERATTRIBUTE
Remarque : avant d’utiliser cette fonction, consultez Pour intégrer des workflows dans Tableau Cloud uniquement. Pour plus d’informations, consultez Authentification et vues intégrées(Le lien s’ouvre dans une nouvelle fenêtre) dans l’API Embedding v3.
Syntaxe | USERATTRIBUTE('attribute_name') |
Résultat | Chaîne ou valeur null |
Définition | Si Renvoie une valeur null si |
Exemple | Supposons que « Region » soit l’attribut utilisateur inclus dans le jeton JWT et transmis à Tableau à l’aide de l’application connectée déjà configurée par l’administrateur de votre site. En tant qu’auteur du classeur, vous pouvez configurer votre visualisation de manière à filtrer les données en fonction d’une région spécifiée. Dans ce filtre, vous pouvez faire référence au calcul suivant. [Region] = USERATTRIBUTE("Region") Lorsque User2 de la région Ouest affiche la visualisation intégrée, Tableau affiche les données appropriées pour la région Ouest uniquement. |
Remarques | Vous pouvez utiliser la fonction USERATTRIBUTEINCLUDES si vous prévoyez que<'attribute_name'> renvoie plusieurs valeurs. |
USERATTRIBUTEINCLUDES
Remarque : avant d’utiliser cette fonction, consultez Pour intégrer des workflows dans Tableau Cloud uniquement. Pour plus d’informations, consultez Authentification et vues intégrées(Le lien s’ouvre dans une nouvelle fenêtre) dans l’API Embedding v3.
Syntaxe | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
Résultat | Booléen |
Définition | Renvoie
Sinon, renvoie |
Exemple | Supposons que « Region » soit l’attribut utilisateur inclus dans le jeton JWT et transmis à Tableau à l’aide de l’application connectée déjà configurée par l’administrateur de votre site. En tant qu’auteur du classeur, vous pouvez configurer votre visualisation de manière à filtrer les données en fonction d’une région spécifiée. Dans ce filtre, vous pouvez faire référence au calcul suivant. USERATTRIBUTEINCLUDES('Region', [Region]) Si User2 de la région Ouest accède à la visualisation intégrée, Tableau vérifie si l’attribut utilisateur Région correspond à l’une des valeurs du champ [Region]. Lorsque la valeur est true, la visualisation affiche les données appropriées. Lorsque User3 de la région Nord accède à la même visualisation, elle ne peut voir aucune donnée car il n’y a pas de correspondance avec les valeurs du champ [Region]. |
Créer un calcul utilisateur
Les calculs utilisateur fonctionnent directement avec les utilisateurs et les groupes que vous avez configurés sur Tableau Server ou Tableau Cloud. Vous pouvez créer des calculs utilisateur à utiliser comme filtres de manière à ce que les utilisateurs puissent uniquement voir les données pertinentes pour eux.
Par exemple, imaginons une visualisation de carte de ce type, qui affiche les données de vente pour 48 États américains. Vous pouvez créer un calcul utilisateur de manière à afficher uniquement les parties de la carte qui sont pertinentes pour chaque utilisateur, par exemple les données pertinentes pour un responsable régional par rapport à un responsable national. (Un responsable national devrait être capable de voir les données pour tout le pays, tandis qu’un responsable régional devrait uniquement accéder aux données pour la région qu’il gère).
Lorsqu’il est connecté, le responsable national voit la visualisation suivante :
Lorsqu’il est connecté, le responsable de la région Ouest voit uniquement les ventes pour sa région :
Pour créer une fonction utilisateur qui fonctionne comme dans cet exemple, procédez comme suit.
Avant de commencer
Pour suivre les étapes de cet exemple, vous devez avoir accès à Tableau Server ou Tableau Cloud. Vous devez également être un administrateur de serveur ou de site.
Étape 1 : Créer les utilisateurs et les groupes
Connectez-vous à Tableau Server ou Tableau Cloud.
Dans Tableau Server ou Tableau Cloud, ajoutez les utilisateurs suivants :
Sadie Pawthorne
Chuck Magee
Fred Suzuki
Roxanne Rodriguez
Pour plus d’informations, consultez Ajouter des utilisateurs à un site(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau Server.
Créez un nouveau groupe appelé National Managers (Responsables nationaux).
Pour plus d’informations, consultez Créer un groupe local(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau Server.
Ajoutez-vous au groupe Responsables nationaux.
Pour plus d’informations, consultez Ajouter des utilisateurs à un groupe(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau Server.
Étape 2 : Créer la visualisation
Ouvrez Tableau Desktop et connectez-vous à la source de données Sample - Superstore qui est fournie avec Tableau.
Dans l’angle inférieur gauche de l’espace de travail, cliquez sur l’onglet Source de données.
Dans la page Source de données, depuis le volet Connexions à gauche, faites glisser la feuille People sur l’espace de travail.
Cliquez sur l’icône de liaison et sélectionnez Gauche.
Accédez à une nouvelle feuille de calcul.
Dans le volet Données, sous Dimensions, double-cliquez sur State (État).
Une carte est créée.
Depuis le volet Données, sous Mesures, faites glisser Sales (Ventes) vers Couleur sur la fiche Repères.
Dans l’étagère Colonnes, sélectionnez le champ Longitude et maintenez enfoncée la touche Ctrl (Command sur Mac) sur votre clavier pour le copier. Faites glisser la copie à droite de l’original dans l’étagère Colonnes.
Sur la fiche Repères, cliquez sur le second onglet (en bas) Longitude.
Depuis le volet Données, faites glisser Region (Région) vers Couleur sur la fiche Repères.
La carte à droite est mise à jour avec les nouvelles couleurs.
Sur la fiche Repères, cliquez sur le menu déroulant Type de repère et sélectionnez Carte.
Sur la fiche Repères, cliquez sur Couleur, et, sous Opacité, ajustez le curseur sur 50%.
Sur la fiche Repères, cliquez sur le premier onglet Longitude.
Sur la fiche Repères, cliquez sur Couleur > Modifier les couleurs, puis sélectionnez Gris dans la liste déroulante de la palette de couleurs.
La carte à gauche se met à jour.
Dans l’étagère Colonnes, faites un clic droit sur le champ Longitude à droite et sélectionnez Axe double.
La carte se présente ainsi :
Étape 3 : Créer le calcul utilisateur
Sélectionnez Analyse > Créer un champ calculé.
Dans l’éditeur de calcul qui s’ouvre, procédez comme suit :
Nommez le champ calculé Filtre utilisateur.
Entrez la formule suivante :
[Regional Manager] = USERNAME() OR ISMEMBEROF("National Managers")
Ce calcul vérifie si une personne est incluse dans le champ Region (People), ou si elle fait partie du groupe National Managers. Si tel est le cas, la valeur True est renvoyée.
Lorsque vous avez terminé, cliquez sur OK.
Le nouveau calcul utilisateur apparaît sous Dimensions, dans le volet Données. Comme vos autres champs, vous pouvez l’utiliser dans une ou plusieurs visualisations.
Étape 4 : Ajouter le calcul utilisateur à l’étagère Filtres
Depuis le volet Données, sous Dimensions, faites glisser Filtre utilisateur vers l’étagère Filtres.
Dans la boîte de dialogue du filtre qui s’ouvre, sélectionnez True, puis cliquez sur OK.
Remarque : si vous n’êtes pas connecté à Tableau Server ou Tableau Cloud, l’option True n’est pas visible. Dans Tableau Desktop, connectez-vous à Tableau Server ou Tableau Cloud pour la sélectionner. Consultez Connexion à Tableau Server ou Tableau Cloud(Le lien s’ouvre dans une nouvelle fenêtre) pour plus d’informations.
Étape 5 : Tester le calcul
Dans Tableau Desktop, en bas à droite de l’espace de travail, cliquez sur la liste déroulante Appliquer un filtre utilisateur et modifiez l’utilisateur sur Sadie Pawthorne .
La carte se met à jour de manière à afficher uniquement la région Ouest des États-Unis puisque Sadie est affectée à la région Ouest dans la feuille People.
Sélectionnez à nouveau la liste déroulante Appliquer un filtre utilisateur et changez l’utilisateur sur Roxanne Rodriguez.
La carte se met à jour de manière à afficher uniquement la région Centre des États-Unis puisque Roxanne est affectée à la région Centre dans la feuille People.
Sélectionnez à nouveau la liste déroulante Appliquer un filtre utilisateur et changez l’utilisateur sur Chuck Magee.
La carte se met à jour de manière à afficher uniquement la région Est des États-Unis puisque Chuck est affecté à la région Est dans la feuille People.
Sélectionnez la liste déroulante Appliquer un filtre utilisateur et changez l’utilisateur sur Fred Suzuki.
La carte se met à jour de manière à afficher uniquement la région Sud des États-Unis puisque Fred est affectée à la région Sud dans la feuille People.
Sélectionnez une nouvelle fois la liste déroulante Appliquer un filtre utilisateur et changez l’utilisateur sur vous-même.
La carte se met à jour de manière à afficher toutes les données puisque vous faites partie du groupe National Managers sur le serveur.
Ce comportement persiste lorsque vous publiez la vue sur Tableau Server ou Tableau Cloud. Les utilisateurs n’appartenant pas au groupe National Managers ou à la feuille People dans la source de données Sample Superstore ne verront qu’une visualisation vide.