Você está na página 1de 126

Introdução ao Metabase

Introdução ao uso do Metabase


Diogo Akio Balboni Miyake
Analista Datatech - F.biz

Bacharel em Ciência e Tecnologia - UFABC

Graduando em Ciências da Computação - UFABC


Linkedin | GIthub | Medium
1+ anos atuando com BI, engenharia de dados. Criação de Data Lake, Data
Warehouse, ELT/ETL, começando a estudar Dev Ops.

10 Anos de experiência na Indústria (Aeroespacial, Agropecuária, Bens de


consumo, Naval, Óleo e gás, Máquinas e equipamentos). Cálculos de estruturas,
dinâmica de Fluidos, Projetos de Máquinas, Suporte e treinamento.
Agenda
● Objetivos
● Overview
● Collections
● Our Data - Databases
● Questions
● Dashboards
● Pulses
● Exportação e Compartilhamento (Admin)
● Concluindo
● Referências
Objetivos
Objetivos
● Iniciar o processo de democratização dos dados.
● Aprender o básico do Metabase.
● Não criar somente relatórios, mas também questionar mais sobre o que o
dado tem a oferecer.
● Gerar mais valor através das informações que os dados mostram.
● Não mostrar somente a ferramenta mas também como podemos aprender
mais com os dados.

Note que embora o Material vá ensinar o básico da ferramenta é importante


que você questione o que mais posso responder de perguntas.

Explore a ferramenta, e mais ainda explore os dados.


Metabase
O Metabase é uma ferramenta open source, isto é de código aberto que permite
realizar perguntas e aprender com os dados.
Por Quê Metabase?
Grátis

Possui integração/conexão com diversos bancos

É Fácil de usar

Diversas empresas o usam algumas brasileiras como: NUBANK, HOTMART,


ETC…
Democratização de dados
A democratização de dados tem o intuito de fazer com que todos os funcionários
de uma empresa possam saber lidar com os dados que a empresa oferece.
Alguns dos pontos que isso traz são:

● Melhoria na tomada de decisão


● Aumento de capacidade técnica dos colaboradores
● Otimização das tecnologias utilizadas pela empresa
● Transparência no compartilhamento de informações

Nesse artigo do Carlos Alberto Cardoso, ele explica em pontos muito relevantes o
quanto é custoso tornar a empresa data driven, mas de alguma forma o processo
tem de iniciar né.
Overview
Tela inicial
Tela inicial
1. Contém os Itens: Ask a question, Browse Data, Criar Dash/Pulses, SQL,
Configuração.
2. Barra de pesquisa
3. Home page
4. Bem vindo Fulano
5. Suas Collections
6. Seus Datasets
Dicionário de Termos
MBQL: Metabase Query Language, é a linguagem usada para expressar
consultas "estruturadas" na Metabase. Ele é gerado pelo Query Builder no
front-end da Metabase e traduzido para uma infinidade de linguagens de consulta
"nativas" - incluindo SQL, Pipelines de agregação Mongo e Druid - pelo back-end.
(A metabase também pode executar consultas nessas linguagens nativas
diretamente, mas essas não são consideradas parte do MBQL).

Question: às vezes chamada de "card", inclui uma consulta (dataset_query que é


uma consulta estruturada ou consulta nativa), além de informações sobre como
deve ser visualizada (display e visualization_settings) e quaisquer parâmetros
expostos.
Dicionário de Termos
Dashboards: uma coleção de perguntas organizadas em uma grade. Composto
por DashCards que podem combinar uma ou mais perguntas de um tipo
semelhante em uma série. Também pode expor parâmetros e mapear esses
parâmetros para as perguntas no painel.

Pulse: um conjunto de perguntas, juntamente com um agendamento e e-mail ou


destinatário do Slack, que serão executados e enviados nesse agendamento.

Collections: uma coleção de perguntas, painéis, pulsos e outras coleções.


Funciona como uma pasta para organização.

Alert: semelhante a um pulso, mas associado a uma única pergunta.


Dicionário de Termos
Database: um banco de dados, data warehouse ou outra fonte de dados (por
exemplo, Google Analytics) que pode ser consultada na Metabase. Tem muitas
tabelas.

