Användarfunktioner
I denna artikel introduceras användarfunktioner och hur de används i Tableau. Den visar även hur man skapar en användarberäkning med hjälp av ett exempel.
Varför använda användarfunktioner?
Användarfunktioner kan användas för att skapa användarfilter eller filter för säkerhet på radnivå som påverkar visualiseringar som publiceras på Tableau Server eller Tableau Cloud, så att endast vissa personer kan se din visualisering.
Om du till exempel har en visualisering som visar säljresultatet för varje anställd på din avdelning och den har publicerats på Tableau Server eller Tableau Cloud, kanske du bara vill tillåta anställda att se sina egna försäljningssiffror när de öppnar den visualiseringen.
Då kan du använda funktionen ISMEMBEROF för att skapa ett fält som returnerar true om användarnamnet för den person som är inloggad på servern är medlem i en angiven grupp (på servern), till exempel gruppen ”Chefer”. När du sedan filtrerar vyn med det här beräknade fältet kan bara en person som ingår i den gruppen se data.
Beräkningen kan i detta fall se ut ungefär så här:
ISMEMBEROF('Managers')
Obs! Om gruppen eller användarnamnen innehåller vissa icke-alfanumeriska tecken måste du använda HTML-URL-kodning för specialtecken när du använder funktionerna nedan.
Vissa specialtecken är tillåtna utan HTML-URL-kodning, till exempel understreck, parenteser och utropstecken. _ ( ) !
Många andra tecken måste kodas.
Funktionen ISMEMBEROF("USERS+")
måste till exempel skrivas som ISMEMBEROF("USERS%2B")
, eftersom ”%2B”är HTML-URL-kodningen för ”+”-symbolen. Information om HTML-URL-kodning finns i Kodningsreferens för HTML URL(Länken öppnas i ett nytt fönster) på W3schools webbplats för webbutvecklare.
Endast för att bädda in arbetsflöden i Tableau Cloud
Bland användarfunktionerna kan en delmängd funktioner för användarattribut användas med Tableau-anslutna program(Länken öppnas i ett nytt fönster). Funktionerna för användarattribut (USERATTRIBUTE och USERATTRIBUTEINCLUDES) gör att användarattribut kan samlas in av Tableau under körning som en del av autentiseringsarbetsflödet. När användarattribut skickas från JSON-webbtoken (JWT) kan inbäddat innehåll, som har skapats med dessa funktioner, styra och anpassa data som visas för användarna.
Obs!
Hjälpen för Embedding API v3(Länken öppnas i ett nytt fönster) innehåller kända problem som kan påverka arbetsflödet.
Användarattributsfunktioner kan inkluderas i innehåll som skapats i Tableau Desktop eller Tableau Cloud.
- Förhandsgranskning av innehållet med dessa funktioner är inte tillgängligt när innehåll skapas i Tableau Desktop eller Tableau Cloud. Funktioner för användarattribut returnerar värden NULL eller FALSE. För att garantera att funktioner för användarattribut fungerar som förväntat rekommenderas att du granskar innehållet efter inbäddning i ett externt program. Se hjälpavsnittet Embedding API v3(Länken öppnas i ett nytt fönster) för mer information om att bädda in arbetsflöden som inkluderar dessa användarfunktioner.
Användarfunktioner i Tableau
FULLNAME( )
Syntax | FULLNAME( ) |
Utdata | Sträng |
Definition | Returnerar det fullständiga namnet på den aktuella användaren. |
Exempel | FULLNAME( ) Detta returnerar det fullständiga namnet på den inloggade användaren, till exempel ”Hamlin Myrer”. [Manager] = FULLNAME( ) Om chefen ”Hamlin Myrer” är inloggad returnerar det här exemplet endast TRUE om fältet Manager i vyn innehåller ”Hamlin Myrer”. |
Obs! | Den här funktionen kontrollerar följande:
Användarfilter När ett beräknat fält som |
ISFULLNAME
Syntax | ISFULLNAME("User Full Name") |
Utdata | Booleskt |
Definition | Returnerar |
Exempel | ISFULLNAME("Hamlin Myrer") |
Obs! | Argumentet Den här funktionen kontrollerar följande:
|
ISMEMBEROF
Syntax | ISMEMBEROF("Group Name") |
Utdata | Booleskt värde eller null |
Definition | Returnerar |
Exempel | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
Obs! | Argumentet Om användaren är inloggad på Tableau Cloud eller Tableau Server fastställs gruppmedlemskapet av Tableaus grupper. Funktionen returnerar TRUE om den givna strängen är ”All Users”. Funktionen Om en ändring görs i en användares gruppmedlemskap återspeglas ändringen i data som är baserade på gruppmedlemskapet i en arbetsbok eller vy med en ny session. Den befintliga sessionen kommer att återspegla inaktuella data. |
ISUSERNAME
Syntax | ISUSERNAME("username") |
Utdata | Booleskt |
Definition | Returnerar TRUE om den aktuella användarens användarnamn stämmer överens med det angivna användarnamnet eller FALSE om det inte stämmer överens. |
Exempel | ISUSERNAME("hmyrer") |
Obs! | Argumentet Den här funktionen kontrollerar följande:
|
USERDOMAIN( )
Syntax | USERDOMAIN( ) |
Utdata | Sträng |
Definition | Returnerar den aktuella användarens domän. |
Obs! | Den här funktionen kontrollerar följande:
|
USERNAME( )
Syntax | USERNAME( ) |
Utdata | Sträng |
Definition | Returnerar den aktuella användarens användarnamn. |
Exempel | USERNAME( ) Detta returnerar användarnamnet på den inloggade användaren, till exempel ”hmyrer”. [Manager] = USERNAME( ) Om chefen ”hmyrer” är inloggad returnerar det här exemplet endast TRUE om fältet Manager i vyn innehåller ”hmyrer”. |
Obs! | Den här funktionen kontrollerar följande:
Användarfilter När ett beräknat fält som |
USERATTRIBUTE
Obs! Endast för att bädda in arbetsflöden i Tableau Cloud. Mer information finns i Autentisering och inbäddade vyer(Länken öppnas i ett nytt fönster).
Syntax | USERATTRIBUTE('attribute_name') |
Utdata | Sträng eller null |
Definition | Om Returnerar null om |
Exempel | Anta att ”Region” är användarattributet som ingår i JWT och skickas till Tableau (med det anslutna programmet som redan har konfigurerats av platsadministratören). Som arbetsboksutvecklare kan en visualisering konfigureras för att filtrera data baserat på en angiven region. I det filtret kan du referera till följande beräkning. [Region] = USERATTRIBUTE("Region") När Användare2 från region Väst ser den inbäddade visualiseringen visar Tableau endast lämpliga data för region Väst. |
Obs! | Du kan använda funktionen USERATTRIBUTEINCLUDES om du förväntar dig att <'attribute_name'> returnerar flera värden. |
USERATTRIBUTEINCLUDES
Obs! Endast för att bädda in arbetsflöden i Tableau Cloud. Mer information finns i Autentisering och inbäddade vyer(Länken öppnas i ett nytt fönster).
Syntax | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
Utdata | Booleskt |
Definition | Returnerar
Annars returneras |
Exempel | Anta att ”Region” är användarattributet som ingår i JWT och skickas till Tableau (med det anslutna programmet som redan har konfigurerats av platsadministratören). Som arbetsboksutvecklare kan en visualisering konfigureras för att filtrera data baserat på en angiven region. I det filtret kan du referera till följande beräkning. USERATTRIBUTEINCLUDES('Region', [Region]) Om Användare2 från region Väst har visar den inbäddade visualiseringen kontrollerar Tableau om användarattributet Region matchar ett av [Region]-fältvärdena. När det är sant visar visualiseringen lämpliga data. När Användare3 från region Norr visar samma visualisering kan hon inte se några data då det inte finns någon matchning med [Region]-fältvärdena. |
Skapa en användarberäkning
Användarberäkningar fungerar direkt med de användare och grupper som har konfigurerats Tableau Server eller Tableau Cloud. Det går att skapa användarberäkningar och använda dem som filter så att användarna bara ser de data som är relevanta för dem.
Om du till exempel har en kartvisualisering som liknar den nedan – som visar försäljningsdata för 48 amerikanska delstater – kan du skapa en användarberäkning så att endast delar av kartan som är relevanta för varje användare visas, till exempel data som är relevanta för en regionchef kontra en landschef. (En landschef bör kunna se data för hela landet, medan en regionchef endast bör kunna se data för den region denne är chef över).
När den landschefen är inloggad ser denne följande visualisering:
När chefen för den västra regionen är inloggad ser denne endast försäljning för sin region:
Följ stegen nedan för att skapa en användarfunktion som fungerar på samma sätt som det här exemplet.
Innan du börjar
För att följa detta exempel måste du ha tillgång till Tableau Server eller CloudTableau Cloud. Du måste även vara server- eller platsadministratör.
Steg 1: Skapa användare och grupper
Logga in på Tableau Server eller Tableau Cloud.
Lägg till följande användare i Tableau Server eller Tableau Cloud:
Sadie Pawthorne
Chuck Magee
Fred Suzuki
Roxanne Rodriguez
Mer information finns i Lägg till användare till en plats(Länken öppnas i ett nytt fönster) i Tableau Server-hjälpen.
Skapa en ny grupp som heter Landschefer.
Mer information finns i Skapa en lokal grupp(Länken öppnas i ett nytt fönster) i Tableau Server-hjälpen.
Lägg till dig själv i gruppen Landschefer.
Mer information finns i Lägg a till användare i en grupp(Länken öppnas i ett nytt fönster) i Tableau Server-hjälpen.
Steg 2: Skapa visualiseringen
Öppna Tableau Desktop och anslut till datakällan Sample-Superstore, som medföljer Tableau.
Klicka på fliken Datakälla i arbetsytans nedre vänstra hörn.
Från rutan Anslutningar, till vänster på sidan Datakälla, drar du bladet Personer till arbetsytan.
Klicka på kopplingsikonen och välj vänster.
Navigera till ett nytt arbetsblad.
I rutan Data, under Dimensioner, dubbelklickar du på Län.
En kartvy skapas.
Från rutan Data, under Mätvärden, drar du Försäljning till Färg på kortet Markeringar.
På hyllan Kolumner markerar du fältet Longitud och håller ned Ctrl-tangenten (Kommando på Mac) på tangentbordet för att kopiera det. Dra kopian till höger om originalet på hyllan Kolumner.
På kortet Markeringar klickar du på den andra Longitud-fliken (nederst).
Från rutan Data drar du Region till Färg på kortet Markeringar.
Kartvyn till höger uppdateras med nya färger.
Klicka på listrutan Markeringstyp på kortet Markeringar och välj Karta.
Klicka på Färg på kortet Markeringar och justera reglaget till 50 % under Opacitet.
Klicka på den första Longitud-fliken på kortet Markeringar.
Klicka på Färg > Redigera färgerpå kortet Markeringar och välj Grå i listrutan för färgpaletten.
Kartvyn till vänster uppdateras.
Högerklicka på fältet Longitud till höger på hyllan Kolumner och välj Dubbel axel.
Kartan ser ut så här:
Steg 3: Skapa användarberäkningen
Välj Analys > Skapa beräknat fält.
Gör följande i den beräkningsredigerare som visas:
Ge det beräknade fältet namnet Användarfilter.
Ange följande formel:
[Regional Manager] = USERNAME() OR ISMEMBEROF("National Managers")
Denna beräkning kontrollerar om en person inkluderas i fältet Region (personer), eller om en person inkluderas i gruppen Landschefer. Om så är fallet returneras det true.
Klicka på OK när du är klar.
Den nya användarberäkningen visas under Dimensioner i rutan Data. Precis som med de andra fälten kan du använda detta i en eller flera visualiseringar.
Steg 4: Lägg till användarberäkningen på hyllan Filter
I rutan Data, under Dimensioner, drar du Användarfilter till hyllan Filter.
I filterdialogrutan som öppnas väljer du True och klickar sedan på OK.
Obs! Om du inte är inloggad på Tableau Server eller Tableau Cloud är alternativet True inte synligt. Logga in på Tableau Server eller Tableau Cloud i Tableau Desktop för att välja det. Mer information finns i Logga in på Tableau Server eller Tableau Cloud(Länken öppnas i ett nytt fönster).
Steg 5: Testa beräkningen
I arbetsytans nedre högra hörn i Tableau Desktop klickar du på listrutan Filtrera som användare och ändrar användare till Sadie Pawthorne.
Kartan uppdateras så att den endast visar den västra regionen i USA eftersom Sadie är tilldelad till den västra regionen i bladet Personer.
Välj listrutan Filtrera som användare igen och ändra användare till Roxanne Rodriguez.
Kartan uppdateras så att den endast visar den centrala regionen i USA eftersom Roxanne är tilldelad till den centrala regionen i bladet Personer.
Välj listrutan Filtrera som användare igen och ändra användare till Chuck Magee.
Kartan uppdateras så att den endast visar den östra regionen i USA eftersom Chuck är tilldelad till den östra regionen i bladet Personer.
Välj listrutan Filtrera som användare igen och ändra användare till Fred Suzuki.
Kartan uppdateras så att den endast visar den södra regionen i USA eftersom Fred är tilldelad till den södra regionen i bladet Personer.
Välj listrutan Filtrera som användare en gång till och ändra användare tillbaka till dig själv.
Kartan uppdateras så att den visar alla data eftersom du ingår i gruppen Landschefer på servern.
Detta beteende kvarstår när du publicerar vyn till Tableau Server eller Tableau Cloud. Användare som inte finns med i gruppen landschefer eller i bladet Personer i datakällan Sample Superstore ser endast en tom visualisering.