Conteúdo do Curso

4.7 - Aba Drill Down: níveis múltiplos e ações

Capítulo 4 How-to 10 min Lição 4.7

Aba Drill Down — níveis múltiplos e ações

A aba Drill Down aparece para todos os gráficos e o kpi. Ela define o que acontece quando o usuário clica num bucket do gráfico — uma cadeia de até N níveis que vai do mais agregado até o registro individual. Veja nos prints abaixo.

N
níveis encadeados
7
tipos por nível
7
campos por linha
1
validação automática

O One2many drill_level_ids

Cada nível de drill é um registro de boardkit.dashboard.item.drill, encadeado pelo campo sequence (10, 20, 30…). O boardkit renderiza o último nível como uma lista de registros — é o destino final do clique.

Os 7 campos de cada nível

Campo O que faz Padrão
sequence Ordem do nível na cadeia (10, 20, 30…). Permite reordenar com drag-and-drop. 10
model_id Relacionado ao model_id do item pai — não editável. (do item)
group_by_field_id Obrigatório. Campo do model_id que define o bucket do próximo nível. —
group_by_granularity Quando o group by é date/datetime: hour, day, week, month, quarter, year. month
chart_type Como renderizar este nível. bar, bar_horizontal, line, area, pie, doughnut, funnel. bar
chart_sort Ordenação dos buckets deste nível — mesmas 5 opções da aba Chart. default
record_limit Limite de buckets plotados (0 = sem limite). Para o último nível, controla o tamanho da lista. 0

Print 1 — aba Drill down com 2 níveis encadeados (Tipo de atividade → Atribuído a):

Aba Drill Down - 2 níveis

Note a coluna sequence com o ícone de handle (drag handle) — basta arrastar para reordenar.

Como o drill acumula filtros

Cada clique num bucket adiciona um filtro ao domínio. Veja um exemplo concreto:

Exemplo: Receita por Equipe
  1. Nível 0 (Chart): Receita agrupada por Equipe de vendas (bar).
  2. Clique na equipe "Brasil Sul" → drill nível 1.
  3. Nível 1: Receita da equipe "Brasil Sul" agrupada por Vendedor (bar_horizontal, Top 10).
  4. Clique em "Maria Silva" → drill nível 2.
  5. Nível 2: Receita da Maria agrupada por Mês (bar).
  6. Clique em "Julho" → lista final.
  7. Último nível: lista dos pedidos da Maria em julho.

Cada clique acumula um filtro AND no domínio: team_id="Brasil Sul" + user_id=Maria + date_order=July.

Print 2 — outro exemplo com drill por Vendedor + Data do pedido:

Aba Drill Down - Revenue by Team

Note que o segundo nível usa bar e o primeiro bar_horizontal — cada nível pode ter um chart_type diferente.

Tipos de gráfico disponíveis no drill

Diferente da aba Chart (que tem 8 + scatter + map), o drill aceita 7 tipos — apenas os que fazem sentido como "passo intermediário":

bar

Vertical. O padrão — funciona em quase todos os casos.

bar_horizontal

Horizontal. Ideal para rankings Top N de vendedores/categorias.

line / area

Linha/área. Perfeito para drill de "categoria → mês".

pie

Pizza. Para drill de composição (poucos buckets, até 5).

doughnut

Doughnut. Mesma ideia do pie com furo central.

funnel

Funil. Para drill de pipeline (estágio → sub-estágio).

Validação: o grupo pertence ao modelo

A única validação automática da aba Drill Down garante que o group_by_field_id é do mesmo modelo do item pai:

_check_group_by_field_model

Decorador @api.constrains("group_by_field_id", "model_id"). Se você tentar referenciar um campo de outro modelo, recebe ValidationError ao salvar:

Drill field % (field) s does not belong to model % (model) s.

Estratégias comuns de drill

Três padrões que resolvem 90% dos casos:

Geográfico

País → Estado → Cidade

3 níveis: country_id (bar) → state_id (bar) → city_id (lista).

Comercial

Equipe → Vendedor → Mês

3 níveis: team_id (bar) → user_id (bar_horizontal) → date_order (bar).

Pipeline

Estágio → Sub-etapa → Lista

2 níveis: stage_id (funnel) → activity_type_id (lista filtrada).

Quando NÃO usar drill

Drill vs Interação

São conceitos diferentes:

Drill Down (4.7)

Filtra e mostra o próximo nível do mesmo modelo.

Clique em "Julho" → lista de pedidos de julho. Não sai do model_id.

Interaction (4.10)

Executa uma ação customizada ao clicar.

Clique em "Julho" → abre ir.actions.act_window custom, abre URL, ou roda ação de servidor.

Agora que você domina a aba Drill Down, vamos para a aba Domain — onde filtros estáticos transformam dashboards genéricos em visões cirúrgicas.

Detalhe da aba Drill Down: drill_level_ids One2many, os 7 campos de cada nível (sequence, group_by_field_id, group_by_granularity, chart_type, chart_sort, record_limit), os 7 chart_type disponíveis, validação e 3 estratégias comuns (geográfica, comercial, pipeline).

Avaliação
0 0

Por enquanto não há comentários.

Quiz opcional da lição. Acerte de primeira e ganhe 10 XP (7 / 5 / 2 XP nas tentativas seguintes). Conta para a certificação.