Table: uma tabela (ou outra unidade da organização, coleção e.x. MongoDB, site
do Google Analytics) no banco de dados. Tem muitos campos.

Field: uma coluna (ou um atributo de um registro) em uma Tabela.

Column: uma coluna em um conjunto de dados de resultados.


Dicionário de Termos
Dimension: uma referência a um campo (possivelmente via chave estrangeira)
ou expressão personalizada em uma consulta estruturada e, em alguns casos,
uma referência a uma coluna de agregação na mesma consulta. Além disso, os
campos numéricos e de data / hora podem ser binados.

* Referidas como referências concretas, de expressão e agregação no MBQL.

Structured Query: às vezes chamada de "consulta GUI", uma definição de


consulta MBQL.

Native Query: às vezes chamada de "consulta SQL", uma consulta escrita na


linguagem de consulta "nativa" do banco de dados, e.x. SQL
Dicionário de Termos
Aggregation: às vezes chamada de "métrica", uma agregação MBQL em uma
Consulta Estruturada, e.x. contagem, soma, média, etc.

Breakout: essencialmente uma cláusula GROUP BY, às vezes chamada de


"dimensão", uma dimensão MBQL em uma consulta estruturada.

Filter: um filtro MBQL em uma Consulta Estruturada.

Parameter: uma variável que pode ser alterada pelo usuário de uma pergunta ou
painel por meio de um widget de parâmetro ou da string de consulta da URL. Um
parâmetro pode ser mapeado para uma dimensão em uma consulta estruturada
ou uma tag de modelo em uma consulta nativa.
Dicionário de Termos
Template Tag: um espaço reservado em uma consulta nativa (atualmente apenas
SQL) que pode ser preenchido com um valor primitivo (sequência, número ou
data) ou um filtro de campo por meio de um parâmetro.

Segment: um conjunto salvo de filtros em uma tabela que pode ser aplicado a
uma consulta estruturada.

Metric: uma agregação salva e um conjunto opcional de filtros em uma tabela que
pode ser adicionada como uma agregação a uma consulta estruturada.
Collections
Collections
As collections são importantes para podermos organizar a estrutura de nossos
cards, isso facilitar saber onde estão e diferenciar eles de acordo com o tipo de
relatório da ser gerado.

Clique em browse all items


Collections
Clique em New Collection
Collections
Coloque o nome como
Treinamento.

Em descrição coloque a
descrição que desejar.

Em collection a ser salva


selecione a sua collection
pessoal.

Clique em Create
Collections
Ao clicar em sua collection, você verá a sua collection Criada.
Collections
Parabéns criou sua primeira collection
Our Data - Databases
Aprendendo mais sobre os dados
Na tela inicial, temos uma região chamada Our Data, que lista todos do databases
que temos acesso no Metabase.

Esse campo é interessante, pois nele podemos criar um dicionário sobre estes
dados.
Aprendendo mais sobre os dados
Ao acessar você terá acesso a informações e detalhes sobre os dados.
Aprendendo mais sobre os dados
Ao clicar em tables in this dataset, você terá acesso aos detalhes, possiveis,
questões (potentially usefull questions), campos da tabela, questões criadas e
Raio-x da tabela.
Aprendendo mais sobre os dados
Em Fields of this table, você tem acesso às informações de cada coluna, como
o tipo dela no dataset, e sua descrição.
Aprendendo mais sobre os dados
Em Questions about this table, você terá acesso às questões que foram criadas
sobre este dataset.
Aprendendo mais sobre os dados
Em X-Ray, o Metabase nos dá uma grande visão de perguntas sobre o dataset.
Aprendendo mais sobre os dados
O Recurso X-Ray é muito interessante, principalmente se você está começando a
aprender e entender sobre o dataset em questão.

Ou até mesmo em buscar enxergar alguma resposta que você não percebeu
sobre o dado.
Aprendendo mais sobre os dados
Congrats. You are awesome and learning more about Our Data in Metabase.
Criando Questions
Ask a Question
Existem três tipos de questões no Metabase:

1. O modo de pergunta simples, que permite filtrar, resumir e visualizar dados.


