Substituir NULO ou dados ausentes por zeros ou dados existentes
Publicado: 27 Mar 2017 Data da última modificação: 09 Feb 2024
Pergunta
Como substituir os valores NULL ou ausentes por zeros.
Por exemplo, todos os projetos devem ter três etapas na exibição e, se não houver dados de [Amount (Quantia)] para uma etapa, a exibição deverá mostrar zero.
Ambiente
Tableau Desktop
Resposta
CLIQUE PARA EXPANDIR A OPÇÃO 1
Opção 1: usar ZN
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 é denominado "Substituir células vazias por zero (opção 1)"
No campo de fórmula, crie um cálculo similar ao seguinte:
ZN(SUM([Amount]))
A função ZN() substituirá qualquer valor NULL por zero
Crie um campo calculado com o nome "Substituir células vazias com o último valor (opt1)" usando um cálculo semelhante ao seguinte:
IFNULL( SUM([Amount]), PREVIOUS_VALUE(0) )
IFNULL(..., PREVIOUS_VALUE(0)) substituirá os valores NULL com o último valor deste cálculo, o que cria um último valor em execução.
Substitua [Amount (Quantia)] em Texto, no cartão Marcas por [Replace empty cells with zero (opt 1) (Substituir células vazias por zero (opt 1))] ou [Replace empty cells with last value (opt 1) (Substituir células vazias pelo último valor (opt 1))], dependendo do resultado esperado
(Opcional) Personalize os valores na exibição ao clicar com o botão direito do mouse no valor e formatar como desejar.
Para visualizar as etapas mostradas no vídeo abaixo, expanda a seção acima. Observação: o vídeo não tem som.
CLIQUE PARA EXPANDIR A OPÇÃO 2
Opção 2: substituir o filtro por um parâmetro
Esta opção substituirá os dados e os NULL que foram filtrados da exibição com zeros.
Clique na seta para baixo ao lado de Dimensões, no painel Dados, e selecione Criar parâmetro…
Na caixa de diálogo Criar parâmetro, faça o seguinte e clique em OK:
Nomeie o parâmetro. Neste exemplo, isso será denominado "Parâmetro de data"
Para Tipo de dados, selecione Data.
Para Valores permitidos, selecione Todos.
Clique com o botão direito do mouse em [Parâmetro de data] no painel Dados e selecione Mostrar controle de parâmetro.
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 é denominado "Quantia filtrada ou zero (opt 2)"
No campo de fórmula, crie um cálculo similar ao seguinte:
ZN( IF [Date] >= [Date Parameter]
THEN [Amount]
END )
A função ZN() substituirá qualquer valor NULL por zero. A instrução IF substitui o filtro de [Date (Data)].
Crie um campo calculado com um nome como "Quantia filtrada ou último valor (opt 2)" e um cálculo similar ao seguinte:
IFNULL( SUM( IF [Date] >= [Date Parameter] THEN [Amount] END ), PREVIOUS_VALUE(0) )
IFNULL(..., PREVIOUS_VALUE(0)) substituirá os valores NULL com o último valor deste cálculo, o que cria um último valor em execução.
Substitua [Amount (Quantia)] em Texto, no cartão Marcas por [Filtered Amount or zero (opt 2) (Quantia filtrada ou zero (opt 2))] ou [Filtered Amount or last value (opt 2) (Quantia filtrada ou último valor (opt 2))], dependendo do resultado esperado
Remova [Date (Data]) da divisória Filtros.
(Opcional) Personalize os valores na exibição ao clicar com o botão direito do mouse no valor e formatar como desejar.
Para visualizar as etapas mostradas no vídeo abaixo, expanda a seção acima. Observação: o vídeo não tem som.
CLIQUE PARA EXPANDIR A OPÇÃO 3
Opção 3: reformular a exibição e usar ZN(LOOKUP())
Esta opção substituirá os dados NULL, ausentes ou filtrados por zeros.
Mova a [Stage (Etapa)] da divisória Linhas para Colunas.
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 é denominado "Substituir células vazias por zero (opção 3)"
No campo de fórmula, crie um cálculo similar ao seguinte:
ZN(LOOKUP(SUM([Amount]),0))
O cálculo LOOKUP() procurará o valor da célula atual (especificada pelo segundo argumento de LOOKUP(), que é um 0) na exibição, se esse valor for NULL, a função ZN() retornará zero.
Observe que, para essa opção funcionar, deve haver uma célula em branco na exibição, pois esse cálculo não adicionará linhas/colunas, apenas gravará em células em branco. Por exemplo, se a [Stage (Etapa)] estiver em Linhas, "Hibagon" terá apenas uma linha de etapa. Quando [Stage (Etapa)] for movido para Colunas, "Hibagon" terá três colunas de etapa, pois pelo menos um outro projeto na exibição terá cada etapa.
Crie um campo calculado com o nome "Substituir células vazias com o último valor (opt 3)" usando um cálculo semelhante ao seguinte:
Substitua [Amount (Quantia)] em Texto, no cartão Marcas por [Replace empty cells with zero (opt 3) (Substituir células vazias por zero (opt 3))] ou [Replace empty cells with last value (opt 3) (Substituir células vazias pelo último valor (opt 3))], com base no resultado esperado
(Opcional) Personalize os valores na exibição ao clicar com o botão direito do mouse no valor e formatar como desejar.
Para visualizar as etapas mostradas no vídeo abaixo, expanda a seção acima. Observação: o vídeo não tem som.
CLIQUE PARA EXPANDIR A OPÇÃO 4
Opção 4: unir os dados originais a uma lista de valores principais
Essa opção mostrará zeros quando os dados forem NULL, ausentes ou filtrados da exibição.
Crie um arquivo de texto que contenha uma lista principal de todas as etapas.
Crie uma união entre bancos de dados para os dados originais e a lista principal. Use cálculos de união para unir as tabelas em 1 = 1
Os cálculos de união são um novo recurso adicionado no Tableau Desktop 10.2. Para versões anteriores, será necessário criar campos de vinculação de teste nas fontes de dados completos.
Para obter mais informações sobre como criar uniões entre bancos de dados ou associar cálculos, consulte Unir dados.
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 é denominado "Nova quantia com zeros"
No campo de fórmula, crie um cálculo similar ao seguinte:
ZN( IF [Stage] = [Stage (Stage Master List)]
THEN [Amount]
END )
A união cria dados duplicados. Dessa forma, para removê-los, queremos exibir apenas os dados onde a dimensão é NULL ou o valor não encontrado para o mesmo valor na lista principal
A função ZN() substituirá qualquer valor NULL por zero.
Crie um campo calculado com o nome "Nova quantia com último valor" usando um cálculo semelhante ao seguinte:
IFNULL( SUM( IF [Stage] = [Stage (Stage Master List)] THEN [Amount] END), PREVIOUS_VALUE(0) )
IFNULL(..., PREVIOUS_VALUE(0)) substituirá os valores NULL com o último valor deste cálculo, o que cria um último valor em execução.
Use [New Amount with zeros (Nova quantia com zeros)] ou [New Amount with last value (Nova quantia com último valor)], com base no resultado final esperado
(Opcional) Personalize os valores na exibição ao clicar com o botão direito do mouse no valor e formatar como desejar.
Para visualizar as etapas mostradas no vídeo abaixo, expanda a seção acima. Observação: o vídeo não tem som.
CLIQUE PARA EXPANDIR A OPÇÃO 5
Opção 5: adicionar os dados ausentes ao conjunto de dados subjacentes
Edite a fonte de dados original para adicionar os dados ausentes.
Dependendo do caso de uso, a melhor solução pode ser adicionar os registros de teste com medidas NULL e seguir as instruções da opção 1 acima.
Informações adicionais
A pasta de trabalho de exemplo em anexo usa dados de amostra Superstore para demonstrar as opções acima. Todas as instruções começam na planilha "Original".
Há três cenários principais que podem criar espaços em branco que precisariam ser substituídos por zeros:
Dados NULL: isso ocorre quando o conjunto de dados completos contém registros, mas os valores da medida são NULL ou em branco. Na pasta de trabalho do Excel anexada, "NULL and Missing Examples.xlsx", o projeto "Brosnya" é NULL para "Em andamento" e "Concluído".
Dados ausentes: isso ocorre quando não há registros no conjunto de dados completos. Nos dados de exemplo, o projeto "Hibagon" está ausente para "Em andamento" e "Concluído"
Filtrar dados: na pasta de trabalho anexada, há um filtro de [Date (Data)] que também filtra a opção "Iniciado" e "Em andamento" para o projeto "Dalmatian". O projeto "Dalmatian" tem registros na fonte de dados completos para cada etapa.
Todas as opções substituirão os dados NULL por zeros. As opções 3, 4 e 5 substituirão os dados em branco por zeros. As opções 2, 3 e 4 substituem os dados filtrados por zeros.
Talvez seja possível mostrar linhas/colunas adicionais na exibição com a opção Análise > Layout de tabela > Mostrar linhas/colunas vazias. No entanto, nenhum dado pode ser gravado nessas linhas.
Se a tabela de referência cruzada tiver apenas uma medida, todos os valores NULL poderão ser substituídos nas opções de formatação. Consule Formatar valores nulos
Obrigado por fornecer seu feedback sobre a eficácia deste artigo.