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).
Fonctions utilisateur disponibles dans Tableau :
Fonction | Syntaxe | Description |
FULLNAME |
| Renvoie le nom complet de l'utilisateur actuel. Il s'agit du nom complet Tableau Server ou Tableau Cloud lorsque l'utilisateur est connecté ; sinon, il s'agit du nom complet local ou réseau de l'utilisateur de Tableau Desktop. Exemples :
Renvoie le nom complet de l'utilisateur connecté,
Si le responsable Dave Hallsten est connecté, cet exemple ne renvoie la valeur True qu'en présence de la valeur Dave Hallsten dans le champ Manager de la vue. Lorsqu'il est utilisé comme un filtre, ce champ calculé peut être utilisé pour créer un filtre utilisateur qui n'affiche que les données correspondant à la personne connectée au serveur. |
ISFULLNAME |
| Renvoie la valeur True si le nom complet de l'utilisateur actuel correspond au nom complet spécifié ; la valeur False est renvoyée si ce n'est pas le cas. Cette fonction utilise le nom complet Tableau Server ou Tableau Cloud lorsque l'utilisateur est connecté. Sinon, elle utilise le nom complet local ou réseau de l'utilisateur de Tableau Desktop. Exemple :
Cet exemple renvoie la valeur True si Dave Hallsten est l'utilisateur actuel ; la valeur False est renvoyée dans les autres cas. |
ISMEMBEROF |
| Renvoie la valeur True si la personne utilisant Tableau est membre d'un groupe correspondant à la chaîne donnée. Si la personne utilisant Tableau est connectée, l'appartenance aux groupes est déterminée par les groupes présents sur Tableau Server ou Tableau Cloud. Si elle n'est pas connectée, cette fonction renvoie la valeur NULL. Remarque : la fonction renvoie une valeur « True » si la chaîne donnée est « Tous les utilisateurs », qu'ils soient connectés à Tableau Server ou à Tableau Cloud. La fonction ISMEMBEROF() accepte également les domaines Active Directory. Le domaine Active Directory doit être déclaré dans le calcul avec le nom du groupe. Exemple :
|
ISUSERNAME |
| Renvoie la valeur True si le nom d'utilisateur de l'utilisateur actuel correspond au nom d'utilisateur spécifié ; la valeur False est renvoyée si ce n'est pas le cas. Cette fonction utilise le nom d'utilisateur Tableau Server ou Tableau Cloud lorsque l'utilisateur est connecté ; sinon, elle utilise le nom d'utilisateur local ou réseau de l'utilisateur de Tableau Desktop. Exemple :
Cet exemple renvoie la valeur True si dhallsten est l'utilisateur actuel ; la valeur False est renvoyée dans les autres cas. Remarque : « Tous les utilisateurs » est toujours renvoyé comme vrai. |
USERDOMAIN |
| Renvoie le domaine de l'utilisateur actuel lorsque celui-ci est connecté à Tableau Server. Renvoie le domaine Windows si l'utilisateur de Tableau Desktop se trouve sur un domaine. Dans le cas contraire, cette fonction renvoie une chaîne nulle. Exemple :
|
USERNAME |
| Renvoie le nom d'utilisateur de l'utilisateur actuel. Il s'agit du nom d'utilisateur Tableau Server ou Tableau Cloud lorsque l'utilisateur est connecté. Sinon, il s'agit du nom d'utilisateur local ou réseau de l'utilisateur de Tableau Desktop. Exemples :
Renvoie le nom d'utilisateur de l'utilisateur connecté,
Si le responsable dhallsten était connecté, cette fonction renverrait la valeur True en présence de la valeur dhallsten dans le champ Manager de la vue. Lorsqu'il est utilisé comme filtre, ce champ calculé peut être utilisé pour créer un filtre utilisateur qui n'affiche que les données correspondant à la personne connectée au serveur. |
USERATTRIBUTE | USERATTRIBUTE('attribute_name') | (Pour intégrer des workflows dans Tableau Cloud uniquement) Renvoie une chaîne. Si Remarque : vous pouvez utiliser la fonction Exemple : supposons que « Région » 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. [Région]=USERATTRIBUTE('Région') Lorsqu'Alan Wang de la région Ouest affiche la visualisation intégrée, Tableau affiche les données appropriées pour la région Ouest uniquement. |
USERATTRIBUTEINCLUDES | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') | (Pour intégrer des workflows dans Tableau Cloud uniquement) Renvoie une valeur booléenne. Renvoie « true » si les conditions suivantes sont vraies : 1) Remarque : vous pouvez utiliser la fonction Exemple : Supposons que « Région » soit l'attribut utilisateur défini 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 pour filtrer les données en fonction de la [région]. Dans ce filtre, vous pouvez faire référence au calcul suivant. USERATTRIBUTEINCLUDES('Région', [Région]) Si Alan Wang 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 [Région]. Lorsque la valeur est true, la visualisation affiche les données appropriées. Lorsqu'un autre utilisateur, Michele Kim 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 [Région]. |
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.