Apostila Curso Completo Power BI
Apostila Curso Completo Power BI
Apostila Curso Completo Power BI
• Instrutor de Power BI com mais de 15.000 alunos, 4500 avaliações e nota média 4,6
(máximo de 5)
2
Objetivos do Curso
01 02 Conectividade
03 ETL com
04 Introdução à
Introdução Modelagem
de Dados Power Query
de Dados
08 Administração e
07 Power BI
06 Visualização
05 Principais
Governança Online de Dados Funções DAX
4
Introdução
5
Data Analytics Como fazer com que aconteça?
ANÁLISE PRESCRITIVA
O que acontecerá?
ANÁLISE PREDITIVA
O que aconteceu?
ANÁLISE DESCRITIVA
Tudo Começa com BI!
7
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.
8
Cenário Atual nas Empresas
9
Cenário Atual nas Empresas
• Etc
10
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
11
Principais objetivos:
12
Processo Tradicional de BI
13
Processo Tradicional de BI
Clientes
Estoque
Produção
Vendas
ETL DW BI Relatório
Financeiro
14
O que é o Power BI?
15
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
16
Microsoft Power BI Suplementos do Excel em um único aplicativo
Powerpivot
17
Com o Power BI é preciso montar o
relatório apenas uma vez.
18
Power BI no Processo de BI
19
Processo Tradicional de BI
Clientes
Estoque
Produção
Vendas
ETL DW BI Relatório
Financeiro
20
Eu obrigatoriamente preciso
de um Data Warehouse?
21
Vamos analisar o Banco de Dados
Transacional (OLTP) da Adventure Works
22
Banco de Dados Transacional (OLTP)
23
Data Warehouse
ERP
Planilhas
CRM
Dados
externos
24
Agora vamos analisar o Banco de Dados
Dimensional (DW) da Adventure Works
para Vendas na Internet
25
Modelagem Dimensional
26
O cenário mais comum de uso do Power BI entre os
analistas de negócio é importando diretamente
as tabelas da fonte de dados
27
Power BI Conectado Diretamente na Fonte (sem DW)
Clientes
Estoque
Produção
Vendas
Power Query Powerpivot Power View
Financeiro
28
Veremos mais para frente que este não é o cenário
mais adequado e que é importantíssimo
centralizarmos nossas bases em um DW
29
Se sua empresa não tem condições de criar um DW,
podemos usar a funcionalidade chamada
Fluxo de Dados do Power BI
30
Power BI com Fluxo de Dados
Clientes
Estoque
Produção
Vendas
Power Query Fluxo de Dados Powerpivot Power View
Online
Financeiro
31
Falaremos sobre Fluxo de Dados mais para frente!
32
Por que escolhemos o Power BI?
33
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
34
Quadrante Mágico Gartner
35
“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
36 Não recomendado
Case Curso Para Negócios
37
38
Case Brokers Nestlé
39
40
Case CRM
41
42
Case DistSoft
43
44
Case Análise de Sentimento
45
46
Case Eleições Governador SC
47
48
Case Censo 2010 SC
49
50
Cases SAJ Insights (Softplan)
51
SAJ Insights
52
SAJ Insights
53
Convex Legal Analytics
54
55
Convex Legal Analytics
56
Case Convex Legal Analytics (Softplan)
57
Convex
58
Convex
59
Convex Legal Analytics
60
Convex
“O sistema analisa dados das bases dos tribunais e gera pareceres. A gente
pode entender como os tribunais estão decidindo certo assunto, ver a
tendência dominante”, explica. Não se trata de substituir o trabalho de um
advogado; a máquina está fazendo algo que simplesmente não era feito.
“Não tem como um advogado ler 5 milhões de processos para saber qual é a
distância entre o ajuizado (entrada do processo na Justiça) e a sentença. O
volume de processos é algo que vai além da capacidade humana.”
61
https://educacao.estadao.com.br/noticias/geral,robos-podem-ler-processos-e-ate-escrever-peticoes,70002449375
Cases Comunidade
62
Galerias de Relatórios
• Power BI Arte:
http://powerbiarte.com.br/
63
Galerias de Relatórios
64
Galerias de Relatórios
65
Galerias de Relatórios
66
Galerias de Relatórios
67
Galerias de Relatórios
68
Editor de Consultas
(Power Query)
69
Editor de Consultas
• 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.
70
Principais Funcionalidades
• Etc...
71
Linguagem M
72
Linguagem M
73
Linguagem M
74
Linguagem M
75
Linguagem M
76
Linguagem M
77
Linguagem M
78
Parâmetros
79
Parâmetros
• São um tipo especial de query que retornam um único valor, e podem ser utilizados em
múltiplas outras queries
• Podem ser de qualquer tipo, incluindo texto, números e datas, porém não podem ser
tabelas nem listas
• Exemplos de uso:
– Caminho do diretório ou caminho para a fonte de dados, que pode mudar ao longo do tempo e precisa ser
reconfigurada em cada uma das consultas
– Filtro de quaisquer informações em uma tabela, que pode mudar para diferentes cenários de uso
80
Exemplo de Parâmetro
81
Junção de Tabelas
82
83
84
85
86
87
88
89
Visualizando Online
https://app.powerbi.com/view?r=eyJrIjoiYmNhN
zgzYjAtNjc2OS00YjQwLTgwNzItM2Q1MzcyMmJl
YjMyIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0ZS1iM
DVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
90
Combinando Arquivos de uma Pasta
91
Combinando Arquivos de uma Pasta
• Muitas vezes temos uma pasta onde colocamos arquivos periodicamente que possuem
todos mesmos formatos
92
Tabela de Data
93
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
94
Tabela de Data
95
Introdução à Modelagem de Dados
96
Power BI Conectado Diretamente na Fonte (sem DW)
Clientes
Estoque
Produção
Vendas
Power Query Powerpivot Power View
Financeiro
97
Modelo de Dados
98
Modelo de Dados
99
Modelo de Dados
• Porém do ponto de vista de Clientes e Produtos ela não está na granularidade adequada.
• Dizemos que esta tabela está 100% desnormalizada, com informações espalhadas demais nela,
que se repetem em diversas linhas.
• Isso dificulta a criação de medidas e a análise em torno das propriedades de um Cliente ou Produto
• Essa situação fica pior ainda quando temos mais de uma tabela Fato no modelo, visto que com
ambas 100% desnormalizadas não conseguimos relacioná-las para realizar comparações de dados.
• Para corrigir isso, precisamos criar tabelas auxiliares nas granularidades corretas.
– Chamamos essas tabelas de tabelas Dimensão, e devemos relacioná-las às tabelas Fato
100
Tabelas Dimensão e Fato
101
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
102
Dimensões x Fatos
• Uma dimensão deve representar uma entidade que possui determinadas propriedades.
– Cliente: Nome, Idade, Escolaridade, Localização, etc
– Produto: 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!
103
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
104
Normalização x Desnormalização
105
Vamos analisar o Banco de Dados
Transacional (OLTP) da Adventure Works
106
Banco de Dados Transacional (OLTP)
107
Agora vamos analisar o Banco de Dados
Dimensional (DW) da Adventure Works
para Vendas na Internet
108
Modelagem Dimensional
109
Relacionamento Entre Tabelas
110
Relacionamento Entre Tabelas
Dimensão Fato
Direção
Cardinalidade
111
Cardinalidade do Relacionamento
• Um para Um (1:1)
– Não é usual, e se existe é porque ambas as tabelas poderia ser uma única
112
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
113
Resumindo...
114
Relacionamento Entre Tabelas
115
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
116 5 R$1280,00
Linguagem DAX
117
Linguagem DAX
118
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.
119
M vs DAX
120
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
122
Coluna Calculada x Medida
123
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
124
Vamos criar uma Coluna Calculada e
uma Medida no Power BI
125
Por que criar Medidas com DAX se podemos
utilizar as Colunas e deixar o Power BI fazer a
Soma, Média, Contagem, etc?
126
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]
127
Tecnicamente seria possível ignorar completamente
DAX se o máximo que precisássemos fossem
Somas, Médias, Contagens, etc.
128
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
129
Funções Agregadoras
130
Funções Agregadoras
131
Iteradores
132
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]
)
133
Buscando Valores em Outras Tabelas
134
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:
135
Funções de Tabela
136
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
137
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:
138
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] )
139
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] )
140
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:
141
Medidas Rápidas no Power BI
142
Medidas Rápidas
• O Power BI oferece uma funcionalidade muito interessante para quem está iniciando o
aprendizado em DAX, que é a possibilidade de criar medidas de forma intuitiva
143
Contextos de Avaliação
Simples a primeira vista, mas que gera muita confusão em alguns casos
144
O que é um contexto de avaliação?
145
O que é um contexto de avaliação?
146
Fontes de um contexto
147
Fontes de um contexto
148
Perguntas:
149
Exemplificando Contextos de Avaliação
150
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)
151
Função CALCULATE
152
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
153
Filtrando com CALCULATE
154
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
155
Removendo Filtros da CALCULATE com ALL
• Ambas são muito úteis para calcular porcentagem de contribuição de cada categoria no total
156
Removendo Filtros da CALCULATE com ALL
157
Removendo Filtros da CALCULATE com ALL
• Resumindo:
158
Condição E na CALCULATE
• Exemplo:
159
Condição E na CALCULATE
160
Condição OU na CALCULATE
Ou então:
161
Condição OU na CALCULATE
162
Funções de Inteligência de Tempo
163
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
164
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 >
) )
)
)
165
Funções Inteligência de Tempo
• É possível utilizar a função FILTER para acumular ao longo do período de tempo desejado:
166
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:
167
Variáveis
168
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
)
169
Relacionamentos Especiais:
Muitos para Muitos, Bidirecionais e Inativos
170
Relacionamentos de Muitos para Muitos (N:N)
171
Relacionamentos de Muitos para Muitos (N:N)
172
Relacionamentos de Muitos para Muitos (N:N)
• ATENÇÃO:
– UTILIZAR SEMPRE COM FILTRO UNIDERECIONAL, COM
A DIMENSÃO FILTRANDO A FATO
– JAMAIS CRIAR RELACIONAMENTOS N:N ENTRE
TABELAS FATO
173
Filtros Bi-Direcionais
174
CROSSFILTER
• Sintaxe:
CROSSFILTER( <Coluna 1>; <Coluna 2>; <Direção> )
• <Direção>:
– ONE: considera o relacionamento do lado 1 para o lado N
– BOTH: considera o relacionamento nos dois sentidos
– NONE: elimina o relacionamento
175
USERELATIONSHIP
• Muito utilizado quando temos relacionamento de duas colunas na Fato para uma única
coluna na Dimensão, como “Data de Vendas” e “Data de Envio”, ou quando duplicamos uma
tabela Dimensão para comparação de dados da mesma Dimensão
• Sintaxe:
USERELATIONSHIP( <Coluna 1>; <Coluna 2> )
176
TREATAS
• Com isso conseguimos transferir o contexto de filtro de uma tabela para outra mesmo sem
a presença de um relacionamento entre elas
• Sempre que possível é preferível criar relacionamentos físicos, pois são mais eficientes
que relacionamentos virtuais
• Sintaxe:
TREATAS( < expressão tabela > ; < coluna target > )
177
RANKX e TOPN
178
RANKX
• Muito útil para ranquear uma determinada categoria de acordo com uma expressão
• Sintaxe:
RANKX (
< tabela>;
< expressão >;
< opcionais >
)
179
RANKX
180
TOPN
• Função que retorna uma tabela com as TOP N linhas de uma tabela avaliada em uma
determinada expressão
• Sintaxe:
TOPN (
N,
< tabela >;
< expressão >;
< opcionais >
)
181
Visualização de Dados
182
Storytelling com Dados
183
Por que Storytelling é Importante?
184
Ciência por Trás da Visualização de Dados
185
Recomendações para Visualização de Dados
186
Recomendação de Leitura
187
Antes x Depois
Dê destaque ao
que importa!
188
Antes x Depois
189
Antes x Depois
190
Antes x Depois
191
Antes x Depois
38%
29%
22%
16%
192
Antes x Depois
193
194
ALGO DE
ERRADO NÃO
ESTÁ MUITO
CERTO!
Galerias de Relatórios
• Power BI Arte:
http://powerbiarte.com.br/
196
Guia de Referência de Visuais
197
Storytelling com Power BI
198
199
200
201
Visualizando Online
https://app.powerbi.com/view?r=eyJrIjoiMDA4Y
WIwZWEtMDE3ZS00YmFhLWE5YWMtODFlZWE
zNTU1ODNiIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0
ZS1iMDVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
202
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
203
Visual Customizado para Storytelling
204
Aplicativo Mobile
205
Aplicativo Mobile
206
Power BI Online
207
Principais Funcionalidades do Serviço do Power BI
1) Visualização de relatórios
208
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
209
210
Workspaces
Meu Workspace
Destinado para uso pessoal;
211
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;
212
Adicionando Pessoas aos Workspaces
213
Permissões em um Workspace
214
Compartilhamento
215
Compartilhamento de Conteúdo
2. Publicando aplicativos
3. Publicando na Web
216
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.
217
Licenciamento
218
Planos do Power BI
219
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
220
Power BI Premium
221
O que é o Power BI Premium?
222
Atribuindo Plano Premium a um Workspace
223
Principal Vantagem do Power BI Premium
224
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
225
Outras Vantagens do Power BI Premium
226
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
227
Quando Adquirir os Planos P do Power BI Premium?
228
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
229
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
230
Atualização de Dados
231
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
232
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
233
Segurança a Nível de Linha (RLS)
234
Segurança a Nível de Linha (RLS)
• Cria-se uma função no Power BI Desktop através da aplicação de um filtro que irá restringir os
dados no nível de linha
235
Segurança a Nível de Linha (RLS)
• Selecione a tabela à qual você deseja aplicar a regra e insira a expressão DAX
– Esta expressão deve retornar TRUE ou FALSE
236
Segurança a Nível de Linha (RLS)
• Ao publicar este relatório no serviço do Power BI, será necessário atribuir os usuários finais às
funções criadas no Power BI Desktop
• Para gerenciar a segurança no modelo de dados, deve-se ir à aba “Conjunto de dados”, clicar nas
reticências e depois em “Segurança”
237
Administração e Governança
238
Cenário nas Empresas Antes do Power BI
• Etc
239
Aí surgiu o Power BI e todos os
problemas se acabaram!!!
240
Será mesmo?!
241
Utilizando Power BI na Organização
Aline:
Vendas x
Leonardo:
Base Budget.PBIX
Visão
Vendas Gerentes.pbix
ETL
Leonardo:
Visão
Vendedores.pbix Leonardo:
Budget Visão
Diretoria.pbix
Fernando:
Vendas x
Base Compras.PBIX Perceberam que tem uma transformação errada sendo
Compras aplicada na Base de Budget e que tem um KPI
de Vendas sendo calculado de forma errada!
242
Problemas Comuns Encontrados no Uso do Power BI
• Criação de diversos modelos de dados com os mesmos dados e medidas DAX repetidas
243
Governança de Dados
• Não é porque estamos utilizando o Power BI que agora teremos a vida fácil.
• Automatizar tarefas repetitivas que antes eram feitas de forma manual no Excel
foi apenas o primeiro passo estabelecer uma Cultura de Dados na Organização.
244
Governança de Dados
245
Fluxo de Dados
246
Fluxo de Dados
247
Fluxo de Dados
1. Fornecer uma cópia das tabelas de banco de dados aos analistas de negócios, visto que dificilmente a TI
libera acesso para eles diretamente ao banco de dados. Com isso uma pessoa elencada pela TI pode ficar
responsável por criar essas Entidades no Dataflow (Entidade é a nomenclatura para Tabela no DF);
2. Centralização e reaproveitamento das tabelas resultantes de transformações pelo Power Query, evitando o
trabalho de copiar queries de um PBIX para outro e ter que manter as mesmas transformações em
diferentes locais;
248
Sem Fluxo de Dados
Comercial
Dimensão Data
utilizada no arquivo
Comercial.pbix
Dimensão Data
utilizada no arquivo
Financeiro.pbix
Financeiro
Comercial
Arquivo
Comercial.pbix
Dimensão Data
processada no
Fluxo de Dados Arquivo
Financeiro.pbix
Financeiro
Workspace A
Conjunto de
Dados A1
Conjunto de
Fluxo de Dados A
Dados A2
Workspace B
Conjunto de
251 Dados B1
Shared Datasets
252
Conjuntos de Dados Compartilhados
• Ao publicar um arquivo PBIX, duas estruturas são criadas no Serviço Online do Power BI:
1) Relatório; 2) Conjunto de Dados
253
Conjuntos de Dados Compartilhados
Workspace A
Relatório A1
Workspace B
É criado um link para
o Conjunto de Dados
original, não havendo
duplicação dos dados
254 Relatório B1
Conjuntos de Dados Promovidos e Certificados
255
Processo de BI
256
Processo de BI Conceitual
Clientes
Estoque
Produção
Vendas
ETL DW BI Relatório
Financeiro
257
Processo de BI com Power BI
Clientes
Estoque
Produção
Vendas
Conjunto de Dados Relatórios
Power Query Fluxo de Dados
e Painéis
Online
Financeiro
Base de Dados
258
Arquitetura Ideal
Necessita de atualização e não Essas 3 estruturas criadas podem
Necessita de atualização e exige gateway se não forem estar em Workspaces diferentes
exige gateway se a base adicionadas bases de dados
de dados for local locais ao Fluxo de Dados
Power BI Online
Ambiente Local
Conectar
Importar Live
Base de Modelo de Relatório
Dados Dados PBIX PBIX
• Maior facilidade no trabalho em equipe, podendo-se separar as equipes que cuidam de cada
camada.
261
Data Lineage
262
Data Lineage
263
264
Data Lineage
265
Modelo Tabular
266
Modelo Tabular
• DAX é uma linguagem fácil de ser aprendida, porém não tão simples de dominar por completo
– Há sempre diversas maneiras de se obter o mesmo resultado
– Saber qual é a melhor maneira não é uma tarefa fácil
– Requer grandes esforços para otimização quando se trabalha com grandes bases de dados
267
Modelo Tabular
268
VertiPaq Engine
• Passos executados:
– Leitura dos dados, transformação em uma estrutura colunar codificada e comprimida
– Criação de dicionários e índices para cada coluna
– Criação de estrutura de dados para relacionamentos
– Cálculo e compressão das colunas calculadas (portanto são comprimidas após as colunas originais)
269
Compressão Colunar
270
Compressão Colunar
• Value Encoding:
– Realiza operações matemáticas nos valores da coluna a fim de diminuir a quantidade de bits armazenado
– Válido apenas para colunas de números inteiros
• Dictionary Encoding
271
Dictionary Encoding
• Troca o armazenamento de strings por inteiros e cria um dicionário dos valores distintos (De-Para dos valores)
• Esta troca do tipo de dados reduz a quantidade de bits necessário para o armazenamento
• Torna o modelo tabular praticamente independente do tipo de dado das colunas, pois sempre haverá a
transformação deles para número inteiro
• Seu tamanho é altamente afetado pela quantidade de valores únicos na coluna
Dictionary Encoding
272
Run Length Encoding (RLE)
• Cria uma estrutura que diminui o tamanho da tabela evitando valores repetidos
• Depende muito da ordenação da coluna e também da quantidade de valores únicos
– Esses são os dois piores inimigos da VertiPaq Engine
– A quantidade de linhas e o tipo de dado são menos importantes que a cardinalidade e a distribuição dos dados
2
RLE
1
273
1
Compressão Final
Dicionário
Dictionary
Encoding
Dados
RLE
274
VertiPaq Analyzer
• Download: https://www.sqlbi.com/tools/vertipaq-analyzer/
275
DAX Studio
• É possível capturar queries DAX de um modelo PBIX aberto, a fim de encontrar possíveis
gargalos em questão de performance e otimizar o modelo
• Download: https://www.sqlbi.com/tools/dax-studio/
• Vídeos interessantes:
– https://www.youtube.com/watch?v=tR9WPT4L87M
– https://www.youtube.com/watch?v=B-h3Pohtn1Y
276
Inteligência Artificial e
Machine Learning
277
Conceitos
• Inteligência Artificial: capacidade das máquinas de
pensarem como seres humanos: aprender, perceber e
decidir quais caminhos seguir, de forma racional, diante
de determinadas situações.
278
Data Analytics Como fazer com que aconteça?
ANÁLISE PRESCRITIVA
O que acontecerá?
ANÁLISE PREDITIVA
O que aconteceu?
ANÁLISE DESCRITIVA
279
Conceitos
• a
280
Percepções de Inteligência Artificial
281
282
Aplicações de Negócio
283
284
Processo de Aprendizado de Máquina
285
Machine Learning
• Aqui entra o Aprendizado de Máquina: processo que aplica técnicas estatísticas a grandes
quantidades de dados históricos e identifica padrões que explicam um determinado
problema
– Isso é realizado fornecendo ao algoritmo uma série de exemplos que especificam a resposta histórica para que
ele aprenda qual o melhor conjunto de parâmetros que explica a saída desta resposta
• Com isso, gera-se então um código computacional capaz de reconhecer estes padrões e
fornecer o valor da resposta para dados novos/futuros de maneira antecipada, ou seja, antes
que tal evento ocorra
286
Exercício
• Como apenas esses dados diríamos que todos cujo nome inicia com “P” cometem fraude, o
que não faz sentido algum!
• Precisamos de mais dados para poder identificar padrões reais, porém a medida que
introduzimos mais dados, mais difícil fica de identificar esses padrões
– Chega um momento em que não temos mais capacidade de identificar nós mesmos, precisando partir para o
auxílio da máquina
287
Exercício
• E com estes dados, como podemos detectar uma fraude de cartão de crédito?
288
Exercício
• E com estes dados, como podemos detectar uma fraude de cartão de crédito?
• No mundo real teremos milhões de linhas, muito mais colunas, e diversas combinações
possíveis. Precisamos utilizar Machine Learning, e o resultado final serão probabilidades!
289
Problemas do Mundo Real:
290
Tipos de Aprendizado
291
Tipos de Aprendizado
Supervisionado:
• Por meio de um conjunto de exemplos onde a variável de resposta é conhecida, realiza-se o
treinamento de um modelo para prever valores da variável de interesse em novos dados.
• Este treinamento consiste em fazer com o que o algoritmo encontre padrões nos dados
• Após o algoritmo encontrar o padrão, ele o utiliza para prever valores futuros
Não Supervisionado:
• A partir dos dados de entrada, onde não se tem a variável de resposta, o algoritmo realiza
agrupamentos (clusters) baseando-se em similaridades dos dados.
• Exemplos:
– Identificação de segmentos de clientes com características semelhantes.
– Recomendação de produtos e serviços.
– Identificação de valores discrepantes de dados.
292
Modelos de Aprendizado Supervisionado
293
Modelos de Aprendizado Não-Supervisionado
294
Escolha de Algoritmo
295
Qual escolher?
Depende!
296
Grupos de Algoritmos
297
Exemplo de Modelo de Classificação: Árvore de Decisão
298
Matemática por Trás dos Modelos
Regressão Linear:
modelo mais simples de Regressão
299
Matemática por Trás dos Modelos
301
Pré-Processamento de Dados
Diversos são os problemas e os tratamentos que precisamos realizar nos dados. Alguns
exemplos mais comuns são:
• Dados em branco
• Tipos de dados errados (dados numéricos como strings, categóricos como numéricos, etc)
• Presença de outliers
• Granularidade muito alta (dados muito detalhados)
• Alta dimensionalidade
• Presença de features irrelevantes
• Features com escalas muito diferentes entre si
• Etc...
302
Aprendizado Supervisionado
303
Processo de Aprendizado Supervisionado
Dados Dados
Preparados Novos
Definir
objetivo
Split
Entender o
problema
Dados de Dados de
treinamento teste
Obter e
entender
os dados Treinar Predizer
modelo resultados
Pré-processar
os dados Avaliar
modelo
304
Por que Dividir em Treino e Teste?
• Como é a melhor forma de saber se você está preparado ou não? Digamos que há 100
questões no simulado:
– 1) Ver a solução das 100 questões e refazer o teste inteiro depois disso?
– 2) Ver a solução de apenas 70 questões e fazer as outras 30 questões sem olhar a solução?
• O próprio Power BI oferece algumas análises avançadas que utilizam Machine Learning:
– Forecasting
– Regressão linear
– Clustering
– Explicar aumento/diminuição (utiliza algoritmos por trás)
• Porém há muitas aplicações no mercado que abstraem toda a tecnologia e o código por trás para
que uma pessoa sem experiência com programação possa também criar seus modelos e fazer
uso de Machine Learning
• Uma delas é o Azure Machine Learning Studio, da Microsoft, que é a melhor solução de
mercado para aprender ML (opinião própria)
306
Azure
Machine Learning Studio
307
Azure Machine Learning Studio
• AML Studio é um serviço em nuvem da Microsoft que ajuda pessoas a executarem análises preditivas sem a
necessidade de escreverem código (100% Drag & Drop)
– Você não precisa se preocupar com restrições de espaço e processamento em sua máquina, pois tudo é executado em nuvem
• Trata-se de uma ferramenta gráfica que pode ser utilizada para controlar o processo do início ao fim, sendo
possível inclusive publicar um modelo treinado como Web Service
– Fornece APIs que permitem aplicações acessarem o modelo publicado a fim de obter predições em dados novos
• Oferece uma grande gama de módulos de pré-processamento e algoritmos prontos, tudo consumido de
forma simples e intuitiva com o click do mouse
– É possível inclusive adicionar scripts Python e R, o que faz com que pessoas experientes também utilizem a solução
• Possui uma galeria com diversos experimentos que outras pessoas publicaram, sendo uma excelente forma
de iniciar e acelerar o aprendizado, além de uma documentação completa:
– https://gallery.azure.ai/experiments
– https://docs.microsoft.com/en-us/azure/machine-learning/studio/
– https://docs.microsoft.com/en-us/azure/machine-learning/studio-module-reference
308
Processo de Aprendizado Supervisionado
Dados Dados
Preparados Novos
Definir
objetivo
Split
Entender o
problema
Dados de Dados de
treinamento teste
Obter e
entender
os dados Treinar Predizer
modelo resultados
Pré-processar
os dados Avaliar
modelo
309
Processo de Aprendizado Supervisionado no AML Studio
310
Case de Estudo de Classificação:
Sobrevivendo ao Titanic
311
Case Titanic
312
https://www.kaggle.com/c/titanic/data
Dicionário de Dados Titanic
313
Antes de Criar um Modelo Preditivo,
Vamos Fazer Uma Análise no Power BI com o
Visual de Principais Influenciadores
314
315
Linguagem R
316
Pacotes do R
• dplyr: pacote para manipulação de dados que pode ser feita de uma maneira rápida e intuitiva,
uma vez que o pacote foi projetado para tornar as manipulações mais “amigáveis”
– Muito intuitivo para quem tem familiaridade com SQL
317
Pacotes do R
318
Biblioteca ggplot2
library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)
319
Biblioteca ggplot2
library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)+
geom_bar()
320
Biblioteca ggplot2
library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)+
geom_bar() +
facet_grid(Embarked ~ Pclass)
321
Biblioteca ggplot2
library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)+
geom_bar() +
facet_grid(Embarked ~ Pclass) +
ggtitle("Class and Port of Embark.") +
xlab("Sex") +
ylab("Total Count")
322
Tipos de Geometria
Inúmeros tipos de geometria são possíveis de serem utilizadas nos visuais do ggplot2:
323
Utilizando R no Power BI
324
R no Power BI
325
Visuais do R
• Os visuais do Power BI são excelentes para visualização, mas o que torna o Power BI único
são as possibilidades de filtros, drill-down e cruzamentos entre diferentes visuais
• Utilizar visuais do R é mais fácil do que aplicar transformações com Scripts R e não exigem
conhecimento em estatística
326
Visuais do R
Vantagens:
• Inúmeros tipos de visuais não disponíveis nativamente no Power BI
• Muito bons para incluir multivariáveis em um mesmo visual
• Relativamente fáceis de aprender
Desvantagens:
• O Power BI limita os dados enviados para o R em 150 mil linhas
• O Power BI automaticamente remove linhas duplicadas
– Dica: coloque junto na lista de campos algum identificador único para evitar remoção de linhas duplicadas
• Não fornece cross-filter nos dois sentidos
• Não possui opção de drill down
• Não oferece tooltips
• Não funciona com relatórios publicados na Web
327
Próximos Passos em Data Science
328
Próximos Passos
329