Pq no segundo argumento da função HASONEFILTER foi usado a função MAX? Confesso que fiquei confuso com a utilização dessa função, principalmente pq o valores utilizados são texto.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pq no segundo argumento da função HASONEFILTER foi usado a função MAX? Confesso que fiquei confuso com a utilização dessa função, principalmente pq o valores utilizados são texto.
As aulas andam confusas e meio esquisitas mesmo (agora que entrou mais na área de programação dentro do BI), tive que pesquisar sobre isso e encontrei um instrutor com vídeo gratuito no YouTube que falou a respeito, se encontrar o link aqui edito o post. Segue o que entendi:
O IF do DAX é meio estranho para quem esta acostumado com outras linguagens, mas aqui basicamente você passa 3 parâmetros:
if(
HASONEFILTER(Tb_Vendedores[Nome]),
MAX(Tb_Vendedores[Nome]),
"Todos os Vendedores"
)Nesse caso cada linha é um parâmetro então:
1º Linha: Verifica se é True ou False, essa função retorna "true" se tiver um filtro.
2º Linha: Caso true mostra o que tiver aqui, nesse caso vai mostrar o resultado do Max() que vai buscar o "maior valor" dentro da tabela já filtrada... é esquisito pois ele esta buscando o "maior valor" em uma lista de string, é o tipo de coisa que se espera um erro acontecendo mas funciona aqui no Power BI. Ele busca o "maior nome" (?) e como esta filtrado para exibir apenas o nome de um dos vendedores, acaba retornando isso.
3º Linha: Caso retorne False ali na primeira linha (que é quando a função detecta que não foi utilizado filtros) ele mostra o valor que estiver aqui.
Por isso que essa medida se comporta dessa maneira, perceba que o Max() não esta dentro do HasOneFilter().