PT EN
Voltar ao site

DATTA BI — Drill-down e drill-up

Um gráfico por UF responde "onde está o problema?" — mas a pergunta seguinte é sempre "e dentro da UF?". Com o drill-down, o próprio visual responde: dê um duplo clique numa barra e ele desce um nível na hierarquia (UF → município → bairro), filtrando pela categoria clicada. O drill-up volta um nível com um clique. Tudo acontece dentro do card, sem sair do dashboard e sem reescrever a consulta à mão.

Como ativar

Declare a hierarquia do visual — do nível mais agregado para o mais detalhado — no campo drillX da configuração de canais do visual (bindingsJson):

json
{
  "x": { "column": "uf" },
  "y": { "column": "id", "agg": "COUNT" },
  "limit": 30,
  "drillX": ["uf", "municipio", "bairro"]
}

Como usar

  • Descer (drill-down): duplo clique numa barra — ou em outro elemento do visual. O visual re-renderiza filtrando pela categoria clicada e agrupando pelo próximo nível da hierarquia.
  • Subir (drill-up): uma trilha aparece no topo do card com a seta — clique para voltar um nível.
  • Voltar ao início: continue clicando até o nível raiz; o dashboard inteiro re-renderiza.

Exemplo prático — do estado ao bairro em três cliques

  1. Num visual "Beneficiários por UF" com a hierarquia ["uf", "municipio", "bairro"], dê um duplo clique na barra BA.
  2. O visual passa a mostrar os municípios da Bahia; um duplo clique em Salvador desce para os bairros.
  3. A trilha no topo do card mostra o caminho percorrido — clique em para voltar a Salvador e de novo para voltar à visão por UF.

Como o filtro chega até a consulta

Ao descer um nível, a plataforma reaproveita a configuração salva do visual e sobrescreve apenas o que mudou: o eixo passa a ser o próximo nível da hierarquia e a categoria clicada entra como filtro acumulado. A substituição acontece nas chaves do primeiro nível da configuração — o que você não mexeu continua valendo — e os filtros acumulados viram uma cláusula |> WHERE coluna = "valor" AND ... na consulta DATTAX gerada.

A plataforma também expõe um endpoint que renderiza um visual já com o drill aplicado, recebendo a categoria escolhida e o nível de destino — útil para integrações que montam a navegação por fora da tela. Veja a referência de API.

Limitações

  • O drill-down funciona em visuais montados a partir de um dataset e dos canais de eixos (datasetId + bindingsJson). Visuais com script DATTAX escrito à mão ignoram o ajuste e renderizam o script literalmente.
  • A profundidade máxima é o número de níveis declarados em drillX. Ao tentar descer além do último nível, o visual mostra o aviso "Nível mais detalhado da hierarquia".
  • Filtro cruzado (clique simples) e drill-down (duplo clique) são independentes e funcionam ao mesmo tempo: o filtro cruzado aplica o filtro em todos os outros visuais do dashboard; o drill-down muda apenas o visual clicado.

Exemplo pronto para explorar

O seed seed-demo-data.sh cria o dashboard mds-dash-drilldown com dois visuais já configurados:

  1. Beneficiários por UF — hierarquia ["uf", "municipio"] sobre o dataset ds-pessoas.
  2. Gasto por Programa — hierarquia ["programa", "tipo"] sobre o dataset ds-beneficios.