# Observatório de dados/BI/Std-BI

* Ferramentas de BI:
* Std-BI
* MS-Power-BI
* Orange
* Tableau
* Componentes
O Std-BI (do inglês "Standard Business Intelligence") não é uma ferramenta real, é apenas um Modelo de referência para especificarmos formalmente um produto final, contemplando os requisitos de um exemplo.
    NOTA: o objetivo deste modelo é a padronização terminológica e apresentação de abstrações que garantam a interoperabilidade entre as diversas ferramentas, módulos e componentes dos sistemas que apoiam ou implementam ferramentas de BI. Apesar de ser possível, objetivo aqui não é obter uma taxonomia das ferramentas, mas aumentar a conscientização sobre as vantagens das ferramentas de BI em geral, definir com clareza e universalidade as suas capacidades, e destacar as implementações de software livre interoperáveis. Um padrão promoverá a reutilização, concentrará o conhecimento e a experiência, e destacará as opções.

## Modelo de referência

As capacidades de uma ferramenta de BI, no contexto do projeto, são avaliadas em termos do presente modelo de referência.
As convenções e conceitos utilizados para descrever as capacidades de uma ferramenta de BI são baseadas em um modelo de referência da ferramenta de BI, descrito a partir das capacidades.

### Requisitos

Em engenharia de software, conforme o padrão IEEE 830, o projeto de uma ferramenta de software nasce dos requisitos desta ferramenta.
No modelo de referência os requisitos são descritos a partir das capacidades típicas de uma ferramenta de BI. Destacam-se como grandes grupos a entrada dos dados (carga e proveniência), a modificação (transformação, filtragem e fusão), análise e a entrega de produtos finais (relatórios):
    Carga - Efetua o carregamento das fontes de dados, das mais variadas origens (dados externos ou locais) e formatos. Transformação - Permite transformar um item de dado, por exemplo transformar valor R$ em US$, ou fundir dois ou mais itens num só (por exemplo população e área em densidade). Filtragem - Permite reduzir o volume de dados da fonte, por sumarização (resumo) ou por corte seletivo. Junção - Permite aumentar o volume de dados, criando uma nova fonte de dados juntando duas ou mais fontes (originais ou modificadas). Análise - Viabiliza a elaboração de inferências (descritivas ou preditivas), reconhecendo padrões nos dados ou elaborando hipóteses estatísticas sobre eles. Proveniência - Registra as dependências entre fontes, e cataloga a origem e semântica de cada fonte. Geração de relatórios - Gera um produto final, publica-se a informação desejada. Pode ou não depender das capacidades de visualização, componentes opcionais do relatório. Visualizações - São componentes dos relatórios, que podem ser também utilizadas independentemente durante a análise. As principais capacidades de visualização são: Gráfica; Template e Widget.
A seguir cada uma destas capacidades é representada através de uma linguagem padronizada para a implementação real da capacidade. Por exemplo, convencionou-se que a linguagem HTML5 é o modelo de referência para expressar ou implementar exemplos de relatórios.

### Entrada dos dados

* Carga SQL por copy, dump ou FOREIGN DATA WRAPPER;
* Proveniência: ... conforme padrão FrictionLessData, Wikidata e/ou Schema.org
Ver postgREST como paradigma da consulta SQL online.

### Modificação

* View-SQL: ... lembrando que há também recurso de XML e JSON (a rigor JSONb e suas operações o mais adequado)
** Sumarização (AGGREGATE/GROUP BY) (incluindo XML, JSON e estatísticas)
** Filtragem por seleção (SELECT WHERE)
** Filtragem por projeção (SELECT part)
** Fusão (FROM JOIN)
** Filtragem conjuntiva (UNION, INTERSECTION)
** Transformação complex (filtragens e fusões misturadas)

### Entrega de produtos finais

* Template system:
** Placeholder template (mais simples), duas opções:
*** Template Javascript direto, por exemplo `Olá ${x}!`.
*** Template Mustache básico, por exemplo Olá {{x}}!.
** Regular template (com listas ou agrupamentos), Mustache, exemplo: {{#lista}}Olá {{y}}!{{/lista}}.
** Complete (com execução de funções complexas), Mustache com mais recursos, sempre preferindo modificações em SQL.
* Layout MVC
** tags HTML5 como (referência para conteúdo)
** CSS como referência para layout
* Relatório: livre ou baseado em,
** metáfora do dashboard
** metáfora do notebook
** DTD (data definition type), relatório estruturado
** Graphic View
*** plotly (Jupyter Javascript)
*** .. Orange

## Exemplos onde a ferramenta foi testada

Amostra (esta listagem não é sistemática) de exemplos:
* Exemplo 1.1
* Exemplo 2.1