Funções de usuário
Este artigo apresenta as funções de usuário e seus usos no Tableau. Ele também demonstra como criar um cálculo de usuário com um exemplo.
Porque usar as funções de usuário
É possível usar as funções de usuário para criar filtros de usuário ou filtros de segurança a nível da linha que afetam as visualizações publicadas no Tableau Server ou no Tableau Cloud, para que apenas certas pessoas possam ver sua visualização.
Por exemplo, se você tiver uma visualização que mostra o desempenho de vendas de cada empregado do seu departamento publicada no Tableau Server ou no Tableau Cloud, pode querer apenas permitir que os empregados visualizem os números das suas próprias vendas ao acessarem essa visualização.
Nesse caso, é possível usar a função ISMEMBEROF para criar um campo que retorna true se o nome do usuário da pessoa que fez logon no servidor é o de um membro de um grupo especificado (no servidor), como o grupo "Gerentes", por exemplo. Então ao filtrar a visualização com desse campo calculado, apenas uma pessoa que seja parte daquele grupo pode visualizar os dados.
O cálculo nesse caso deve ficar mais ou menos assim:
ISMEMBEROF('Managers')
Observação: se os nomes de usuário ou de grupo tiverem determinados caracteres não alfanuméricos, é necessário usar a Codificação de URL HTML para os caracteres especiais ao usar as funções abaixo.
Alguns caracteres especiais são permitidos sem codificação de URL de HTML, como sublinhados, parênteses e pontos de exclamação. _ ( ) !
Muitos outros caracteres devem ser codificados.
Por exemplo, a função ISMEMBEROF("USERS+")
precisa ser escrita como ISMEMBEROF("USERS%2B")
, porque o '%2B’ é a codificação de URL HTML URL do símbolo '+'. Para obter informações sobre a codificação de URL HTML, consulte Referência da codificação de URL HTML(O link abre em nova janela) no site do desenvolvedor W3schools.
Para inserir fluxos de trabalho apenas no Tableau Cloud
Entre as funções do usuário, um subconjunto de funções de atributo do usuário pode ser usado com os Aplicativos conectados do Tableau(O link abre em nova janela). As funções de atributo do usuário (USERATTRIBUTE e USERATTRIBUTEINCLUDES) permitem que os atributos do usuário sejam capturados pelo Tableau em tempo de execução como parte do fluxo de trabalho de autenticação. Quando os atributos do usuário são transmitidos de JSON Web Tokens (JWTs), o conteúdo inserido criado com essas funções pode controlar e personalizar os dados exibidos aos usuários.
Observações:
Verifique a Ajuda Embedding API v3(O link abre em nova janela) para problemas conhecidos que podem afetar seu fluxo de trabalho.
As funções de atributo do usuário podem ser incluídas no conteúdo criado no Tableau Desktop ou Tableau Cloud.
Visualização do conteúdo com essas funções não está disponível durante a criação no Tableau Desktop ou Tableau Cloud. As funções de atributo do usuário retornarão valores NULL ou FALSE. Para garantir que as funções de atributo do usuário funcionem conforme o esperado, recomendamos que você revise o conteúdo após a incorporação em seu aplicativo externo. Para obter mais informações sobre como inserir fluxos de trabalho que incluem essas funções de usuário, consulte a ajuda de Embedding API v3(O link abre em nova janela).
Funções de atributo de usuário não podem ser usadas em fluxos de trabalho não inseridos ou com protocolos OIDC ou SAML.
Funções de usuário disponíveis no Tableau
FULLNAME( )
Sintaxe | FULLNAME( ) |
Saída | Cadeia de caracteres |
Definição | Retorna o nome completo do usuário atual. |
Exemplo | FULLNAME( ) Isso retorna o nome completo do usuário conectado, como "Hamlin Myrer". [Manager] = FULLNAME( ) Se o gerente "Hamlin Myrer" estiver conectado, este exemplo retornará TRUE se o campo Gerente da exibição contiver "Hamlin Myrer". |
Observações | Esta função verifica:
Filtros de usuário Quando usado como um filtro, esse campo calculado, como |
ISFULLNAME
Sintaxe | ISFULLNAME("User Full Name") |
Saída | Booleano |
Definição | Retorna |
Exemplo | ISFULLNAME("Hamlin Myrer") |
Observações | O argumento Esta função verifica:
|
ISMEMBEROF
Sintaxe | ISMEMBEROF("Group Name") |
Saída | Booleano ou nulo |
Definição | Retorna |
Exemplo | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
Observações | O argumento Se o usuário estiver conectado ao Tableau Cloud ou Tableau Server, a associação ao grupo é determinada pelos grupos do Tableau. A função retornará TRUE se a cadeia de caracteres fornecida for "Todos os usuários" A função Se for feita uma alteração na associação ao grupo de um usuário, a alteração nos dados baseados na associação ao grupo será refletida em uma pasta de trabalho ou exibição com uma nova sessão. A sessão existente refletirá dados obsoletos. |
ISUSERNAME
Sintaxe | ISUSERNAME("username") |
Saída | Booleano |
Definição | Retorna TRUE se o nome de usuário do usuário atual coincide com o nome de usuário especificado ou FALSE se não coincide. |
Exemplo | ISUSERNAME("hmyrer") |
Observações | O argumento Esta função verifica:
|
USERDOMAIN( )
Sintaxe | USERDOMAIN( ) |
Saída | Cadeia de caracteres |
Definição | Retorna o domínio de usuário do usuário atual. |
Observações | Esta função verifica:
|
USERNAME( )
Sintaxe | USERNAME( ) |
Saída | Cadeia de caracteres |
Definição | Retorna o nome de usuário do usuário atual. |
Exemplo | USERNAME( ) Isso retorna o nome do usuário do usuário conectado, como "hmyrer". [Manager] = USERNAME( ) Se o gerente "hmyrer" estiver conectado, este exemplo retornará TRUE se o campo Gerente da exibição contiver "hmyrer". |
Observações | Esta função verifica:
Filtros de usuário Quando usado como um filtro, esse campo calculado, como |
USERATRIBUTE
Observação: antes de usar esta função, consulte Para inserir fluxos de trabalho apenas no Tableau Cloud. Para obter mais informações, consulte Autenticação e Exibições inseridas(O link abre em nova janela) na Embedding API v3.
Sintaxe | USERATTRIBUTE('attribute_name') |
Saída | Cadeia de caracteres ou nulo |
Definição | Se Retorna nulo se |
Exemplo | Suponha que "Region" seja o atributo de usuário incluído no JWT para o Tableau (usando o aplicativo conectado já configurado pelo administrador de site). Como autor da pasta de trabalho, você pode configurar sua visualização para filtrar dados com base em uma região especificada. Nesse filtro, você pode fazer referência ao seguinte cálculo. [Region] = USERATTRIBUTE("Region") Quando User2, da região oeste, exibe a visualização incorporada, o Tableau mostra os dados apropriados apenas para a região oeste. |
Observações | Você pode usar a função USERATTRIBUTEINCLUDES se espera que <'attribute_name'> retorne vários valores. |
USERATTRIBUTEINCLUDES
Observação: antes de usar esta função, consulte Para inserir fluxos de trabalho apenas no Tableau Cloud. Para obter mais informações, consulte Autenticação e Exibições inseridas(O link abre em nova janela) na Embedding API v3.
Sintaxe | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
Saída | Booleano |
Definição | Retorna
Caso contrário, retorna |
Exemplo | Suponha que "Region" seja o atributo de usuário incluído no JWT para o Tableau (usando o aplicativo conectado já configurado pelo administrador de site). Como autor da pasta de trabalho, você pode configurar sua visualização para filtrar dados com base em uma região especificada. Nesse filtro, você pode fazer referência ao seguinte cálculo. USERATTRIBUTEINCLUDES('Region', [Region]) Se User2 da região Oeste acessar a visualização inserida, o Tableau verificará se o atributo de usuário Region corresponde a um dos valores do campo [Region]. Quando true, a visualização mostra os dados apropriados. Quando User3 da região Norte acessa a mesma visualização, ela não consegue ver nenhum dado porque não há correspondência com os valores do campo [Região]. |
Criar um cálculo de usuário
Cálculos de usuários funcionam diretamente com os usuários e grupos que você configurou no Tableau Server ou no Tableau Cloud. É possível criar cálculos de usuário para usar como filtros de modo que os usuários apenas visualizem os dados relevantes para eles.
Por exemplo, caso tenha uma visualização de mapa similar a seguinte, que mostra dados de vendas para os 48 estados, é possível criar um cálculo de usuário para mostrar apenas as partes do mapa que sejam relevantes para cada usuário, como dados relevantes para um gerente regional versus um gerente nacional. (Um gerente nacional deve ser capaz de visualizar os dados do país inteiro, enquanto um gerente regional deve ser capaz de visualizar apenas os dados da região que gerencia).
Quando o gerente nacional faz logon, ele se depara com a seguinte visualização:
Quando o gerente regional do oeste faz logon, ele visualiza apenas as vendas da sua região:
Para criar uma função de usuário que realiza algo similar a este exemplo, siga as etapas abaixo.
Antes de começar
Para seguir este exemplo, é necessário ter acesso ao Tableau Server ou ao Tableau Cloud. Também é necessário ser um administrador de servidor ou de site.
Etapa 1: criar os usuários e os grupos
Faça logon no Tableau Server ou Tableau Cloud.
No Tableau Server ou no Tableau Cloud, adicione os seguintes usuários:
Sadie Pawthorne
Chuck Magee
Fred Suzuki
Roxanne Rodriguez
Para obter mais informações, consulte Adicionar usuários a um site(O link abre em nova janela) na Ajuda do Tableau Server.
Crie um novo grupo chamado Gerentes nacionais.
Para obter mais informações, consulte Criar um grupo local(O link abre em nova janela) na Ajuda do Tableau Server.
Adicione você mesmo ao grupo dos Gerentes nacionais.
Para obter mais informações, consulte Adicionar usuários a um grupo(O link abre em nova janela) na Ajuda do Tableau Server.
Etapa 2: criar a visualização
Abra o Tableau Desktop e se conecte com a fonte de dados Sample-Superstore, incluída no Tableau.
No canto inferior esquerdo da área de trabalho, clique na guia Fonte de dados.
Na página Fonte de dados, do painel Conexões à esquerda, arraste a planilha Pessoas até o canvas.
Clique no ícone de união e selecione Esquerda.
Navegue até uma nova planilha.
No painel Dados, em Dimensões, clique duas vezes em Estado.
Uma visualização de mapa é criada.
No painel Dados, em Medidas, arraste Vendas até Cor no cartão Marcas.
Na divisória Colunas, selecione o campo Longitude e pressione Control (Command no Mac) no teclado para copiá-lo. Arraste a cópia até a direita do original na divisória Colunas.
No cartão Marcas, clique na segunda guia Longitude (inferior).
No painel Dados, arraste Região até Cor no cartão Marcas.
A exibição de mapa à direita é atualizada com as novas cores.
No cartão Marcas, clique no menu suspenso Tipo de marcas e selecione Mapa.
No cartão Marcas, clique em Cor e, em Opacidade, ajuste o controle deslizante para 50%.
No cartão Marcas, clique na primeira guia Longitude.
No cartão Marcas, clique em Cor > Editar cores e depois selecione Cinza na lista suspensa da paleta de cores.
A exibição de mapa à esquerda é atualizada.
Na divisória Colunas, clique com o botão direito do mouse no campo Longitude à direita e selecione Eixo duplo.
O mapa se parece com o seguinte:
Etapa 3: criar o cálculo de usuário
Selecione Análise > Criar campo calculado.
No editor de cálculo aberto, faça o seguinte:
Nomeie o campo calculado, filtro de usuário.
Insira a fórmula a seguir:
[Regional Manager] = USERNAME() OR ISMEMBEROF("National Managers")
Este cálculo verifica se uma pessoa está incluída no campo Region (People) ou se ela está incluída no grupo de National Managers. Se estiver, ele retorna true.
Ao terminar, clique em OK.
O novo cálculo de usuário aparece em Dimensões no painel Dados. Assim como os outros campos, é possível usá-lo em uma ou mais visualizações.
Etapa 4: adicionar o cálculo de usuário à divisória Filtros
No painel Dados, em Dimensões, arraste Filtro de usuário até a divisória Filtros.
Na caixa de diálogo Filtro aberta, selecione Verdadeiro e depois clique em OK.
Observação: para que a opção Verdadeiro esteja visível, faça logon no Tableau Server ou no Tableau Cloud. No Tableau Desktop, faça logon no Tableau Server ou no Tableau Cloud para selecioná-la. Consulte Faça logon no Tableau Server ou Tableau Cloud(O link abre em nova janela) para obter mais informações.
Etapa 5: testar o cálculo
No Tableau Desktop, no canto inferior direito da área de trabalho, clique no menu suspenso Filtrar como usuário e altere o usuário para Sadie Pawthorne.
O mapa é atualizado para mostrar apenas a região Oeste dos Estados Unidos porque a Sadie está atribuída a região Oeste na planilha Pessoas.
Selecione o menu suspenso Filtrar como usuário novamente e altere o usuário para Roxanne Rodriguez.
O mapa é atualizado para mostrar apenas a região Central dos Estados Unidos porque a Roxanne está atribuída a região Central na planilha Pessoas.
Selecione o menu suspenso Filtrar como usuário novamente e altere o usuário para Chuck Magee.
O mapa é atualizado para mostrar apenas a região Leste dos Estados Unidos porque o Chuck está atribuído a região Leste na planilha Pessoas.
Selecione o menu suspenso Filtrar como usuário novamente e altere o usuário para Fred Suzuki.
O mapa é atualizado para mostrar apenas a região Sul dos Estados Unidos porque o Fred está atribuída a região Sul na planilha Pessoas.
Selecione o menu suspenso Filtrar como usuário mais uma vez e altere o usuário de volta para você mesmo(a).
O mapa é atualizado e mostra todos os dados porque você faz parte do grupo de Gerentes nacionais no servidor.
Este comportamento persiste ao publicar a exibição no Tableau Server ou no Tableau Cloud. Usuários não listados no grupo de Gerentes nacionais ou na planilha Pessoas na fonte de dados Sample Superstore visualizam apenas uma visualização vazia.