2. O modo de perguntas personalizadas, que fornece um poderoso editor no estilo
de notebook para criar perguntas mais complexas que exigem junções, vários
estágios de filtragem e agregação ou colunas personalizadas.
3. O editor de consultas SQL / nativo.

Obs.: Sempre que formos criar uma Question precisamos clicar em Ask a Question,
para os passos futuros omitirei essa informação.

Veremos os dois primeiros nesta primeira etapa, posteriormente teremos um outro


material para abranger de forma mais profunda SQL e a forma que o Metabase trata o
SQL.
Simple Questions
Primeiro clique em Ask a Question
Simple Questions
Clique em Simple Question
Simple Questions
Será mostrada a janela de
adicionar o dado, selecione
Sample Dataset.

Depois selecione a tabela


Orders.
Simple Questions
Agora será mostrado essa janela com todos os dados da tabela
Simple Questions
Ao canto direito no campo Filter teremos acesso
as colunas da tabela.

Note que terá acesso a outras tabelas também ,


isso só ocorre devido a estas tabelas terem
Chaves primárias e estrangeiras, vinda do banco
de dados.

O Metabase Mapeia isso.


Simple Questions
Em Summarize, temos as métricas e
dimensões que podemos estar agregando os
dados.
Simple Questions
Dentro de Summarize, vamos agregar os
dados pegando a receita total (soma da
coluna Total).

Assim iremos exibí-la como um big number.


Simple Questions
Se clicar em visualization verá que teremos acesso a outros tipos de gráficos.

Após selecionar o tipo clique em Done.


Simple Questions
Depois clique em settings na visualização e você verá estes
campos:

Style: Estilo da apresentação do dado

Separator Style: Tipo de separação “,” ou “.”

Minimum number of decimal places: Número de casas decimais.

Multiply by a number: Multiplica o dado por um valor

Add a prefix: Adiciona um Prefixo

Add a suffix: Adiciona um Sufixo


Simple Questions
Ao clicar em Save a question, você terá
acesso a tela mostrada na imagem:

Em Name digite um nome fácil de


encontrar.

Em Description digite uma descrição.

Em collection para armazenar, selecione


sua collection pessoal.

Obs. O Metabase permite ter questions


com mesmo nome.
Simple Questions
Após salvar, aparecerá uma tela perguntando se você deseja inserir esta question
em um Dashboard.

Por enquanto clique em Not Now.


Simple Questions
Agora arraste sua question para a collection treinamento.

Obs.: Em alguns casos não consegui salvar automaticamente na collection treinamento dentro da
collection pessoal. Neste caso contornei a situação movendo todos os questions e dashboards
depois de criados.
Simple Questions
Parabéns você criou sua primeira question
Simple Questions
Dicas: Quando for criar perguntas pense em qual a pergunta atrelada ao negócio
ou problema que você quer responder.

Embora o nome seja question, ela trará a resposta.

Crie uma hierarquia de collections de acordo com sua necessidade e com um


bom entendimento para separar bem seus cards e dashboards.

Teste sempre as funcionalidades com coisas básicas para depois realizar a


versão final.
Exercício Simple Questions
Vamos responder mais algumas perguntas:

Qual a quantidade de pedidos ao longo do tempo?

Qual o total de produtos cadastrados?

Quantos clientes estão cadastrados?

Quantos clientes temos por estado?

Qual a maior fonte de entrada destes clientes?(de onde vieram? Twitter,


facebook, etc)
Exercício Simple Questions
Custom Questions
Agora vamos criar uma questão personalizável.

Aqui a grande vantagem é poder usar Joins, selecionar a quantidade de linhas,


criar métricas por equação.
Custom Questions
Clique em Ask a Question, Selecione Custom Question, Selecione Sample
Dataset, selecione a tabela People.

Nesta Tela você terá


acesso a criar colunas,
Joins, Filtros,
Agregação, ordenar,
limitar, e visualizar os
dados de acordo com os
parâmetros
selecionados.
Custom Questions
Clique em Join, selecione a tabela ORDERS, Em Campos de join, selecione ID e
User_ID, o primeiro campos é referente a primeira tabela, e o Segundo ao campo
de chave de conexão da Segunda tabela.

