BASE DE DADOS DE CONHECIMENTO

Quando usar a função de atributo (ATTR)


Publicado: 27 May 2014
Data da última modificação: 30 Nov 2023

Pergunta

Como a função Atributo (ATTR) funciona e como ela difere de outras agregações, como MIN ou SUM.

Ambiente

Tableau Desktop

Resposta

ATTR() Indica valores múltiplos

A agregação ATTR() indica que há vários valores, mas somente um era o esperado.

Por exemplo, ao combinar uma ou mais fontes de dados, os campos da fonte de dados secundária são envolvidos automaticamente em ATTR(), pois os campos de uma fonte de dados secundária devem ser agregados. Se houver vários valores para uma dimensão secundária, o ATTR(Dimensão secundária) mostrará um asterisco na exibição, como explicado mais adiante, em Solução de problemas de combinação de dados: Asteriscos mostrados na planilha.

Se outra agregação foi usada no lugar de ATTR(), então o Tableau Desktop mostraria informações erradas. Como MIN(Dimensão secundária) mostraria o valor da primeira dimensão, e não haveria como dizer que há, na verdade, vários valores na fonte de dados secundária. O asterisco é uma indicação de que a relação ou a exibição precisa ser ajustada.
 

Como funciona

O ATTR() compara todos os valores de cada registro nos dados subjacentes que estão agrupados em uma parte na exibição (por exemplo, uma barra, um círculo, uma célula etc... ) e se os valores forem os mesmos, o ATTR() retornará esse valor. Caso contrário, ATTR() retornará um asterisco.

Em sua forma mais simples, a fórmula é a seguinte:
 
IF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension]) ELSE "*"  END

A função ATTR avalia todos os membros no campo e retorna um valor se: 1) houver apenas um único valor (MIN = MAX), ou 2) todos os membros forem idênticos (MIN = MAX), caso contrário retorna "*". O que pode ser interpretado como "há mais de um valor". 

É possível criar a função ATTR básica adicionando condições para quando a mesma deve ser acionada, por exemplo:
 
IF ISNULL ([dimension]) THEN NULL
ELSEIF MIN ([dimension]) = MAX ([dimension]) THEN MIN ([dimension])
ELSE "*" 
END

 
(Atualize os campos de dimensão [dimension] com suas próprias dimensões.)
 

Casos de uso do ATTR()

  • De acordo com o exemplo acima, o ATTR() pode indicar que há vários valores da fonte de dados secundária
     
  • As dimensões adicionadas à dica de ferramenta no cartão Marcas são envolvidas automaticamente no ATTR() porque as dimensões na dica de ferramenta devem ser agregadas. Se outra agregação, como o MIN(), for usada, a dica de ferramenta mostrará um valor único que pode levar o visualizador a achar que há apenas um valor. Sendo assim, o ATTR() exibirá um asterisco como uma indicação de que a exibição ou os valores adicionados à dica de ferramenta precisam ser ajustados. Consulte Asteriscos aparecem nas Dicas de ferramentas
     
  • Como outras agregações, o ATTR() pode ser usado para alterar um valor não agregado em um valor agregado para solucionar erros de agregação no cálculo. Consulte Mensagens de erro de agregação em um campo calculado

    Observe que, quando um cálculo que retorna dados numéricos contém ATTR(), se houver vários valores no ATTR(), o cálculo retornará NULL em vez de um asterisco.
     
  • ATTR() pode ser usado como uma precaução para evitar alteração de dados

Limitações

Este artigo resolveu o problema?