Construindo páginas e tiles
Uma App é uma pilha de páginas, e cada página é uma grade de tiles — o mesmo modelo de tile que os dashboards usam. Se você já construiu um dashboard do Saiku, isso vai parecer idêntico; a única camada nova são as páginas da App e a navegação em volta.
Páginas
Toda App começa com uma página. No modo de edição:
- Adicione uma página pelo menu de navegação (trilho ou topo) — o
+ao lado da lista de páginas. - Renomeie uma página no lugar; o nome é o que aparece na navegação.
- Troque de página clicando nelas na navegação. Cada página lembra o próprio estado de filtros conforme você anda entre elas.
Ordene suas páginas para acompanhar a história que você quer contar — uma página de visão geral primeiro, páginas de detalhe depois.
Adicionando tiles
Numa página em modo de edição, clique em + Adicionar tile para abrir o menu de tiles. Os tipos nativos são:
| Tile | O que mostra |
|---|---|
| Gráfico | Dezesseis tipos de gráfico — barra / linha / área / pizza / rosca / cascata / treemap / sunburst / heatmap / radar / dispersão / bolha / mapa. Veja O tile de Gráfico |
| Tabela | Registros de células de medida com cabeçalhos de linha |
| KPI | Uma medida única como número grande, com comparação e sparkline opcionais |
| Texto / nota | Uma anotação em Markdown — sem dados |
| Imagem | Um logo, diagrama ou captura a partir de uma URL ou upload |
Escolha um tipo e o tile cai na grade. Posicionamento e tamanho funcionam como num dashboard — arraste para mover, arraste a alça para redimensionar.
Filtros não estão nesse menu — eles são adicionados no painel Filtros da página, acima da grade.
Ligando um tile aos dados
Adicionar um tile escolhe o tipo dele; o editor do tile ⚙ é onde você dá dados a ele. Abra pelo botão de edição do tile. Dependendo do tipo de tile você configura:
- O cubo e a consulta — para tiles de gráfico, tabela e KPI, escolha a conexão / cubo e monte a consulta (medidas, dimensões em linhas ou colunas, slicers). Veja De onde vem a consulta de um tile abaixo.
- O tipo de gráfico, e atrás do botão Opções do gráfico um segundo editor com eixos duplos, tipos de série combo, linhas de tendência, ordenação / Top N, formatação numérica, linhas e faixas de referência. Um tile de gráfico também pode detectar anomalias, projetar uma previsão e emitir um filtro cruzado quando você arrasta nele. Tudo isso tem página própria: O tile de Gráfico.
- A medida e a comparação — para um KPI, qual medida é o número
grande e (opcionalmente) contra o que ela é comparada. Use o padrão de
formato
$cNpara moeda compacta ($48.2K). Veja Comparações de KPI abaixo. - O conteúdo — o corpo Markdown de um tile de texto, ou a URL / upload de um tile de imagem (esses dois não precisam de consulta).
- Formatação condicional — tiles de tabela suportam regras por coluna: cor de fundo, barras de dados, cor da fonte ou um ícone (↑ ↓ →), atrelados a limiares relativos (percentil) ou absolutos. Uma tabela também pode acrescentar uma coluna de sparkline ao final, desenhando um minigráfico por linha a partir dos valores de medida daquela linha — faz sentido quando essas colunas formam uma série (meses, digamos), menos entre medidas sem relação.
- Formato numérico (por coluna) — tiles de tabela aceitam um padrão
de exibição por coluna, casado pela caption do cabeçalho, usando o
mesmo vocabulário dos tiles de KPI e lista ranqueada:
$cNmoeda compacta,$Nmoeda simples,N%percentual,Npuro para casas decimais. Vale a pena em qualquer medida inteira cuja string de formato do cubo carregue uma decimal — senão uma contagem de unidades renderiza como10759.0. Colunas que você deixar de fora mantêm a formatação do próprio cubo. - Auto-refresh — qualquer tile ligado a consulta pode se re-executar a cada 1, 5, 15, 30 ou 60 minutos, respeitando filtros ativos e pausando enquanto a aba do navegador está escondida.
Para tiles customizados de ECharts option o editor acrescenta opções de exibição: um alternador ao vivo Trend / Breakdown (trocar a série entre linha e barras sobre os mesmos dados), enfatizar o último ponto (um marcador de destaque de “período atual”) e um formato do eixo de valores. Veja Tiles customizados.
Tiles de texto e imagem são os dois que não carregam consulta; todo o resto se liga a um cubo.
De onde vem a consulta de um tile
Há dois jeitos de dar a consulta a um tile, e eles ficam em lugares diferentes do editor ⚙.
Monte aqui. Clique em Editar consulta visualmente e o construtor de consultas completo do Saiku abre dentro do editor do tile: a árvore do cubo à esquerda, as zonas de soltar Medidas / Colunas / Linhas / Filtro, e uma grade de resultado ao vivo embaixo. Ele roda conforme você monta, então você vê os números reais antes de firmar o tile. Aplicar firma a consulta; salvar o tile a persiste. Esse é o caminho usual — escolha um cubo primeiro, ou o botão fica desabilitado.
Ou aponte para algo existente, em Origem da consulta:
- Consulta salva — escolha um arquivo
.saikuexistente e o tile renderiza ao vivo a partir dele. O servidor carrega a consulta salva, mescla quaisquer filtros de dashboard aplicáveis e a re-executa a cada refresh — então uma consulta salva pode sustentar tiles em várias Apps e todas acompanham quando você a muda. - JSON inline — veja abaixo.
JSON inline aceita um corpo AiQueryRequest diretamente. Recorra a
ele quando quiser um formato de consulta que o construtor não oferece —
uma hierarquia específica quando duas compartilham nome de nível,
digamos — ou ao copiar uma consulta entre tiles.
Uma hierarquia não pode estar num eixo e nos filtros
Ponha Time / Time / Month em Linhas e depois tente filtrar por
Time / Time / Year, e a consulta é rejeitada:
Hierarchy ‘Time’ is already on the rows/columns axis. Mondrian rejects the same hierarchy on two independent axes. Either move the filter members onto the axis selection’s
members[], or filter on a different hierarchy/dimension.
Essa é uma regra do motor OLAP por baixo, não uma limitação do Saiku.
Para limitar um eixo a parte de uma hierarquia, nomeie os membros no
próprio eixo em vez de filtrar separado — em JSON inline isso é o
array members[] na linha:
"rows": [{ "dimension": "Time", "hierarchy": "Time", "level": "Month", "members": ["[Time].[Time].[1998].[Q1].[January]", "…"]}]A mesma técnica é a saída de emergência quando os membros de um nível voltam numa ordem que você não quer: listá-los explicitamente fixa a sequência, já que o Ordenar categorias do tile de gráfico ordena por valor de medida, não por categoria. A App de referência FoodMart Ops usa exatamente isso para fixar seu gráfico de tendência em oito semanas nomeadas.
Comparações de KPI
O destaque de delta de um KPI — aquele “+6.7% vs last month” embaixo do número — é derivado do próprio nível de tempo do tile, então sempre descreve a comparação que o tile de fato fez. Consulte no grão de mês e ele diz “vs last month”; no grão de semana, “vs last week”.
Defina o nível de tempo primeiro
Esse nível de tempo é algo que você escolhe, não algo que o tile infere — e até você defini-lo, uma comparação não tem contra o que comparar.
Perto do fim do editor de KPI, em Nível de tempo (para comparação + sparkline), escolha Dimensão, Hierarquia e Nível (ex.: Time / Time / Month). Aí:
- a comparação ganha um período anterior contra o qual medir, e
- a caixa Sparkline fica disponível — ela plota a medida ao longo daquele nível.
Você pode sobrescrever o texto com Rótulo do delta quando um cubo tem vocabulário próprio (“vs last trading day”), mas o padrão já não consegue discordar dos dados.
Períodos finais incompletos
O balde mais novo de uma série temporal muitas vezes ainda está enchendo — a semana ou o mês corrente — ou é uma fronteira de dados onde o último período segura uns poucos dias. Medido contra um período anterior inteiro, isso produz um número que descreve o calendário em vez do negócio: um −84% que quer dizer que nada mudou além da data.
Defina Períodos finais incompletos para dizer ao tile quantos dos períodos mais novos ainda são parciais. Esses períodos:
- mantêm seus valores reais — nada é escondido, e a sparkline continua plotando cada ponto
- são rotulados “Week 52 · partial” embaixo do número
- não mostram percentual contra eles, porque não há um honesto para mostrar
Salvando
Salve a App pelo editor. Ela é persistida como documento .saikuapp no
repositório, na pasta que você escolheu ao criá-la. Reabra quando quiser
pela lista de Apps, ou embuta em outro
site — veja Embutindo uma App.
Relacionado
- Visão geral do App Builder — o que é uma App e como ela difere de um dashboard.
- Tiles customizados — renderizadores declarativos de ECharts e grafo além dos cinco nativos.
- Analyze — monte e salve as consultas que seus tiles reutilizam.