Tema
Conceitos essenciais
Sete palavras explicam quase tudo o que o DeepVisuals faz. Vale a pena lê-las antes de abrir o editor: quase todas as dúvidas que aparecem depois são confusões entre duas delas.
Conta
A conta (por vezes também chamada organização) é o espaço da sua empresa. Tem os seus utilizadores, os seus dados e os seus dashboards, e nada dela é visível de outra conta.
Cada conta tem uma base de dados própria. Não é uma tabela partilhada com uma coluna a dizer de quem é a linha: é mesmo um ficheiro separado. Isto importa quando se apaga alguma coisa, quando se exporta um dashboard e quando se pensa em quem consegue ver o que.
Dados importados
Os dados de negócio entram por importação de Excel. Cada folha do ficheiro vira uma tabela, e cada tabela vira uma entidade consultável — uma coisa com nome (Vendas, Lojas) e campos com tipo (data é uma data, valor é um número decimal, canal é texto).
Isto é o que separa o DeepVisuals de uma folha de cálculo: depois de importado, o ficheiro deixa de ser um ficheiro. É uma tabela que se pode cruzar com outras, filtrar, agregar e ordenar sem tocar no original.
Ver Importar um Excel e O modelo de dados.
Dashboard
Um dashboard é uma unidade de trabalho: tem nome, descrição, categoria, opcionalmente uma imagem, e pode ser publicado, exportado, clonado ou apagado como um todo.
O que muita gente espera que seja "um dashboard" — a página com os gráficos — e na verdade o seu ecrã principal.
Ecrã
Um ecrã é uma superfície desenhada: uma tela com widgets colocados. Um dashboard tem sempre um ecrã principal e pode ter vários ecrãs auxiliares.
| Ecrã principal | Ecrãs auxiliares | |
|---|---|---|
| Quantos | Exactamente um | Quantos forem precisos |
| Como aparece | É o que se vê ao abrir o dashboard | Abre por cima, em modal ou em painel lateral |
| Onde se desenha | No editor visual | No mesmo editor, escolhido no seletor de ecrãs |
| Aparece na lista de dashboards | Sim | Nunca |
| Acompanha o dashboard no clone e na exportação | Sim | Sim |
Os ecrãs auxiliares são o mecanismo de detalhe: clicar numa linha de uma tabela abre um deles, passando-lhe a linha clicada como parâmetro. Ver Ecrãs auxiliares.
Widget
Um widget é uma peça colocada no ecrã: um gráfico, uma tabela, um indicador, um texto, um campo de entrada, um painel que contém outros.
Cada widget ocupa uma posição na grelha — coluna e largura em colunas (de 48), posição e altura em píxeis — e tem posições próprias para tablet e telemóvel se quiser. Ver Layout e grelha.
Os widgets tem também:
- Propriedades, específicas do tipo (que campos mapeia o gráfico, que colunas mostra a tabela);
- Aspecto, o bloco de estilo comum (título, cores, borda, alinhamento);
- Eventos, opcionais, com código TypeScript que corre no browser.
O catálogo completo está em Catálogo de widgets.
Conjunto de dados do widget
Aqui está a peça que costuma faltar. Um widget não lê "de uma tabela": lê de um conjunto de dados (na interface, datastore) que pertence ao próprio widget. Esse conjunto tem um nome e é alimentado por uma consulta.
Um gráfico com um conjunto de dados chamado vendasMensais, alimentado por uma consulta que agrupa vendas por mês, vê duas colunas: mes e vendas. É dessas duas que escolhe o eixo e o valor. O gráfico nunca sabe que tabelas existem por trás.
Há uma consequência importante: a definição da consulta nunca chega ao navegador. O navegador identifica o que quer (este dashboard, este widget, este conjunto chamado vendasMensais) e o servidor lê a definição autoritativa e executa-a. É o que permite que ver dados não exija permissão de edição.
Ver Como um widget obtém dados.
Consulta
Uma consulta e construida num canvas: arrastam-se tabelas, ligam-se com junções, escolhem-se as colunas de saída. Cada coluna é uma de duas coisas:
- Dimensão — um valor pelo qual se agrupa (
regiao,mes,categoria); - Medida — um agregado (
SUM(valor),COUNT(numero),AVG(desconto)).
O agrupamento é implícito: havendo pelo menos uma medida, todas as dimensões entram no agrupamento. Sem medidas nenhumas, a consulta é uma listagem simples.
Ver O construtor de consultas.
Os dois mecanismos de detalhe
Esta é a distinção que mais custa, e vale a pena fixa-la agora.
Cruzamento e detalhe não são a mesma coisa
Cruzamento — clicar num gráfico filtra outro widget do mesmo ecrã. Os dois ficam a vista, lado a lado. Serve para explorar: "e no Norte, como e que isto se distribui?"
Detalhe (drill) — clicar numa linha abre um ecrã auxiliar, por cima. A linha clicada não é o detalhe; é a chave que entra como parâmetro. O que se vê lá dentro são widgets que você desenhou, a responder a essa chave.
Nada é gerado automaticamente no detalhe: o ecrã de destino existe porque foi desenhado, e são os widgets lá dentro que decidem o que mostrar com o parâmetro recebido.
Ver Cruzamento entre widgets e Drill para o detalhe.
Filtros do ecrã
Um filtro do ecrã e declarado uma vez, no ecrã, e aplica-se a todos os widgets cuja consulta tenha um campo com esse nome. Aparece numa barra por cima do conteúdo.
A alternativa antiga — pôr um campo no ecrã e depois entrar em cada consulta a acrescentar uma condição — dava trabalho e deixava de fora qualquer widget acrescentado mais tarde. Com o filtro do ecrã, um gráfico novo com um campo regiao passa a responder ao filtro Regiao sem se lhe tocar.
Um mapa das relações
Conta
├── Utilizadores, papeis e categorias
├── Dados importados
│ └── Entidades (Vendas, Lojas, Produtos, ...)
│ └── Campos com tipo
└── Dashboards
├── Ecrã principal
│ ├── Filtros do ecrã
│ └── Widgets
│ ├── Propriedades, aspecto e eventos
│ └── Conjuntos de dados
│ └── Consulta (tabelas, junções, colunas, condições)
└── Ecrãs auxiliares (modais e painéis)
└── Parâmetros + widgets