|
|
## Consulta
|
|
|
|
|
|
Tipicamente, em bancos de dados, para realizar uma consulta, o usuário deve especifícar 3 informações.
|
|
|
|
|
|
1. Quais dados ele quer (colunas das agregações)
|
|
|
2. Aonde esses dados estão, em várias ocasições, uma regra de junção das fontes dos dados (quais agregações e JOIN)
|
|
|
3. Restrições, para filtrar os dados retornados.
|
|
|
|
|
|
O Blendb propoe a retirada do segundo passo, com ele, basta dizer **o que se quer**.
|
|
|
|
|
|
### Métricas e Dimensões
|
|
|
|
|
|
Para especificar quais dados devem ser retornados, o Blendb propos 2 tipos distintos de dados **métricas** e **dimensões**.
|
|
|
|
|
|
Essa distinção foi feita pois, estudando as consulta analíticas verificou-se que existem dois comportamentos para os dados. Um deles é uma estatística, uma valor numérico que representa uma informação, e outro é uma caracteristica sobre a estátistica. A **métrica** representa a estatística, ou um fato, e a **dimensão** a caracacterística.
|
|
|
|
|
|
### Métrica
|
|
|
As métricas são valores numéricos. Em geral são as informações valiosas da base de dados. Mais que isso normalmente essas informações aparecem de forma indireta na base de dados.
|
|
|
|
|
|
Uma informação indireta significa que não existe um registro com exatamente aquela informação, mas ela pode ser obtida através de outros registros.Por exemplo, uma métrica comum é o lucro. A granularidade comum para se salvar o lucro seria o lucro por item vendido. Para obter o lucro total, e a resposta da pergunta, basta somar todos os regristros de lucro.
|
|
|
|
|
|
Esse é o comportamento de uma métrica, combinar vários registros para criar uma resposta, essa combinação é feita através de uma **função de agregação**. Todas as métricas tem uma função de agregação atreladas a elas. Por isso, dizemos que no Blendb métricas são **agregadas**.
|
|
|
|
|
|
### Dimensões
|
|
|
As dimensões são caracteristicas. Elas podem ser qualquer tipo de dados, inclusive numéricos. As dimensões oferecem um nível de detalhe maior sobre as métricas pesquisadas.
|
|
|
|
|
|
Por exemplo, na pergunta "Qual o lucro **por mês**?", a métrica lucro é usada, mas o nível de detalhe agora é mês. Quando a métrica foi agregada ao invés de somar todos
|
|
|
os dados juntos, elas foram **agrupadas** usando a caracteristica mês. Em outras palavras, os registros do mesmo mês foram somados juntos.
|
|
|
|
|
|
### Filtros
|
|
|
Os filtros fazem a parte de restringir os dados da consulta. "Qual o lucro no mês de abril?" utiliza uma restrição, o mês deve ser abril.
|
|
|
|
|
|
Um filtro tem 3 partes:
|
|
|
1. A dimensão que será restringida
|
|
|
2. Operação
|
|
|
3. Valor
|
|
|
|
|
|
No caso da última pergunta teríamos; dimensão = mês; operação = igualdade; valor = abril.
|
|
|
|
|
|
Diversas operações estão disponíveis no Blendb. Igualdade, diferença, maior/ menor que, maior/menor igual à. A única restrição sobre as operações é relativa ao tipo de dados. Não faz sentido uma dimensão do tipo booleana ter o operador maior que.Diferentes filtros podem ser combinados usando os peradores lógicos E(AND) e OU (OR).
|
|
|
|
|
|
### Linguagem
|
|
|
Para realizar uma consulta basta especificar 3 parâmetros:
|
|
|
1. Uma lista de métricas
|
|
|
2. Uma lista de dimensões
|
|
|
3. Uma lista de filtros
|
|
|
|
|
|
É dito que nessa consulta passa-se, quais informações se quer (métricas), o nível de detalhe que se quer (dimensões) e quais as restrições sobre os dados (filtros). |
|
|
\ No newline at end of file |