Após isso clique no símbolo


de Play ao lado direito da
linha de onde foi feito o
Join, para ver a prévia dos
dados, você verá uma
tabela conforme a que esta
na imagem.
Custom Questions
Como as Tabelas estão
linkadas?

A esquerda temos o ERD


(Entity Relationshio
Diagram) do dataset
Sample.

Isso nos dá até uma visão


geral de como podemos
fazer as perguntas ao
Metabase.
Custom Questions
Na imagem tem os tipos de Join aceitos pelo metabase no Custom question.

Inner Join: Ele faz a interseção entre as duas tabelas, ou


seja pega o campo comum em uma e em outra, tirando
do resultado o que não é igual

Left Join: Ele traz tudo que está do lado esquerdo do


JOIN ou seja a primeira tabela, tanto os registros que não
se relacionam com a segunda tabela, quanto os que
fazem parte da interseção com a segunda tabela.

Right Join: Ele traz tudo que está do lado esquerdo do


JOIN ou seja a segunda tabela, tanto os registros que
não se relacionam com a primeira tabela, quanto os que
fazem parte da interseção com a primeira tabela.
Fonte: https://static.platzi.com/media/user_upload/join-ec33e140-6c5d-4af1-bf5e-d9ff157f378c.jpg
Custom Questions
Selecione em Summarize States da tabela PEOPLE para agrupamento.

Para o valor total de receita selecione SUM of TOTAL da tabela ORDERS.


Custom Questions
Fique livre para fazer as modificações que desejar.
Custom Questions
Salve como Receita por estado em sua collection pessoal.
Custom Questions
Parabéns você criou sua primeira custom question.
Exercício Custom Questions
Vamos responder mais algumas perguntas:

Qual as 5 categorias mais compradas no estado de Los angeles?

Qual os cinco pedidos mais vendidos?

Qual o usuário que comprou mais produtos?

Quais os 10 produtos que tiveram maior índice de avaliação?

Qual o total de impostos pagos em referência ao ano anterior?


Qual os cinco pedidos mais vendidos?
Qual os cinco pedidos mais vendidos?
Vai ficar parecido com isso
Qual o total de impostos pagos em referência ao
ano anterior?
Qual o total de impostos pagos em referência ao
ano anterior?
Qual o total de impostos pagos em referência ao
ano anterior?
Criando Dashboards
Dashboards
Agora hora de montarmos uma visualização com as questões que criamos.

Para isso vá no sinal de + no canto superior direito.

Selecione New Dashboard


Dashboards
Salve o Dashboard com o nome de sua preferência, lembre-se de escolher a sua
collection pessoal.
Dashboards
Será exibida a tela abaixo:

1. Nome e collection do Dashboard;


2. Inserção de question;
3. Modo de edição do Dashboard;
4. Mover o Dashboard de collection;
5. Copiar o Dashboard;
6. Tempo de refresh automático;
7. Visualizar em tela cheia;
Dashboards
Clique em Edit Dashboard. Você terá acesso a essa tela.

Ao canto esquerdo você pode esditar o nome e a descrição do Dash.


A direita você tem as seguintes opções ordenadas da esquerda para a direita:
● Inserir question
● Inserir Filtro
● Inserir caixa de texto
● Revision History (aqui você ve todo o histórico de edição do dash)

Acima a direita você verá o botão de save.

Lembre-se sempre de salvar o Dash antes de apertar um F5


Dashboards
Clique em Edit Dashboard. Você terá acesso a essa tela.

Ao canto esquerdo você pode esditar o nome e a descrição do Dash.


A direita você tem as seguintes opções ordenadas da esquerda para a direita:
● Inserir question
● Inserir Filtro
● Inserir caixa de texto
● Revision History (aqui você ve todo o histórico de edição do dash)

Acima a direita você verá o botão de save.

Lembre-se sempre de salvar o Dash antes de apertar um F5


Dashboards
Clique em Add a Question, navegue pelos caminhos de sua coleção pessoal >
Treinamento.
Dashboards
Note que você verá todas as questions criadas,
caso tenha salvo elas em outra collection, jogue
elas na collection treinamento dentro de sua
collection pessoal.

