Data da última modificação: 20 Jul 2023
Ambiente
Tableau DesktopResposta
Em geral, a fórmula para contar os membros da dimensão que atendem a uma condição é:{ FIXED [Dimension] : SUM(
IF <Condition>
THEN 1
ELSE 0
END
) }
IF <Condition>
THEN 1
ELSE 0
END
) }
Há vários casos que podem utilizar essa fórmula geral. A seguir estão alguns exemplos usando o conjunto de dados de amostra Superstore.
CLIQUE PARA EXPANDIR A SOLUÇÃO
Exemplo 1: usar um intervalo de valores com parâmetros
Neste exemplo, a exibição contém [Category (Categoria)] e [Segment (Segmento)] em Linhas, e o objetivo é contar o número de clientes com vendas entre dois valores de parâmetro para cada combinação de categoria e segmento.
- Selecione Análise > Criar campo calculado.
- Na caixa de diálogo Campo calculado que é aberta, faça o seguinte e clique em OK:
- Nomeie o campo calculado. Neste exemplo, o campo calculado chama-se "Nº de clientes com vendas específicas"
- No campo de fórmula, crie um campo calculado similar ao seguinte:
IF { INCLUDE [Customer Name] : SUM([Sales])} <= [Sales Lower Limit]
AND { INCLUDE [Customer Name] : SUM([Sales])} <= [Sales Upper Limit]
THEN 1
ELSE 0
END
- Arraste [Nº de clientes com vendas específicas] para Texto, no cartão Marcas
CLIQUE PARA EXPANDIR A SOLUÇÃO
Exemplo 2: usar um valor de texto
Neste exemplo, a exibição contém [Order ID (ID da compra)] e [Product Name (Nome do produto)] nas linhas, e o objetivo é contar as encomendas que contêm o produto "Porta-clipes".
- Crie um campo calculado denominado "Nº de encomendas com um Porta-clipes" com um cálculo semelhante ao seguinte:
{ FIXED [Order ID] : MAX(
IF [Product Name] = "Porta-clipes"
THEN 1
ELSE 0
END)} - Arraste [Nº de encomendas com um Porta-clipes] para Texto, no cartão Marcas
CLIQUE PARA EXPANDIR A SOLUÇÃO
Exemplo 3: criação de categorias
Neste exemplo, [State (Estado)] foi adicionado ao Texto, e o objetivo é categorizar os estados pelo número de cidades com um lucro negativo.
- Crie um campo calculado denominado "Nº de cidades não lucrativas" com um cálculo semelhante ao seguinte:
{ FIXED [State] : SUM(
IF { INCLUDE [City] : SUM([Profit]) } < 0
THEN 1
ELSE 0
END
) } - Crie um campo calculado denominado "Categorias com base no lucro da cidade" com um cálculo semelhante ao seguinte:
IF [# of Unprofitable Cities] = 0
THEN "Todas as cidades tem lucro positivo"
ELSEIF [# of Unprofitable Cities] = 1
THEN "Uma cidade tem lucro negativo"
ELSE "Várias cidades têm lucros negativos"
END - Arraste [Categorias com base no lucro da cidade] para a divisória Colunas
CLIQUE PARA EXPANDIR A SOLUÇÃO
Exemplo 4: usar funções de tabela
Neste exemplo, a exibição já está filtrada para mostrar os 10 principais clientes por vendas, categoria e segmento. O objetivo é destacar qualquer categoria/segmento que tenha mais de dois clientes com lucro negativo.
- Crie um campo calculado denominado "Três ou mais dos 10 principais clientes com lucro negativo" com um cálculo semelhante ao seguinte:
IF
WINDOW_SUM(
IF SUM([Profit]) < 0
AND [Sales Rank] <= 10
THEN 1
ELSE 0
END ) > 2
THEN "Três ou mais clientes com lucro negativo"
ELSE "Bom posicionamento"
END - Arraste [Três ou mais dos 10 principais clientes com lucro negativo] para Color, no cartão Marcas
- Clique com o botão direito do mouse em [Três ou mais dos 10 principais clientes com lucro negativo], em Color, e selecione Calcular usando > Nome do cliente.
Informações adicionais
Observações sobre o Exemplo 1:
- A expressão INCLUDE é necessária porque o campo [Customer Name (Nome do cliente)] não está na exibição
- SUM([Sales]) é agregada ao nível de detalhe da exibição (nesse exemplo, [Categry (Categoria)] e [Segment (Segmento)]), além de [Customer Name (Nome do cliente)], pois a expressão INCLUDE lista [Customer Name (Nome do cliente)]
- O cálculo ["Nº de clientes com vendas selecionadas] avaliará se as vendas por cliente estão abaixo do [Limite superior de vendas] e acima do [Limite inferior de vendas]. Se as vendas por cliente estiverem no intervalo especificado, esse cálculo retornará 1 e, quando adicionado, agirá como uma contagem de clientes
- Esse cálculo também pode ser gravado com uma COUNTD()
Observações sobre o Exemplo 2:
- A instrução IF lê cada registro no conjunto de dados completos para verificar se o [Product Name (Nome do produto)] é "Porta-clipes". Nesse caso, o cálculo retornará 1 para esse registro. Em seguida, a expressão FIXED retornará o máximo de valores 1 e 0 para cada registro com o mesmo valor de [Order ID (ID da compra)].
- Em Superstore, há apenas um registro para cada combinação exclusiva de [Product Name (Nome do produto)] e [Order ID (ID da compra)], o que significa que a função MAX() pode ser substituída por SUM () e retornar o mesmo resultado, pois somar um valor é o mesmo que aproveitá-lo ao máximo.
Observações sobre o Exemplo 3:
- A expressão INCLUDE retornará a soma do lucro por cidade e por estado, pois [State (Estado)] está na expressão FIXED. O cálculo retornará o número 1 para cada cidade não lucrativa, que é uma forma de contar as cidades.
Observações sobre o Exemplo 4:
- Como os filtros do cálculo de tabela não filtram os dados subjacentes, este exemplo deve usar cálculos de tabela em vez de expressões de nível de detalhe (LOD), tornando-se necessário adicionar uma condição ao cálculo para que haja classificação. No entanto, RANK () é uma função de tabela e não pode ser usada dentro de um cálculo de LOD.
- Os cálculos de tabela são afetados por cada dimensão não agregada à exibição. A forma como um cálculo de tabela é calculado pelas dimensões na exibição pode ser a causa deste cálculo não retornar resultados corretos. Para resolver esse problema, altere a opção Calcular usando. Para obter mais informações, consulte Transformar valores com cálculos de tabela.
Obrigado por fornecer seu feedback sobre a eficácia deste artigo.
Abrir novo processo
Continuar a pesquisa
Base de dados de conhecimento
Comunidade
Ajuda do produto
Treinamento e tutoriais
Links relacionados
Results 1-3 of 121
Trending Articles
Results 1-3 of 50