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
Crie a hierarquia no Modelo do dashboard, aba Hierarquias — do nível mais agregado para o mais detalhado, por exemplo uf → municipio → bairro — e use no Eixo do visual (a Categoria, na pizza, rosca, treemap e funil) uma das colunas dela. O visual desce a partir dessa coluna: com o eixo em municipio, o duplo clique vai para bairro. Nada muda no visual; a hierarquia vale para todo visual com drill-down sobre aquele dataset (barras, linha, área, cascata, pizza, rosca, treemap e funil).
Para um visual com uma sequência própria, declare-a no campo drillX da configuração de canais do visual (bindingsJson) — ela tem precedência sobre a hierarquia do Modelo:
{
"x": { "column": "uf" },
"y": { "column": "id", "agg": "COUNT" },
"limit": 30,
"drillX": ["uf", "municipio", "bairro"]
}Como usar
- Descer (drill-down): duplo clique numa barra (vertical, horizontal ou empilhada), numa coluna do gráfico de linha ou de área, num degrau da cascata, numa fatia da pizza ou da rosca, num bloco do treemap ou numa etapa do funil. 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. - Clique simples no mesmo visual: num visual com hierarquia, o clique simples (filtro cruzado) espera um quarto de segundo antes de filtrar — é o tempo de saber se ele é o primeiro clique de um duplo clique, que só desce o nível e não mexe no filtro do painel. Num visual sem hierarquia, o clique filtra na hora.
Exemplo prático — do estado ao bairro em três cliques
- Num visual "Beneficiários por UF" com a hierarquia
["uf", "municipio", "bairro"], dê um duplo clique na barra BA. - O visual passa a mostrar os municípios da Bahia; um duplo clique em Salvador desce para os bairros.
- 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 condição |> FILTER (coluna = "valor") AND ... na consulta DATTAX gerada, antes do agrupamento. Cada passo do caminho entra com a coluna do nível em que foi clicado: descer por BA e depois por Salvador vira (uf = "BA") AND (municipio = "Salvador"). Os filtros salvos do dashboard e o filtro cruzado ativo entram na mesma condição: o nível detalhado respeita o que o resto do painel mostra.
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.
Tabela de datas: hierarquia automática
Num dataset marcado como tabela de datas no Modelo, o visual de barras, linha ou área cujo eixo é a coluna de data não precisa de hierarquia declarada: ele abre por ano e desce para trimestre, mês e dia. Os níveis são calculados na consulta (YEAR, QUARTER, MONTH, DAY do DATTAX). Veja Relacionamentos.
Limitações
- O drill-down funciona em barras, linha, área, cascata, pizza, rosca, treemap e funil montados a partir de um dataset e dos canais (
datasetId+bindingsJson), com pelo menos dois níveis a partir da coluna do eixo — o Eixo X nos gráficos de eixo, a Categoria (label) na pizza, rosca, treemap e funil — na hierarquia do Modelo ou emdrillX. Heatmap e dispersão não descem (dois eixos; eixo numérico), nem radar, box plot, candlestick e calendário. Visuais com script DATTAX escrito à mão ignoram o ajuste e renderizam o script literalmente — neles o duplo clique não desce de nível. - A profundidade máxima é o último nível da hierarquia (ou de
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. Quando outro visual filtra o painel, o visual drillado continua no nível em que estava e é refeito já com o filtro.
- Um clique simples no nível detalhado filtra os demais visuais pela coluna daquele nível (por exemplo,
municipio = Salvador), sem o caminho percorrido: um município com o mesmo nome em outra UF também entra no filtro.
Drill-through — detalhar em outra página
O drill-down desce dentro do visual; o drill-through abre outra página do dashboard já filtrada pelo ponto clicado — por exemplo, da barra SP no resumo para a página "Detalhe da UF", que mostra só São Paulo.
Preparar a página de detalhamento (modo de edição): abra a página, deixe nenhum visual selecionado e, na aba Propriedades, marque Página de detalhamento (drill-through) e arraste (ou clique) para o well Drill-through as colunas pelas quais ela pode ser aberta, como uf.
Usar: em qualquer visual de outra página, clique com o botão direito num ponto (barra, fatia, célula da tabela, marcador...) e escolha Detalhar em <página>. A opção aparece para as páginas que aceitam a coluna do ponto; num visual drillado vale a coluna do nível mostrado. A página abre com o valor como filtro da página, e uma trilha no topo mostra a origem, o valor (uf = SP) e os botões para voltar à página de origem ou ver a página inteira (✕). Clicar nos visuais da página de detalhamento filtra dentro do detalhe, sem perdê-lo. Sair da página (aba, Voltar) encerra o detalhe.
O servidor só aplica o valor na página marcada como destino e para as colunas que ela aceita; fora disso, a página abre inteira e a trilha avisa.
Exemplo pronto para explorar
O seed seed-demo-data.sh cria o dashboard mds-dash-drilldown com dois visuais já configurados:
- Beneficiários por UF — hierarquia
["uf", "municipio"]sobre o datasetds-pessoas. - Gasto por Programa — hierarquia
["programa", "tipo"]sobre o datasetds-beneficios.