Após isso selecione as três questions marcadas na


imagem ao lado. Depois salve o Dashboard.
Dashboards
Para movimentar os cards dentro do Dashboard, você pode arrastar eles e
redimensionar.

Para redimensionar basta passar o mouse sobre o canto inferior direito quando
aparecer o ícone de re-dimensionar clique segure e arraste o ícone.

Note que o Metabase tem uns quadriculados ao fundo, esse quadriculado é onde
ele controla o grid para o tamanho dos itens.

Alguns itens tem um tamanho mínimo para ficar no dashboard (infelizmente para
Markdown a largura é 4 e a altura é 1, isso faz com que fique ruim re-dimensionar
imagens).
Dashboards
Insira uma caixa de texto para podermos colocar um título e campos para link
entre páginas. Arraste os campos para ficarem da forma abaixo.
Dashboards
Ao passar o mouse sobre o card, aparecerá um ícone com uma engrenagem, clique nele, entrará em
uma janela de configuração. Faça isso para o card de total de pedidos e troque o nome.

Lembre-se sempre de clicar em done para validar a alteração.


Dashboards
Ao passar o mouse sobre o card(da
caixa de texto), aparecerá um ícone
com uma engrenagem, clique nele,
entrará em uma janela de
configuração como ao lado.

Centralize os alinhamentos verticais


e horizontais. (Middle e Center)

Escreva # KPI’s e nas linhas de


Baixo:

## Visão Geral

## Vendas
Dashboards
Deixe os cards do Dashboard conforme abaixo:
Dashboards
Clique em Add a Filter para adicionar um filtro e
selecione Location FIlter.

No Campo dos cards é possível selecionarmos as


colunas que queremos filtrar. Selecione State
Markdown
Markdown é uma linguagem simples de conversão text-to-HTML. Algumas das
plataformas a usam para facilitar a escrita de documentação. alguns exemplos
são os artigos do Linkedin, Github, Jupyter Notebooks, Medium, etc…

As vantagens é que além de ser simples em alguns sites você pode usar a
sintaxe de HTMl sem problemas que ele entende.

Obs.: O Metabase até a versão 0.34.1 não aceita sintaxe HTML para markdown.
As outras limitações irei colocando conforme for progredindo no material.
Markdown
Titulos para títulos de H1 a H6 usamos o #:

# Título nível 1

## Título nível 2

### Título nível 3

#### Título nível 4

##### Título nível 5

###### Título nível 6


Markdown
Para escrever um parágrafo basta escrever normalmente.

Para deixar um texto em negrito escreva uma palavra usando **negrito**

Para italico *italico*.

Para usar hiperlink:

[texto](www.google.com.br)

Para linkar uma imagem:

![texto](link da imagem)
Markdown
Para criar listas com pontos use o * seguido de um espaço.

* item 1

* item 2

Para criar listas com números, use o número seguido de um . seguido de um


espaço:

1. item1

2. item2
Markdown
Parabéns agora você é especialista em Markdown
Dashboards
De volta aos dashboards, vamos criar a segunda página e melhorar nossa
análise. A primeira etapa é criar um novo Dashboard com o nome de
Treinamento Vendas.

Após isso pegue o link do Dashboard no


navegador. Será algo como
https://Dominio/dashboard/número
Dashboards
Vamos colar este endereço no nosso primeiro Dashboard.

Na caixa de texto troque onde está escrito Vendas para [Vendas](Link)

Após isso clique no olho ao canto esquerdo para


ver como fica a prévia do campo com o link.
Dashboards
Entre no Dashboard Treinamento Vendas e adicione nele os seguintes cards:
Dashboards
Crie uma caixa de texto e coloque no topo para poder fazer um cabeçalho como
no Dashboard de visão geral, mas agora coloque o link do Dashboard de visão
geral, e não deixe o link no dashboard de Vendas.
Dashboards
Agrupe desta forma os Cards, e adicione as caixas de texto conforme o layout,
adicione no tamanho que desejar.
Dashboards
O mesmo para os outros itens.
Dashboards
Temos várias questions, do Dashboard de Sample, foi criado vários um para cada
ano(Série temporal de receita/vendas por dia). Vamos estar adicionando eles no
nosso de 2016 para que fiquem sobrepostos. Passe o mouse sobre a question,
ao ver o símbolo Add+ aparecer clique nele
Dashboards
Agora marque os anos 2017, 2018, 2019. e clique em Done.
Dashboards
Saia e Salve o Dashboard. Faça um teste clicando nos links e alterando entre
eles.
Dashboards
Parabéns você está ficando foda no Metabase.
EXTRA TASK
Dashboards
Mas será que o Design de nossa tela de visão geral realmente está respondendo
todas as perguntas necessárias?

