No passo anterior, o arquivo de configuração foi definido. Nesse passo, durante a criação das agregações, um arquivo ../database/views/{{name}}.sql
foi criado. Esse arquivo contém a definição de uma agregação base, e ele será preenchido agora.
Agregação base
Uma agregação base é uma fonte de dados. Ela é o nível mais profundo que Blendb pode buscar. Essas tabelas possuem o nível de granularidade máximo disponível no banco. O objetivo dessas agregações é tornar os dados contidos no banco de dados disponíveis para que o Blendb os utilize.
Arquivo {{nome}}.sql
Esse arquivo deve conter uma consulta que traduz as colunas da tabela do banco de dados em métricas e dimensões da respectiva agregação. No caso de uma consulta sql ele é bem simples.
Exemplo:
SELECT
coluna_dimensão1 AS "dimensão1",
coluna_dimensão2 AS "dimensão2",
COALESCE(coluna_dimensão3, 'Não declarado') AS "dimensão3",
coluna_métrica1 AS "SOMA_métrica1",
coluna_métrica1 AS "MEDIA_métrica1",
coluna_métrica1 AS "MÁXIMO_métrica1",
coluna_métrica1 AS "MÍNIMO_métrica1",
coluna_métrica2 - outra_coluna_métrica2 AS "SOMA_métrica2",
coluna_métrica1 - outra_coluna_métrica2 AS "MEDIA_métrica2",
coluna_métrica1 - outra_coluna_métrica2 AS "MÁXIMO_métrica2",
coluna_métrica1 - outra_coluna_métrica2 AS "MÍNIMO_métrica2",
'1'::INTEGER AS "métrica de contagem"
FROM
tabela_{{nome}};
Esse exemplo mostra um exemplo de arquivo com algumas funcionalidades interessantes.
- Em geral, cada coluna que representa uma dimensão, se transforma naquela dimensão
- Observe (dimensão3) que transformações podem ser aplicadas nesse processo de tradução. No caso da dimensão3, ou o valor da coluna_dimensão3 será adicionado ou 'Não declarado'. Para o Blendb essa transformação é invisível.
- Quando se tem várias funções de agregação aplicadas sobre os mesmos dados, isso gera várias métricas diferentes. A transformação de coluna em métrica deve ser idêntica para todas as funções de agregação.
- Assim como nas dimensões as métricas também podem sofrer transformações.
- Caso uma métrica de contagem tenha sido adicionado a agregação, recomendamos que ela possua o formato usado no exemplo.
Resumo
Cada agregação deve possuir um arquivo .sql que representa uma consulta que retorna todos os dados daquela tabela (todos os dados visíveis ao Blendb) e as colunas devem ter os nomes das métricas e dimensões das tabelas definidas no arquivo de configuração.
Essa consulta deve possuir exatamente as métricas e dimensões que foram atribuídas a agregação no arquivo de configuração. Métricas e dimensões extras serão ignorados e não encontrados pelo Blendb. Métricas e dimensões faltantes podem gerar erros na geração das consultas ou consultas inconsistentes.
Finalizando
Uma vez que todos os arquivos .sql
foram criados existe um script de criação do esquema (createSchema.ts). Esse script utiliza o arquivo de configuração e os arquivos .sql
escritos nesse passo para criar um arquivo .sql
que deve ser executado no banco de dados para criar visões no banco de dados. Essas visões são as tabelas que o Blendb tem acesso e utiliza para realizar as suas consultas.
Uma vez que esse arquivo é executado no banco, o Blendb já pode ser utilizado.
Home
- Requisitos
- Instalação
- Gerando o arquivo de configuração
- Gerando agregações base
- Gerando o serviço (SystemD)
- Inicializando
- Utilizando