Selo de estado:
Preview(teto atual do produto) · Curso ACD-340 — Publicação, distribuição, RLS e BI-as-code · Aula 4 de 8 · Atualizado em 2026-10-04.
Objetivo#
Ao final desta aula você vai exportar e validar totais.
Vídeo#
Identificador no manifesto: acd-340-04-exportacoes-xlsx-csv-pdf-pptx · duração-alvo 7 min · tela do produto: /dashboards.
Roteiro (capítulos):
- 00:00–01:00 — O contrato tela × total × export, e por que ele existe.
- 01:00–02:30 — CSV por visual e XLSX resumo × detalhe.
- 02:30–04:00 — PDF sob demanda: o que ele exige e o que ele garante.
- 04:00–05:30 — PPTX e PNG: a mesma visão segura, formatos diferentes.
- 05:30–07:00 — O selo de amostra, erros comuns e encerramento.
Conteúdo#
Depois que o painel está publicado e a RLS está correta (Aula 3), a próxima pergunta é como tirar os números dali para outro lugar — uma planilha, um e-mail, uma apresentação. O ingestia.bi trata isso com um contrato simples, repetido em toda exportação: tela, total e export precisam ser coerentes, e o produto avisa quando um deles não representa o universo completo dos dados. A tela é o que carregou no navegador; o total é somado sobre esse conjunto carregado — não sobre uma janela virtual maior — e quando não é o universo, o rótulo muda para "TOTAL (amostra)" ou "TOTAL (parcial)"; o export CSV leva exatamente as mesmas linhas da tela, e se for parcial, o nome do arquivo ganha o sufixo _amostra. Para o dado inteiro, sem teto, existe uma saída própria: o XLSX detalhe.
Como aparece no produto. Cada visual tem seu próprio botão de exportar — CSV sai direto no navegador, no dialeto Excel pt-BR (separador ;, quebra de linha CRLF, decimal com vírgula), sem precisar do servidor. No nível do painel, a exportação para XLSX oferece dois modos: RESUMO (uma aba por bloco, com os agregados que você vê na tela) e DETALHE (o snapshot inteiro do visual, com a visão segura aplicada). O PDF sob demanda é outra história: ele depende de um worker de impressão em nuvem (Cloud Run com Chromium headless) e do plano incluir PDF (Business e acima) — sem isso, o painel simplesmente não gera o arquivo. Quando gera, usa um token de embed efêmero (5 minutos, escopo de um painel) que carrega a RLS de quem pediu, então o PDF reproduz exatamente o recorte da tela de quem exportou. O PPTX segue o mesmo padrão de sessão e visão segura do XLSX — cada página do painel vira um slide 16:9, com KPIs em caixas de número e gráficos nativos quando possível. O PNG é a saída mais simples: uma imagem de um visual ou da página, gerada no navegador.
Exemplo Aurora. O vendedor de São Paulo da Aurora Varejo, com o grant de RLS da Aula 3, abre "Vendas por filial" e pede o XLSX detalhe. O arquivo que ele recebe não tem as linhas de RJ nem de MG — só SP, porque a exportação lê o mesmo snapshot com a mesma RLS da sessão dele. Se o snapshot do painel tiver um teto de linhas carregadas e o conjunto de SP for maior que esse teto, o CSV que ele exporta do visual de detalhe vem com o sufixo _amostra no nome do arquivo — um sinal explícito de que aquilo não é 100% dos dados, e que o caminho para ter certeza é o XLSX detalhe (que lê o snapshot inteiro, não a janela carregada na tela).
Erros comuns. O mais comum é tentar gerar um PDF num ambiente de treino sem Cloud Run configurado e sem o plano certo — o botão existe, mas a geração falha silenciosamente ou retorna erro, porque a dependência de infraestrutura paga é real, não cosmética. O segundo é confundir resumo com detalhe: alguém exporta o XLSX resumo esperando as linhas individuais e só encontra agregados por bloco — se o objetivo é auditoria linha a linha, o modo certo é detalhe. O terceiro é ignorar o sufixo _amostra: um analista exporta um CSV parcial, não repara no nome do arquivo, e manda para a diretoria como se fosse o total — a correção é sempre olhar o rótulo "TOTAL (amostra)" na tela antes de exportar, e preferir o XLSX detalhe quando precisar do dado completo.
Estado do produto. CSV e XLSX (o contrato de exportação, com o dialeto Excel pt-BR) são GA-candidato, cobertos por suíte determinística. O PPTX também é GA-candidato no motor — byte idêntico para o mesmo input — mas a aparência final aberta no PowerPoint não tem teste automatizado ("NÃO MEDIDO"). O PDF é Preview: depende de Cloud Run real, e tanto a geração quanto a latência não são medidas hoje. O PNG também não tem a rasterização testada em CI. Por isso esta aula carrega o selo Preview — o formato mais simples (CSV) é o mais maduro, e o mais vistoso (PDF/PPTX) é o que ainda depende de mais peças externas.
| Formato | Escopo | Onde roda | Estado | Observações |
|---|---|---|---|---|
| CSV | um visual | navegador (cliente) | GA-candidato | dialeto Excel pt-BR; sufixo _amostra se parcial |
| XLSX | painel (resumo ou detalhe) | servidor | GA-candidato | detalhe = snapshot inteiro com visão segura |
| PNG | visual ou página | navegador (cliente) | GA-candidato (fluxo) | rasterização final NÃO MEDIDO |
| PPTX | painel (1 página = 1 slide) | servidor | GA-candidato (motor) | aparência no Office NÃO MEDIDO |
| página/painel | Cloud Run (Chromium) | Preview | exige infraestrutura paga + plano Business+ |
Faça você mesmo#
No workspace de treino Aurora Varejo (abra /dashboards no console):
- Abra "Vendas por filial" como o membro de teste com RLS
uf = "SP"(criado na Aula 3). - Exporte o CSV de um visual e confira o separador
;e a quebra de linha ao abrir num editor de texto. - Exporte o XLSX em modo RESUMO e confira as abas de agregados.
- Exporte o XLSX em modo DETALHE e confirme que o arquivo só tem linhas de SP.
- Se o seu treino tiver Cloud Run configurado e o plano incluir PDF, gere o PDF sob demanda do painel e confirme o mesmo recorte de SP no documento.
- Se o PDF não gerar, anote a mensagem de erro — ela deve indicar infraestrutura/plano, não um bug silencioso.
- Exporte o PPTX do painel e confirme que o número de slides corresponde ao número de páginas do painel.
Você terminou quando conseguir apontar, em pelo menos dois arquivos exportados, onde a RLS do solicitante (SP) se refletiu no resultado.
Checagem rápida#
Três perguntas no final da aula, corrigidas no servidor. A aula só conta como concluída depois da checagem.
Documentação relacionada#
Capacidades ensinadas#
C08.1 · C08.2 — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".