Gebruikersfuncties
Dit artikel introduceert gebruikersfuncties en hun gebruik in Tableau. Het laat ook zien hoe u een gebruikersberekening kunt maken aan de hand van een voorbeeld.
Waarom gebruikersfuncties gebruiken
Met gebruikersfuncties kunt u gebruikers- of beveiligingsfilters op rijniveau maken. Deze zijn van invloed op visualisaties die zijn gepubliceerd in Tableau Server of Tableau Cloud, zodat alleen bepaalde personen uw visualisatie kunnen zien.
Als u bijvoorbeeld een visualisatie hebt gepubliceerd op Tableau Server of Tableau Cloud waarin de verkoopprestaties van elke medewerker van uw afdeling worden weergegeven, wilt u wellicht alleen toestaan dat medewerkers hun eigen verkoopcijfers zien wanneer ze die visualisatie openen.
In dit geval kunt u de functie ISMEMBEROF gebruiken om een veld te maken dat ‘true’ retourneert als de gebruikersnaam van de persoon die is aangemeld bij de server lid is van een opgegeven groep (op de server), zoals bijvoorbeeld de groep 'Managers'. Wanneer u de weergave vervolgens met dit berekende veld filtert, kan alleen de persoon die deel uitmaakt van die groep de data zien.
De berekening zou er in dit geval als volgt uit kunnen zien:
ISMEMBEROF('Managers')
Opmerking: als uw groeps- of gebruikersnamen bepaalde niet-alfanumerieke tekens bevatten, moet u HTML URL-codering gebruiken voor de speciale tekens wanneer u de onderstaande functies gebruikt.
Sommige speciale tekens zijn toegestaan zonder HTML URL-codering, zoals onderstrepingstekens, haakjes en uitroeptekens. _ ( ) !
Veel andere tekens moeten gecodeerd worden.
Bijvoorbeeld de functie ISMEMBEROF("USERS+")
moet worden geschreven als ISMEMBEROF("USERS%2B")
, omdat de '+' de HTML URL-codering voor het symbool '+' is. Zie HTML URL-coderingsreferentie(Link wordt in een nieuw venster geopend) op de site W3schools Web Developer voor informatie over HTML URL-codering.
Alleen voor het insluiten van workflows in Tableau Cloud
Onder de gebruikersfuncties kan een subset van functies voor gebruikerskenmerken worden gebruikt met apps die met Tableau verbonden zijn(Link wordt in een nieuw venster geopend). De functies voor gebruikerskenmerken (GEBRUIKERSKENMERK en GEBRUIKERSKENMERK OMVAT) zorgen dat gebruikerskenmerken tijdens runtime door Tableau worden vastgelegd als onderdeel van de workflow voor verificatie. Wanneer gebruikerskenmerken worden doorgegeven vanuit JSON Web Tokens (JWT's), kan ingesloten inhoud die met deze functies is geschreven, de data beheren en aanpassen die aan gebruikers worden weergegeven.
Opmerkingen:
Raadpleeg de Help van Embedding API v3(Link wordt in een nieuw venster geopend) voor bekende problemen die van invloed kunnen zijn op de workflow.
Functies voor gebruikerskenmerken kunnen worden opgenomen in inhoud die in Tableau Desktop of Tableau Cloud is geschreven.
Wanneer u in Tableau Desktop of Tableau Cloud schrijft is er geen voorbeeld van de inhoud met deze functies beschikbaar. Functies voor gebruikerskenmerken retourneren de waarden NULL of FALSE. Om er zeker van te zijn dat de functies voor gebruikerskenmerken werken zoals verwacht, raden we u aan de inhoud te controleren nadat u deze in uw externe toepassing hebt ingesloten. Zie de hulp bij API insluiten v3(Link wordt in een nieuw venster geopend) voor meer informatie over het insluiten van workflows die deze gebruikersfuncties bevatten.
Gebruikerskenmerkfuncties kunnen niet worden gebruikt in niet-ingesloten workflows of met OIDC- of SAML-protocollen.
Gebruikersfuncties in Tableau
FULLNAME( )
Syntaxis | FULLNAME( ) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de volledige naam voor de huidige gebruiker. |
Voorbeeld | FULLNAME( ) Hiermee wordt de volledige naam van de aangemelde gebruiker geretourneerd, bijvoorbeeld 'Hamlin Myrer'. [Manager] = FULLNAME( ) Als manager 'Hamlin Myrer' is aangemeld, retourneert dit voorbeeld alleen TRUE als het veld Manager in de weergave 'Hamlin Myrer' bevat. |
Opmerkingen | Deze functie controleert:
Gebruikersfilters Wanneer een berekend veld zoals |
ISFULLNAME
Syntaxis | ISFULLNAME("User Full Name") |
Uitvoer | Booleaanse waarde |
Definitie | Retourneert |
Voorbeeld | ISFULLNAME("Hamlin Myrer") |
Opmerkingen | Het argument Deze functie controleert:
|
ISMEMBEROF
Syntaxis | ISMEMBEROF("Group Name") |
Uitvoer | Booleaanse waarde of null-waarde |
Definitie | Retourneert |
Voorbeeld | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
Opmerkingen | Het argument Als de gebruiker is aangemeld bij Tableau Cloud of Tableau Server, wordt het groepslidmaatschap bepaald door Tableau-groepen. De functie retourneert TRUE als de opgegeven string 'Alle gebruikers' is De functie Als er een wijziging wordt aangebracht in het groepslidmaatschap van een gebruiker, wordt de wijziging in de gegevens die op het groepslidmaatschap zijn gebaseerd, doorgevoerd in een werkmap of weergave met een nieuwe sessie. De bestaande sessie weerspiegelt oude gegevens. |
ISUSERNAME
Syntaxis | ISUSERNAME("username") |
Uitvoer | Booleaanse waarde |
Definitie | Retourneert TRUE als de gebruikersnaam van de huidige gebruiker overeenkomt met de opgegeven gebruikersnaam, of FALSE als deze niet overeenkomen. |
Voorbeeld | ISUSERNAME("hmyrer") |
Opmerkingen | Het argument Deze functie controleert:
|
USERDOMAIN( )
Syntaxis | USERDOMAIN( ) |
Uitvoer | Tekenreeks |
Definitie | Retourneert het domein voor de huidige gebruiker. |
Opmerkingen | Deze functie controleert:
|
USERNAME( )
Syntaxis | USERNAME( ) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de gebruikersnaam voor de huidige gebruiker. |
Voorbeeld | USERNAME( ) Hiermee wordt de gebruikersnaam van de aangemelde gebruiker geretourneerd, bijvoorbeeld 'hmyrer'. [Manager] = USERNAME( ) Als manager 'hmyrer' is aangemeld, retourneert dit voorbeeld alleen TRUE als het veld Manager in de weergave 'hmyrer' bevat. |
Opmerkingen | Deze functie controleert:
Gebruikersfilters Wanneer een berekend veld zoals |
USERATTRIBUTE
Opmerking: raadpleeg Alleen voor het insluiten van workflows in Tableau Cloud voordat u deze functie gebruikt. Zie Verificatie en ingesloten weergaven(Link wordt in een nieuw venster geopend) in het Help-gedeelte van Tableau Embedding API v3 voor meer informatie.
Syntaxis | USERATTRIBUTE('attribute_name') |
Uitvoer | String of null-waarde |
Definitie | Als Retourneert null als |
Voorbeeld | Stel dat 'Regio' het gebruikerskenmerk is dat is opgenomen in de JWT en dat is doorgegeven aan Tableau (met behulp van de verbonden app die al is geconfigureerd door de beheerder van uw site). Als auteur van de werkmap kunt u uw visualisatie zo instellen dat de data worden gefilterd op basis van een opgegeven regio. In dat filter kunt u de volgende berekening gebruiken. [Region] = USERATTRIBUTE("Region") Wanneer Gebruiker2 uit de regio West de ingesloten visualisatie bekijkt, toont Tableau alleen de juiste data voor de regio West. |
Opmerkingen | U kunt de functie USERATTRIBUTEINCLUDES gebruiken als u verwacht dat <'attribute_name'> meerdere waarden retourneert. |
USERATTRIBUTEINCLUDES
Opmerking: raadpleeg Alleen voor het insluiten van workflows in Tableau Cloud voordat u deze functie gebruikt. Zie Verificatie en ingesloten weergaven(Link wordt in een nieuw venster geopend) in het Help-gedeelte van Tableau Embedding API v3 voor meer informatie.
Syntaxis | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
Uitvoer | Booleaanse waarde |
Definitie | Retourneert
Zo niet, dan wordt |
Voorbeeld | Stel dat 'Regio' het gebruikerskenmerk is dat is opgenomen in de JWT en dat is doorgegeven aan Tableau (met behulp van de verbonden app die al is geconfigureerd door de beheerder van uw site). Als auteur van de werkmap kunt u uw visualisatie zo instellen dat de data worden gefilterd op basis van een opgegeven regio. In dat filter kunt u de volgende berekening gebruiken. USERATTRIBUTEINCLUDES('Region', [Region]) Als Gebruiker2 uit de regio West toegang krijgt tot de ingesloten visualisatie, controleert Tableau of het gebruikerskenmerk Regio overeenkomt met een van de veldwaarden [Regio]. Als dit waar is, toont de visualisatie de juiste data. Wanneer Gebruiker3 uit de regio Noord dezelfde visualisatie opent, kan deze geen data zien omdat er geen overeenkomst is met de veldwaarden van [Regio]. |
Een gebruikersberekening maken
Gebruikersberekeningen werken rechtstreeks met de gebruikers en groepen die u hebt ingesteld in Tableau Server of Tableau Cloud. U kunt gebruikersberekeningen maken en deze gebruiken als filters, zodat gebruikers alleen de data zien die voor hen relevant zijn.
Als u bijvoorbeeld een kaart hebt die er ongeveer zo uitziet, met verkoopdata voor 48 Amerikaanse staten, kunt u een gebruikersberekening maken om alleen de delen van de kaart weer te geven die relevant zijn voor elke gebruiker, zoals data die relevant zijn voor een regionale manager versus data die relevant zijn voor een nationale manager. (Een nationale manager zou data voor het hele land moeten kunnen zien, terwijl regionale managers alleen data zouden moeten kunnen zien voor de regio die ze beheren.)
Wanneer de nationale manager is ingelogd, ziet deze de volgende visualisatie:
Wanneer de regiomanager voor het westen is ingelogd, ziet deze alleen de verkopen voor diens eigen regio:
Volg de onderstaande stappen om een gebruikersfunctie te maken die vergelijkbaar is met dit voorbeeld.
Voordat u begint
Om dit voorbeeld te kunnen volgen, moet u toegang hebben tot Tableau Server of Tableau Cloud. U moet ook een server- of sitebeheerder zijn.
Stap 1: de gebruikers en groepen maken
Aanmelden bij Tableau Server of Tableau Cloud.
Voeg de volgende gebruikers toe in Tableau Server of Tableau Cloud:
Sadie Pawthorne
Chuck Magee
Fred Suzuki
Roxanne Rodriguez
Zie Gebruikers toevoegen aan een site(Link wordt in een nieuw venster geopend) in de Tableau Server Help voor meer informatie.
Maak een nieuwe groep aan met de naam Nationale Managers.
Zie Een lokale groep maken(Link wordt in een nieuw venster geopend) in de Tableau Server Help voor meer informatie.
Voeg uzelf toe aan de groep Nationale Managers.
Zie Gebruikers toevoegen aan een groep(Link wordt in een nieuw venster geopend) in de Tableau Server Help voor meer informatie.
Stap 2: de visualisatie maken
Open Tableau Desktop en maak verbinding met de databron Voorbeeld: Superstore die bij Tableau wordt geleverd.
Klik in de linkerbenedenhoek van de werkruimte op het tabblad Databron.
Sleep op de pagina Databron vanuit het deelvenster Verbindingen aan de linkerkant het werkblad Personen naar het joingebied.
Klik op het pictogram 'Join' en selecteer Links.
Navigeer naar een nieuw werkblad.
Dubbelklik in het deelvenster Data, onder Dimensies, op State.
Er wordt een kaartweergave gemaakt.
Sleep in het deelvenster Data Verkoop naar Kleur op de kaart Markeringen.
Selecteer het veld Lengtegraad in de container Kolommen en houd Control (Command op Mac) op uw toetsenbord ingedrukt om het te kopiëren. Sleep de kopie naar de rechterkant van het origineel in de container Kolommen.
Klik op het tweede (onderste) tabblad Lengtegraad op de kaart Markeringen.
Sleep in het deelvenster Data Regio naar Kleur op de kaart Markeringen.
De kaartweergave aan de rechterkant wordt bijgewerkt met nieuwe kleuren.
Klik op de kaart Markeringen op de vervolgkeuzelijst Markeringstype en selecteer Kaart.
Klik op de kaart Markeringen op Kleur en pas onder Opaciteit de schuifregelaar aan naar 50%.
Klik op het eerste tabblad Lengtegraad op de kaart Markeringen.
Klik op de kaart Markeringen op Kleur > Kleuren bewerkenen selecteer vervolgens Grijs uit de vervolgkeuzelijst met kleurenpaletten.
De kaartweergave aan de linkerkant wordt bijgewerkt.
Klik op de container Kolommen met de rechtermuisknop op het veld Lengtegraad aan de rechterkant en selecteer Dubbele as.
De kaart ziet er als volgt uit:
Stap 3: de gebruikersberekening maken
Selecteer Analyse > Berekend veld maken.
Doe het volgende in de berekeningseditor die wordt geopend:
Geef het berekende veld de naam: Gebruikersfilter.
Voer de volgende formule in:
[Regional Manager] = USERNAME() OR ISMEMBEROF("National Managers")
Met deze berekening wordt gecontroleerd of een persoon is opgenomen in het veld Regio (Personen) of dat een persoon is opgenomen in de groep Nationale managers. Als dat zo is, wordt ‘true’ geretourneerd.
Klik op OK als u klaar bent.
De nieuwe gebruikersberekening wordt getoond onder Dimensies in het deelvenster Data. Net als uw andere velden kunt u deze in een of meer visualisaties gebruiken.
Stap 4: de gebruikersberekening aan de container Filters toevoegen
Sleep Gebruikersfilter in het deelvenster Data onder Dimensies naar de container Filters.
Selecteer in het dialoogvenster Filter dat wordt geopend True en klik vervolgens op OK.
Opmerking: als u niet bent aangemeld bij Tableau Server of Tableau Cloud, is de optie ‘True’ niet zichtbaar. Meld u in Tableau Desktop aan bij Tableau Server of Tableau Cloud om deze optie te selecteren. Zie Aanmelden bij Tableau Server of Tableau Cloud(Link wordt in een nieuw venster geopend) voor meer informatie.
Stap 5: de tabelberekening testen
Klik in Tableau Desktop in de rechterbenedenhoek van de werkruimte op de vervolgkeuzelijst Filteren als gebruiker en wijzig de gebruiker in Sadie Pawthorne.
De kaart wordt bijgewerkt en toont nu alleen het westelijke deel van de Verenigde Staten, omdat Sadie in het werkblad Personen aan dat deel is toegewezen.
Selecteer opnieuw de vervolgkeuzelijst Filter als gebruiker en wijzig de gebruiker in Roxanne Rodriguez.
De kaart wordt bijgewerkt en toont nu alleen de centrale regio van de Verenigde Staten, omdat Roxanne in het werkblad Personen aan de centrale regio is toegewezen.
Selecteer opnieuw de vervolgkeuzelijst Filter als gebruiker en wijzig de gebruiker in Chuck Magee.
De kaart wordt bijgewerkt en toont nu alleen het oostelijke deel van de Verenigde Staten, omdat Chuck in het werkblad Personen aan dat oostelijke deel is toegewezen.
Selecteer opnieuw de vervolgkeuzelijst Filter als gebruiker en wijzig de gebruiker in Fred Suzuki.
De kaart wordt bijgewerkt en toont nu alleen de zuidelijke regio van de Verenigde Staten, omdat Fred in het werkblad Personen aan die regio is toegewezen.
Selecteer nogmaals de vervolgkeuzelijst Filter als gebruiker en wijzig de gebruiker weer in uzelf.
De kaart wordt bijgewerkt en toont alle data, omdat u deel uitmaakt van de groep Nationale Managers op de server.
Dit gedrag blijft bestaan wanneer u de weergave publiceert naar Tableau Server of Tableau Cloud. Gebruikers die niet zijn opgenomen in de groep Nationale managers of in het werkblad Personen in de databron Voorbeeld Superstore staan, zien alleen een lege visualisatie.