BASE DE DADOS DE CONHECIMENTO

Exibir os membros de dimensão como uma lista em vez de linhas ou marcas individuais


Publicado: 03 Sep 2015
Data da última modificação: 20 Jul 2023

Pergunta

Como exibir todos os membros de uma dimensão como uma lista em vez de linhas ou marcas individuais. Por exemplo, concatenar subcategorias em uma lista separada por vírgulas para cada categoria. 

Ambiente

Tableau Desktop

Resposta

Opção 1: usar cálculos de tabela no Tableau Desktop

Etapa 1: criar os cálculos
  1. Crie um campo calculado com o nome "Criar a lista" usando um cálculo semelhante ao seguinte:
    IF FIRST()= 0
    THEN MIN([Sub-Category])
    ELSE PREVIOUS_VALUE("") + ", " + MIN([Sub-Category])
    END
  2. Crie um campo calculado com o nome "Rótulo da lista de subcategoria" com um cálculo semelhante ao seguinte:
    WINDOW_MAX([Create the list] )

    Edite os campos calculados na pasta de trabalho anexa para obter notas adicionais sobre como esses cálculos funcionam.
Etapa 2: criar a exibição de gráfico de barras
  1. Arraste [Category (Categoria)] e [Sub-Category (Subcategoria)] para a divisória Linhas
  2. Arraste [Sales (Vendas)] para a divisória Colunas.
  3. Arraste [Sub-Category (Subcategoria)] para Cor no cartão Marcas
    Observação: a [Sub-Category (Subcategoria)] deve ser incluída na exibição para que os cálculos funcionem corretamente. Caso a exibição final não deva incluir a dimensão listada na dica de ferramenta, consulte a planilha/guia "Opção avançada 1" para obter mais instruções na pasta de trabalho de exemplo em anexo: list dimenion values_v2018.1.twbx
  4. Arraste [Sub-Category List (Lista de subcategorias)] para Dica de ferramenta no cartão Marcas
  5. Clique com o botão direito do mouse em [Sub-Category List (Lista de subcategorias)] na Dica de ferramentas e selecione Computar uso > Subcategoria
Observação: se dimensões extras forem adicionadas à exibição, poderá ser necessário atualizar a configuração Calcular usando. Para obter uma explicação detalhada de como controlar o resultado de uma função de tabela com as configurações Computar uso, consulte Transformar valores com cálculos de tabela.

Opção 2: usar o Tableau Prep

  1. Adicione uma etapa
  2. Clique com o botão direito em [Sub-Category (Subcategoria)], em Limpeza 1, e selecione Duplicar campo
  3. Adicione Agregar
  4. Em Agregar 1, faça o seguinte:
    1. Adicione Categoria aos Campos agrupados
    2. Localize Subcategoria na lista de Campos adicionais, clique em GROUP e selecione Mínimo (Isso adicionará MIN(Subcategoria) aos campos agregados)
    3. Clique com o botão direito do mouse em MIN(Subcategoria) em Campos agregados e selecione Renomear. Renomeie com algo como "Subcategoria (primeira)"
    4. Adicione MAX(Subcategoria-1) a Campos agregados
    5. Renomeie MAX(Subcategoria-1) para algo como "Subcategoria (última)"
  5. Arraste Agregação 1 até Limpeza 1 e solte Agregação 1 na União
  6. Adicione uma etapa da União 1
  7. Em Limpeza 2, crie um campo calculado chamado "Subcategoria filtrada" com uma fórmula como
    IF [Sub-Category] != [Sub-Category (first)]
    AND [Sub-Category] != [Sub-Category (last)]
    THEN [Sub-Category]
    END
  8. Em Limpeza 2, duplique [Filtered Sub-Category (Subcategoria filtrada)]
  9. Em Limpeza 2, remova [Category-1 (Categoria- 1)] e [Sub-Category (Subcategoria)]
  10. Repita as etapas 3-9 para criar os campos necessários. Neste exemplo, a categoria com mais subcategorias tem 9 subcategorias, então o fluxo de preparação precisa de 5 etapas agregadas para criar 10 campos, de forma que nenhuma subcategoria fique de fora.
  11. Na última etapa Limpeza, crie um campo calculado chamado de algo como "Subcategorias agrupadas", com uma fórmula como:
    IF ISNULL([Sub-Category (first)])
    THEN ''
    ELSE [Sub-Category (first)] + ' '
    END
    
    + IF ISNULL([Sub-Category (second)])
    THEN ''
    ELSE [Sub-Category (second)] + ' '
    END
    
    + IF ISNULL([sub-category (third)])
    THEN ''
    ELSE [sub-category (third)] + ' '
    END
    
    + IF ISNULL([sub-category (third to last)])
    THEN ''
    ELSE [sub-category (third)] + ' '
    END
    
    + IF ISNULL([Sub-Category (second to last)])
    THEN ''
    ELSE [Sub-Category (second to last)] + ' '
    END
    
    + IF ISNULL([Sub-Category (last)])
    THEN ''
    ELSE [Sub-Category (last)] + ' '
    END

    O cálculo acima combina todos os campos de subcategorias criados. Se o campo subcategoria tiver valor NULL, então esse NULL deverá ser substituído por uma cadeia de caracteres vazia (também chamada de aspas duplas ''), porque combinar um valor e um NULL sempre resulta em NULL.
  12. Emita os dados
Este artigo resolveu o problema?