Para saber mais: USERNAME() e USERPRINCIPALNAME()

As funções DAX USERNAME() e USERPRINCIPALNAME() são utilizadas no Power BI e no Microsoft Excel Power Pivot para trabalhar com informações de segurança, filtragem, e personalização em modelos de dados. Vamos explorar essas funções em detalhes, destacando seuas diferenças e casos de uso.

1 - USERNAME()

A função USERNAME() retorna o nome do usuário do Windows do contexto de segurança atual. Esse nome de usuário é obtido a partir das credenciais com as quais o usuário se autenticou no sistema operacional. A função USERNAME() é frequentemente usada para criar medidas ou colunas calculadas que as ajustem com base no usuário atual. Ela é útil quando você deseja personalizar as vesualizações de dados ou restringir o acesso a certos dados com base nos usuários.

Exemplo de Uso do USERNAME():

Suponha que você está criando um painel no Power BI que mostra dados de vendas. Você deseja calcular uma medida que mostra as vendas totais apenas para o usuário atual. Nesse caso, você pode usar a função USERNAME() em conjunto com outras funções DAX para criar uma medida personalizada que realiza esse cálculo.

2 - USERPRINCIPALNAME():

A função USERPRINCIPALNAME() também é usada para trabalhar com segurança e personalização em modelo de dados, mas ela retorna o nome do usuário principal do usuário atual em um formato de endereço de email(por exemplo, user@domain.com). Geralmente, essa função é usada em cenários em que a identificação precisa ser feita com base no endereço de email do usuário, como quando se integra o Power BI com o Azure Active Directory ou outras fontes de autenticação.

Exemplo de uso do USERPRINCIPALNAME():

Imagine que você está desenvolvendo um painel no Power BI que exibe informações de recursos humanos. Você deseja criar uma medida que mostra a contagem de funcionários, mas deseja que essa medida seja filtrada automaticamente com base no usuário conectado. Utilizando a função USERPRINCIPALNAME(), você pode criar essa medida de maneira que cada usuário veja apenas a contagem de funcionários relevantes para eles.

Diferença e Casos de Uso:

  • Formato de Saída:
    • USERNAME(): Retorna o nome de usuário do Windows.
    • USERPRINCIPALNAME(): Retorna o nome de usuário principal (endereço de email) do usuário.
  • Autenticação:
    • USERNAME(): Baseia-se nas credenciais de autenticação do sistema operacional.
    • USERPRINCIPALNAME(): Pode ser vinculado a fonte de autenticação mais abrangentes, como Azure Acitive Directory.
  • Personalização e Filtragem:
    • Ambas as funções podem ser usadas para personalizar medidas e visualizaç~ies com base no usuário atual.
    • USERNAME(): é mais apropiado quando a personalização é baseada no nome de usuário do Windows.
    • USERPRINCIPALNAME(): é mais apropiado quando a personalização é baseada no endereço de email e pode ser mais útil em ambientes corporativos.

Em resumo, as funções USERPRINCIPALNAME() e USERNAME() são poderosas ferramentas para personalização e controle de segurança em modulos de dados no Power BI e no Excel Power Pivot. Ao escolher entre as duas, considere o contexto e as necessidades específicas do seu projeto, incluindo o tipo de autenticação e a forma como você deseja filtrar ou personalizar os dados para usuários.

Fonte: ALURA