BASE DE DADOS DE CONHECIMENTO

Totais gerais e subtotais exibem números inesperados com cálculos de tabela


Publicado: 03 Jul 2013
Data da última modificação: 09 Apr 2019

Problemas

Ao usar os cálculos de tabela, os totais gerais e os subtotais podem mostrar resultados inesperados. A opção para alterar o tipo de agregação do total geral para outra opção além de Automático fica esmaecida.

Por exemplo, a exibição mostra a diferença em vendas regionais médias entre trimestres. O total geral automático está incorreto: mostra a diferença entre as vendas médias de todo o trimestre, em vez da soma de diferenças entre as vendas regionais médias.

Ambiente

  • Tableau Desktop
  • Cálculos de tabela

Resolução

Opção 1: reescrever o cálculo usando funções de LOD

Em alguns casos, pode ser possível reescrever o cálculo usando funções de nível de detalhe (LOD) no lugar de funções de tabela. Consulte Criar expressões de nível de detalhe no Tableau para obter mais informações.

Depois que o cálculo for reescrito, o total geral poderá ser alterado usando a configuração Uso total. Consulte Configurar agregação total para obter instruções.
 

Opção 2: acrescentar detalhe adicional à exibição e ajustar cálculos de tabela

Os totais são linhas especiais que ignoram o detalhe na divisória Linhas. Sendo assim, para forçar que o cálculo de tabela seja computado no nível de detalhe correto no total geral, será necessário acrescentar dimensões adicionar à exibição. Depois disso, todas as medidas na exibição terão de ser modificadas para contabilizar as dimensões adicionais.

As instruções a seguir começam na planilha "Exemplo 1: exibição original" na pasta de trabalho à direita, na seção Anexos deste artigo. As instruções de como criar a exibição original estão inseridas na pasta de trabalho.
  1. Em cada dimensão da divisória Linhas, clique com o botão direito do mouse na dimensão no painel de dados e selecione Duplicar. Neste exemplo, a única [Region (Região)] está na divisória Linhas.
  2. Arraste [Region (copy) (Região (cópia))] para Detalhe no cartão Marcas
  3. Crie um campo calculado:
    1. Selecione Análise > Criar campo calculado 
    2. Na caixa de diálogo Criar campo calculado, faça o seguinte e clique em OK:
    3. Dê um nome ao campo. No exemplo, esse campo é chamado "Nova diferença entre vendas médias"
    4. Insira a seguinte fórmula: 
      IF FIRST() = 0  
      THEN WINDOW_SUM([Difference Between Average Sales])  
      END
  4. Substitua [Difference Between Average Sales (Diferença entre vendas médias)] por [New Difference Between Average Sales (Nova diferença entre vendas médias)] em Texto, no cartão Marcas
  5. Clique com o botão direito do mouse em [New Difference Between Average Sales (Nova diferença entre vendas médias)] na exibição e selecione Editar cálculo de tabela...
  6. Na caixa de diálogo Cálculo de tabela, faça o seguinte e feche a caixa de diálogo:
    1. No menu suspenso, em Cálculos aninhados, selecione Diferença entre vendas médias
    2. Selecione Tabela (horizontalmente). Observação: esta é a configuração Calcular usando da Diferença entre vendas médias na exibição original
    3. No menu suspenso, em Cálculos aninhados, selecione Nova diferença entre vendas médias
    4. Selecione Dimensões específicas
    5. Verifique somente os campos duplicados. Neste exemplo é Região (cópia)
  7. Navegue até Análise > Empilhar marcas > Desativado

Causa

Os totais definidos para Uso total > Automático vão calcular a medida em todo o conjunto de dados (como se a tabela na exibição não existisse). Os totais gerais automáticos geralmente serão corrigidos se o cálculo de tabela usar somente agregações de adição (por exemplo SUM() etc.. ). Por exemplo, a soma de cada venda individual será a mesma que a soma das vendas por cliente.

Se o cálculo de tabela se referir a qualquer campo que usa uma agregação não aditiva (exemplos: divisão, multiplicação, MIN(), AVG() etc.), o total geral não será igual à soma dos números na exibição. Por exemplo, a média de cada venda individual (ou seja, a média geral) é diferente da soma da média de vendas por cada cliente.

Somente totais Automáticos estão disponíveis no momento para cálculos de tabela. Para apoiar a inclusão deste aprimoramento em uma versão futura do produto, vote na seguinte Ideia da comunidade: Totais e subtotais em marcas exibidas, em vez de cálculos separados (ou seja, fazer com que os subtotais funcionem como o Excel)

Informações adicionais

Se o problema estiver ocorrendo em um campo que não usa uma função de tabela, pode ser possível alterar a configuração Total usando. Consulte Configurar agregação total para obter instruções.


Observações sobre a Opção 2

  • A pasta de trabalho em anexo contém exemplos adicionais que abrangem outros casos de uso
  • A função WINDOW_SUM() imita Total usando > Soma. Para outras agregações de total geral, use a função de tabela correspondente (WINDOW_AVG() para totais médios, WINDOW_MIN() para totais mínimos, TOTAL() para totais automáticos etc...)
  • Este exemplo usa Totais gerais de coluna, que aparecem como uma linha na exibição. Para exibições que usam Totais gerais de linha, siga as mesmas instruções substituindo "linha" por "coluna"
  • Se a exibição original contiver várias medidas, todas as medidas terão de ser convertidas para um cálculo como o da etapa 3, mesmo se elas não forem cálculos de tabela. Consulte Exemplo 2 na pasta de trabalho em anexo para obter mais detalhes.
  • Neste exemplo, o cálculo de tabela foi particionado por todas as dimensões na divisória Linhas (ou seja, [Region (Região)] foi desmarcado na caixa de diálogo Cálculo de tabela). Se o cálculo da tabela original abrange uma dimensão duplicada, será necessário na etapa 6-2 verificar também o campo duplicado. Consulte Exemplo 4 na pasta de trabalho em anexo para obter mais detalhes.
  • Na Etapa 6, são definidas as configurações Calcular usando separadas para a função de tabela em [Difference Between Average Sales (Diferença entre vendas médias)], que é LOOKUP(), e as funções de tabela em [New Difference Between Average Sales (Nova diferença entre vendas médias)], que são FIRST() e WINDOW_SUM(). Para obter mais informações sobre como definir configurações Computar usando para cálculos de tabela aninhados, consulte Personalizar cálculos de tabela
Este artigo resolveu o problema?