Para ser sincero está horrível.


Vamos Gerar mais questions.
Vamos colocar os Trends de :
● Receita líquida (Receita total -
impostos - Descontos)
● Total de descontos.
● Quantidade de pedidos(quantity)
● Quantidade de notas 4 e 5 nos
Reviews.
● Fazer em trends mensal.
● Editar a receita total, e os clientes
cadastrados os transformando em
trends.
Dashboards
Tente gerar algo como o da imagem.
Dashboards
Os cards estão um pouco melhor do que antes. Mas claro que ainda dá para
melhorar.
Dashboards
Não se esqueça de trocar os labels dos gráficos.

Isso torna mais fácil a leitura.

Fique a vontade para adicionar quantos cards a mais


desejar.

Dica: Tente buscar formatações de texto e números de


forma que fique fácil o entendimento, caso ainda possa
parecer confuso adicione alguns textos com markown
para que o fique entendível as informações.
Dashboards
Parabéns, agora sim ficou show!!
Criando Pulses
Pulses
Os pulses permitem usar as question para o envio de email automático.

Para isso vamos criar uma question de Receita agrupada por dia e vamos usar o
trend para que ele envie comparando o de hoje com o de ontem.
Pulses
Salve a question como Receita por dia - Pulse.

Após isso clique em Create Pulse.

Selecione seu collection pessoal.


Pulses
Selecione a question Receita por dia - Pulse.
Pulses
Adicione seu e-mail e clique em send E-mail now para testar. Caso queira criar o
pulse clique em Create.
Pulses
Congratulations you learned about Pulses.
Exportação e Compartilhamento
Exportação e Compartilhamento
Vamos aprender como compartilhar e exportar o nosso
trabalho.

A exportação permite que seja possível compartilhar os


dashboards através de links públicos, isso permite que os
dashboards fique visível para aqueles com estes links.

Obs.: Somente o usuário admin pode dar a


permissão para compartilhamento dos
dashboards.

Photo By @mahkeo in Unspslah


Exportação e Compartilhamento
Esta é a tela do painel de
admin, onde deve ser
ativado esta opção:

O caminho é:

Admin> Settings > Public


Sharing

Marque Enable
Exportação e Compartilhamento
Para estar compartilhando vá no dashboard de sua escolha. clique em sharing
and embeding.
Exportação e Compartilhamento
Na tela que abrir marque Enable Sharing.

Após isso basta pegar o link e compartilhar.


Exportação e Compartilhamento
Ae, Finalmente acabou! Parabéns!!
Concluindo
Explore mais o metabase...
O metabase tem diversos recursos interessantes que adicionarei ao material
futuramente.

● Segments
● Metrics
● Metadados
● Painel de Admin

E ainda outros recursos não deixe de visualizar a documentação.

Sei que o Metabase tem bastante limitação quanto a perfumaria de dashboards e


lementos, mas não se acanhe com isso pois ele possui bastante forma de lhe
auxiliar no dia a dia.
Parabéns
Por ter me aturado e ter chegado até aqui.

Em breve trarei mais conteúdos sobre o Metabase e Dataviz, mesmo não sendo
minha especialidade.
Referências
Documentação Metabase
● Collections
● Simple Questions
● Custom Questions
● Dashboards
● Filtros de Dashboards
● Pulses
● Guia do usuário
● Tipos de Visualização de resultados
● Public Links
Geral
● Joins
● Markdown Guide
● Aprenda Markdown
● Storitelling com dados
● Storitelling com dados: Let’s Practice!
● Blog storytellingwithdata