Apostila Curso Express Power BI
Apostila Curso Express Power BI
01 02 ETL com
03 Modelagem de
04 Linguagem
Introdução
Power Query Dados DAX
06 Power BI
05 Visualização
Online de Dados
2
Introdução
3
O que é BI?
Transformação e Monitoramento e
Coleta Organização Análise Compartilhamento
Das informações que são a base da gestão de negócios, tais como informações de
vendas, estoque, produção, financeiro, informações de clientes, etc.
4
Cenário Atual nas Empresas
5
Cenário Atual nas Empresas
• Etc
6
Plataformas Modernas de BI
• Cada vez mais a área de Negócios está pedindo independência da TI no uso e criação de
relatórios, a fim de ganhar agilidade e autonomia
7
Principais objetivos:
8
Processo Tradicional de BI
9
Processo Tradicional de BI
Clientes
Estoque
Produção
Vendas
ETL DW BI Relatório
Financeiro
10
O que é o Power BI?
11
Microsoft Self-Service BI Suplementos do Excel
Power Query
Permite a obtenção e
manipulação de
informações a partir de
diferentes fontes de dados
Camada de ETL
Powerpivot
Permite a criação de modelos
de dados diretamente no Excel
para a transformação dos Power View
dados em informações
significativas. Fica sobre um Permite a criação de
banco de dados em memória relatórios e dashboards
extremamente rápido! que garantem uma
experiência interativa ao
Camada de Modelagem usuário
de Dados
Camada de Relatórios
12
Microsoft Power BI Suplementos do Excel em um único aplicativo
Powerpivot
13
Com o Power BI é preciso montar o
relatório apenas uma vez.
14
Power BI no Processo de BI
15
Processo Tradicional de BI
Clientes
Estoque
Produção
Vendas
ETL DW BI Relatório
Financeiro
16
Eu obrigatoriamente preciso
de um Data Warehouse?
17
Vamos analisar o Banco de Dados
Transacional (OLTP) da Adventure Works
18
Banco de Dados Transacional (OLTP)
19
Data Warehouse
ERP
Planilhas
CRM
Dados
externos
20
Agora vamos analisar o Banco de Dados
Dimensional (DW) da Adventure Works
para Vendas na Internet
21
Modelagem Dimensional
22
O cenário mais comum de uso do Power BI entre os
analistas de negócio é importando diretamente
as tabelas da fonte de dados
23
Power BI Conectado Diretamente na Fonte (sem DW)
Clientes
Estoque
Produção
Vendas
Power Query Power Pivot Power View
Financeiro
24
Por que escolhemos o Power BI?
25
Vantagens Microsoft Power BI
• Atualizações mensais
• Integração com outras soluções da Microsoft (Azure, Azure Machine Learning, Sharepoint, SSAS, HDInsight, etc)
• E, por último, mas não menos importante, o preço imbatível: $9,90 por usuário por mês
26
“Versões” do Power BI
Versão Versão Online Versão Online
Desktop Plano Free Plano Pro
Realizar transformações, construir modelos e utilizar funções DAX
Construir relatórios
Construir dashboards
27 Não recomendado
Power Query
28
Power Query
• Foi desenvolvido com foco no Analista de Negócios, que pode realizar inúmeras ações
apenas com o clique do mouse
• Utiliza a linguagem M por trás, que por sua vez foi desenvolvida com foco no Analista de
Dados, usuários que se sentem mais confortáveis com uso de fórmulas
– Algumas ações mais avançadas são possíveis somente através do uso da linguagem M, porém a grande maioria
é possível de ser realizada com o clique do mouse.
– Não é necessário aprender esta linguagem a fundo, mas entender um pouco do contexto e das estruturas dos
códigos gerados lhe ajudará a ganhar mais produtividade nas criações.
29
Principais Funcionalidades
• Etc...
30
Linguagem M
31
Linguagem M
32
Linguagem M
33
Linguagem M
34
Linguagem M
35
Linguagem M
36
Linguagem M
37
Tabela de Data
38
Tabela de Data
• É possível criar facilmente uma tabela de datas a partir de uma lista no Editor de Consultas
• Com a lista criada, basta agora transforma-la em uma tabela clicando em “Para a Tabela”
• Com a tabela de datas criada é possível agora criar novas colunas a partir da coluna de data
39
Tabela de Data
40
Introdução à Modelagem de Dados
41
Power BI Conectado Diretamente na Fonte (sem DW)
Clientes
Estoque
Produção
Vendas
Power Query Powerpivot Power View
Financeiro
42
Modelo de Dados
43
Modelo de Dados
44
Tabelas Dimensão e Fato
45
Banco de Dados Dimensional
Dimensão A Tabelas Dimensão:
Fato
Dimensão B Dimensão E
• Medidas sobre o negócio
• Valores que posso agregar
• Dados quantificáveis
• Pode conter milhões de
linhas
• Ex: quantidade de vendas,
valor das vendas, lucro
Esquema
Estrela
Dimensão C Dimensão D
46
Dimensões x Fatos
• Uma dimensão deve representar uma entidade que possui determinadas propriedades.
– Cliente: Código, Nome, Idade, Escolaridade, Localização, etc
– Produto: Código, Nome do Produto, Categoria, Subcategoria, Cor, Tamanho, etc
• Essas dimensões interagem entre si e geram um evento, que é armazenado em tabelas Fato:
– Um produto é vendido em uma determinada DATA, para um determinado CLIENTE, que mora em uma CIDADE, e
por aí vai.
• Quando criamos um modelo de dados tentamos sempre deixá-lo no Esquema Estrela (Star
Schema), visto que ele é comprovadamente o esquema mais eficiente para análise de dados.
• Isso significa ter uma ou mais tabelas fatos com dimensões ligadas à ela
– As tabelas fato NUNCA devem estar relacionadas entre si!
47
Dimensões x Fatos
DIMENSÃO FATO
Tipo de • Define entidades de negócios • Armazena observações/eventos
• Exemplo: produtos, clientes, históricos
informação fornecedores, data, contas, etc • Exemplo: vendas, transações, estoque,
orçamento, títulos pagos, etc
Estrutura • Possui uma chave única • Chaves das dimensões que se repetem
(identificador da dimensão) ao longo das linhas
• Colunas descritivas (atributos) • Colunas numéricas
48
Relacionamento Entre Tabelas
49
Relacionamento Entre Tabelas
Dimensão Fato
Direção
Cardinalidade
50
Cardinalidade do Relacionamento
• Um para Um (1:1)
– Não é usual, e se existe é porque ambas as tabelas poderia ser uma única
51
Direção do Filtro Cruzado
• Único:
– Filtro se propaga do lado 1 para o lado N, ou seja, das Dimensões para as Fatos
– Comportamento padrão, mais seguro e eficiente computacionalmente
• Ambos:
– Filtro se propaga em ambos os sentidos (Bidirecional)
– Precisa ser ativado manualmente
– Perigoso e mais lento que o padrão Unidirecional
52
Resumindo...
53
Relacionamento Entre Tabelas
54
Relacionamento Entre Tabelas
Produto
ID Produto Produto Categoria
3 Rádio Audio
Vendas
ID Produto Valor
4 DVD Player Audio
1 R$300,00
5 Dell XPS Computers
1 R$550,00
1
2 R$430,00
3 R$259,00
*
3 R$198,00
4 R$59,00
5 R$980,00
55 5 R$1280,00
Linguagem DAX
56
Linguagem DAX
57
Funções DAX
Funções lógicas
01 Agem sobre uma expressão para retornar informações sobre os
valores da expressão.
DAX
DATA ANALYSIS EXPRESSIONS Funções de data e hora
02 Semelhantes às funções de data e hora do Microsoft Excel. No
entanto, as funções DAX se baseiam nos tipos de dados datetime
Coleção de funções, operadores e constantes usados pelo Microsoft SQL Server.
que podem ser usados em uma fórmula ou
expressão, para calcular e retornar um ou mais Funções de filtro
valores. 03 Permitem manipular o contexto de dados para criar cálculos
dinâmicos
Funções semelhantes às do Excel.
Funções de inteligência de tempo
04 Usando intervalos de hora e data em combinação com agregações
ou cálculos, é possível criar comparações significativas em períodos
de tempo comparáveis.
58
M vs DAX
59
M vs DAX
X
• Voltado para modelagem de negócio
• Voltado para ETL
• Pode referenciar colunas de
• Sempre que possível é preferível criar quaisquer tabelas através de
colunas e tabelas pelo Power Query relacionamentos e Lookups
devido à melhor compressão
M vs DAX
61
Coluna Calculada x Medida
62
Coluna Calculada x Medida
X
tabela, sendo recalculadas a cada do seu uso e somente para as linhas
atualização visíveis nos visuais do relatório
63
Vamos criar uma Coluna Calculada e
uma Medida no Power BI
64
Por que criar Medidas com DAX se podemos
utilizar as Colunas e deixar o Power BI fazer a
Soma, Média, Contagem, etc?
65
Coluna Calculada x Medida
A 80 20 0,25
SUM SUM SUM
A 120 36 0,30 Produto
Venda Lucro Margem
B 50 5 0,10 A 300 66 0,65
B 100 20 0,20 B 230 35 0,425
B 80 10 0,125
[Margem Correta] =
SUM ( Tabela[Lucro] ) / SUM ( Tabela[Venda] )
Tabela[Margem] =
Tabela[Lucro] / Tabela[Venda]
66
Tecnicamente seria possível ignorar completamente
DAX se o máximo que precisássemos fossem
Somas, Médias, Contagens, etc.
67
Além disso, medidas Explícitas são mais indicadas para
serem utilizadas no Valor dos gráficos no lugar de
colunas, que geram medidas implícitas
68
Funções Agregadoras
69
Funções Agregadoras
70
Iteradores
71
Iteradores
• Iteram linha a linha sobre uma determinada tabela e avaliam a expressão em cada linha,
agregando ao final o valor resultante das iterações
• Sintaxe: • Exemplo:
SUMX ( Total Custo =
< tabela >; SUMX (
< expressão >
Vendas;
)
Vendas[Quantidade] * Vendas[Custo Unitário]
)
72
Buscando Valores em Outras Tabelas
73
Função RELATED
• Permite percorrer o relacionamento do lado N para o lado 1 (Fatos para Dimensões) a fim de
obter o valor de uma coluna da tabela Dimensão
• Utilizada em situações onde há um contexto de linha, como em uma coluna calculada ou em
funções iteradoras, como a SUMX
• Recebe uma coluna e retorna um único valor
Coluna Calculada:
Medida:
74
Funções de Tabela
75
Funções de Tabela
Geralmente são aplicadas como filtros e/ou como tabelas virtuais no meio de fórmulas.
Dificilmente são utilizadas para se gerar novas tabelas físicas em modelos bem estruturados, a não
ser para testes e para estudo de como funcionam.
• FILTER
• ALL
• VALUES
• DISTINCT
• CROSSJOIN
• GENERATE
• SUMMARIZE
• ADDCOLUMNS
• SUMMARIZECOLUMNS
76
FILTER
• Iterador que vai linha a linha da tabela passada no primeiro argumento checando a condição do segundo
argumento. Ao final retorna uma tabela filtrada contendo apenas as linhas que satisfazem a condição:
FILTER(
< tabela >;
< filtro >
)
• Exemplo:
77
ALL
• Retorna uma tabela com todos os valores da(s) tabela(s) ou coluna(s) informada(s),
ignorando quaisquer filtros prévios existentes:
ALL (
< tabela > ou < coluna >
)
• Exemplo:
Todas as Vendas =
ALL ( Vendas[No. Venda] )
78
VALUES
• Retorna uma tabela com todos os valores da(s) tabela(s) ou coluna(s) informada(s),
respeitando quaisquer filtros prévios existentes:
VALUES (
< tabela > ou < coluna >
)
• Exemplo:
Todas as Vendas =
VALUES ( Vendas[No. Venda] )
79
ALL x VALUES
• A diferença entre ALL e VALUES só é percebida quando aplicamos a função a uma medida e
aplicamos diferentes filtros, como por exemplo:
80
Contextos de Avaliação
Simples a primeira vista, mas que gera muita confusão em alguns casos
81
O que é um contexto de avaliação?
82
O que é um contexto de avaliação?
83
Fontes de um contexto
84
Fontes de um contexto
85
Perguntas:
86
Exemplificando Contextos de Avaliação
87
Tipos de Contexto
Contexto de Filtro define quais linhas estão visíveis na tabela, podendo ser obtido por:
• Eixo dos visuais
• Filtros do canvas
• Filtros laterais
• Interação entre visuais
Contexto de Linha possui o conceito de “linha atual” para cada iteração, sendo definido por:
• Colunas calculadas
• Iteradores (funções SUMX, AVERAGEX, FILTER, etc)
88
Função CALCULATE
89
Função CALCULATE
CALCULATE (
< expressão >;
< filtro 1 >;
< filtro 2 >;
....;
< filtro n >
)
• Primeiro é feita a avaliação dos filtros internos e depois a avaliação da expressão para os filtros
aplicados
90
Filtrando com CALCULATE
91
Filtrando com CALCULATE
• Resumindo:
• Primeiro deve-se avaliar quais as linhas da tabela Vendas estão visíveis através dos contextos
de filtro presentes
• Após isso aplica-se um novo filtro à tabela através do filtro no segundo argumento, que
restringe a quantidade de linhas por onde a expressão será avaliada
92
Removendo Filtros da CALCULATE com ALL
• Ambas são muito úteis para calcular porcentagem de contribuição de cada categoria no total
93
Removendo Filtros da CALCULATE com ALL
94
Removendo Filtros da CALCULATE com ALL
• Resumindo:
95
Condição E na CALCULATE
• Exemplo:
96
Condição E na CALCULATE
97
Condição OU na CALCULATE
Ou então:
98
Condição OU na CALCULATE
99
Funções de Inteligência de Tempo
100
Funções Inteligência de Tempo
• Acumulado ao ano
• Acumulado ao trimestre
• Acumulado ao mês
• Mesmo período no último ano
• Mesmo período no último trimestre
• Mesmo período no último mês
101
Funções Inteligência de Tempo
• Sintaxe de mesmo período último ano (muito útil para calcular porcentagem de crescimento ao longo do tempo):
CALCULATE ( CALCULATE (
< expressão >; < expressão >;
DATEADD (
< coluna de data >; - 1; YEAR
= SAMEPERIODLASTYEAR (
< coluna de data >
) )
)
)
102
Funções Inteligência de Tempo
• É possível utilizar a função FILTER para acumular ao longo do período de tempo desejado:
103
Funções Inteligência de Tempo
• É possível utilizar a função FILTER em conjunto com a ALLSELECTED para considerar apenas
o período de tempo do slicer:
104
Variáveis
105
Variáveis
[Medida] =
[Medida] = VAR TotalVendas = SUM ( fVendas[Vendas] )
IF ( RETURN
SUM ( fVendas[Vendas] ) < 100; IF (
SUM ( fVendas[Vendas] ) * 1,25; TotalVendas < 100;
SUM ( fVendas[Vendas] ) * 0,90 TotalVendas * 1,25;
) TotalVendas * 0,90
)
106
Visualização de Dados
107
Storytelling com Dados
108
Por que Storytelling é Importante?
109
Ciência por Trás da Visualização de Dados
110
Recomendações para Visualização de Dados
111
Recomendação de Leitura
112
Antes x Depois
Dê destaque ao
que importa!
113
Antes x Depois
114
Antes x Depois
115
Antes x Depois
116
Antes x Depois
38%
29%
22%
16%
117
Antes x Depois
118
119
ALGO DE
ERRADO NÃO
ESTÁ MUITO
CERTO!
Galerias de Relatórios
• Power BI Arte:
http://powerbiarte.com.br/
121
Guia de Referência de Visuais
122
Storytelling com Power BI
123
124
125
126
Visualizando Online
https://app.powerbi.com/view?r=eyJrIjoiMDA4Y
WIwZWEtMDE3ZS00YmFhLWE5YWMtODFlZWE
zNTU1ODNiIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0
ZS1iMDVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
127
Storytelling com Power BI
Além de oferecer visuais modernos e interativos, o Power BI contem features muito interessantes
que ajudam na narração de dados:
• Drill-Down e Drill-Through
• Formatação condicional
• Tooltips
• Painel de seleção
• Painel de indicadores
• Perguntas e Respostas
• Explicar aumento/diminuição
• Insights rápidos
• Desenvolvimento de layout
para mobile
• Etc
128
Visual Customizado para Storytelling
129
Aplicativo Mobile
130
Aplicativo Mobile
131
Power BI Online
132
Principais Funcionalidades do Serviço do Power BI
1) Visualização de relatórios
133
Processo de Publicação de um Relatório
Power BI Online
Servidor da Microsoft Publicar
Conjunto
de Dados Relatório
Workspace
Modelo +
Tabelas
Importar Relatório
Ambiente Local
Banco de Dados Power BI Desktop
Servidor da Empresa
134
135
Workspaces
Meu Workspace
Destinado para uso pessoal;
136
Workspaces
Workspaces do Aplicativo
São ambientes de desenvolvimento com espaços de trabalho
compartilhados, onde múltiplos usuários podem colaborar com a criação
de relatórios e painéis;
137
Adicionando Pessoas aos Workspaces
138
Permissões em um Workspace
139
Compartilhamento
140
Compartilhamento de Conteúdo
2. Publicando aplicativos
3. Publicando na Web
141
Compartilhamento de Conteúdo
Para visualização de conteúdo de dentro do Portal Online do Power BI essas são as duas formas de compartilhamento:
1. Compartilhamento individual
Indicado quando se deseja compartilhar poucos relatórios/painéis ou quando o conteúdo deve ser compartilhado
com poucos usuários.
Ao compartilhar desta forma, qualquer mudança feita é instantaneamente visualizada pelo usuário que recebeu o
compartilhamento.
2. Publicando Aplicativos
Melhor forma para compartilhar conteúdo com grandes audiências. É possível deixar bem personalizado e com
aparência de um software.
As edições nos visuais dos relatórios e painéis não são refletidas automaticamente no Aplicativo publicado.
Aplicativos são mais recomendados pois é possível maior controle e visibilidade, porém é possível criar apenas um
Aplicativo por Workspace.
142
Licenciamento
143
Planos do Power BI
144
Planos do Power BI (sem Premium)
Versão Versão Online Versão Online
Desktop Plano Free Plano Pro
Construir modelos e utilizar funções DAX
Construir relatórios
Construir dashboards
Publicar na Web
145
Power BI Premium
146
O que é o Power BI Premium?
147
Atribuindo Plano Premium a um Workspace
148
Principal Vantagem do Power BI Premium
149
Planos do Power BI Premium
Planos EM Planos P
X
organização
Usuários Free, além das vantagens ao
Usuários Free que possuem conta no lado, podem também visualizar
AAD podem visualizar relatórios aplicativos e dashboards
embedados em aplicações SaaS, como compartilhados diretamente no portal
Sharepoint, Microsoft Teams, ou em sua online do Power BI
própria aplicação Web
150
Outras Vantagens do Power BI Premium
151
Quando Adquirir os Planos P do Power BI Premium?
• De um ponto de vista financeiro, quando seu aplicativo for distribuído para mais de 505
usuários finais que irão apenas visualizar relatórios (não irão editar):
– Acima de 505 usuários é mais vantajoso adquirir o Plano P1 e deixar todos eles com conta Free
– Abaixo de 505 usuários é mais vantajoso deixar todos eles com a conta Pro
– $9,90 x 505 usuários = $4.999,50 por mês
P1 8 25GB $4.995
P2 16 50GB $9.995
P3 32 100GB $19.995
152
Quando Adquirir os Planos P do Power BI Premium?
153
Quando Adquirir os Planos EM do Power BI Premium?
• Quando os usuários possuírem conta no seu AAD e você quiser incorporar seu relatório
em aplicações Web para mais de 63 usuários finais
– Acima de 63 usuários é mais vantajoso adquirir o Plano EM1 e deixar todos eles com conta Free
– Abaixo de 63 usuários é mais vantajoso deixar todos eles com a conta Pro
– $9,90 x 63 usuários = $623,70 por mês
154
Planos do Power BI (com Premium)
Versão Versão Online Versão Online
Desktop Plano Free Plano Pro
Construir modelos e utilizar funções DAX
Construir relatórios
Construir dashboards
Publicar na Web
Premium EM Premium P
155
Atualização de Dados
156
Processo de Publicação de um Relatório
Power BI Online
Servidor da Microsoft
Conjunto
Publicar de Dados Relatório
Workspace
Modelo +
Tabelas
Importar Relatório
Ambiente Local
Banco de Dados Power BI Desktop
Servidor da Empresa
157
Gateway de Dados Local
• Ele funciona como uma ponte fornecendo uma transferência de dados rápida e segura entre
os dados locais e os serviços do Power BI na nuvem
158