Apostila Power BI
Apostila Power BI
Apostila Power BI
Leonardo Karpinski
2,5k / mês
2016
xperiun
Bem-vindo ao maior ecossistema
de Análise de Dados do Brasil
Capacitação de Formação de
equipes / empresas consultores de
altíssimo nível
POR ONDE NÓS PASSAMOS
Instrutores qualificados
MICROSOFT
REVISTA
ISTOÉ
Resultados de alunos
Eu quero que mais pessoas
também cresçam e tenham
sucesso na carreira de BI
#INCOMPARÁVEIS
VOCÊ TAMBÉM QUER SER #INCOMPARÁVEL?
#EuQueroSerIncomparável
Vivemos na Era da Informação,
onde milhares de dados são
criados a cada segundo
Por que os dados são tão
importantes para as empresas?
Dados são a matéria-prima que,
devidamente transformada, permite
às empresas tomarem decisões
melhores e mais informadas
Mas como transformar
esses dados brutos em
INTELIGÊNCIA DE NEGÓCIOS?
ATRAVÉS DO BI
(BUSINESS INTELLIGENCE)
BI é um conjunto de processos para
dar suporte à tomada de decisão,
que envolve desde a coleta até
visualização dos dados de uma
maneira lógica e estruturada
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.
18
Processo Tradicional de BI
19
Processo Tradicional de BI
Clientes
Estoque
Produção
Vendas
ETL DW BI Relatório
Financeiro
20
QUAIS OS BENEFÍCIOS DO
Business intelligence?
• Clareza: ter visibilidade dos indicadores das áreas
Daniel Delucchi
Gerente Inteligência Comercial
BI é gerar valor para o negócio
de uma empresa através da
análise de dados
E essa visualização dos
dados é feita ATRAVÉS DE
RELATÓRIOS E DASHBOARDS
UM DASHBOARD É UM
PAINEL com INDICADORES visuais
QUE AJUDA NA TOMADA DE DECISÃO
Como muitos GESTORES
pilotam a ÁREA hoje..
Como poderia ser..
Cenário Atual nas Empresas
35
Cenário Atual nas Empresas
• Etc
36
Métodos tradicionais de criação
de DASHBOARDS não satisfazem
mais as necessidades das
empresas
Aqui que entra o poder do
Microsoft Power BI
O poder do Power 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
39
Principais objetivos:
40
O que é o Power BI?
41
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
Camada de Modelagem ao usuário
de Dados
Camada de Relatórios
42
Microsoft Power BI Suplementos do Excel em um único aplicativo
Powerpivot
43
Com o Power BI é preciso montar o
relatório apenas uma vez.
44
O power bi permite Você evoluir DISSO..
Para DASHBOARDS PROFISSIONAIS
E DE ALTO IMPACTO
Outras vantagens do Power BI
61
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
62
Quadrante Mágico Gartner
63
“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
64 Não recomendado
Workflow de projetos de bi
METODOLOGIA ESI
1. Entendimento do negócio
Nesta primeira etapa você deve entender como funciona a
operação do cliente que irá atender através de:
1. Análise de informações gerais;
2. Perguntas abertas para o cliente;
3. Análise de documentos fornecidos pelo cliente.
2. Entendimento dos requisitos
Identificação dos desafios e desejos
Oportunidades
Profissionais
Capacitados
Você se tornará um verdadeiro Você vai aprender com a maior Você terá acesso a conteúdos
especialista em entender sobre referência de Power BI do para desenvolver suas
indicadores de negócios e mercado e ter acesso ao meu habilidades interpessoais e
influenciar positivamente o método comprovado para aprender a fazer um bom
sucesso das empresas. dominar tudo sobre o Power BI. marketing pessoal.
Editor de Consultas
(Power Query)
95
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.
96
Principais Funcionalidades
• Etc...
97
Linguagem M
98
Linguagem M
99
Linguagem M
100
Linguagem M
101
Linguagem M
102
Linguagem M
103
Linguagem M
104
Parâmetros
105
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
106
Exemplo de Parâmetro
107
Junção de Tabelas
108
109
110
111
112
113
114
115
Visualizando Online
https://app.powerbi.com/view?r=eyJrIjoiYmNhN
zgzYjAtNjc2OS00YjQwLTgwNzItM2Q1MzcyMmJl
YjMyIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0ZS1iM
DVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
116
Combinando Arquivos de uma Pasta
117
Combinando Arquivos de uma Pasta
• Muitas vezes temos uma pasta onde colocamos arquivos periodicamente que possuem
todos mesmos formatos
118
Tabela de Data (Calendário)
119
Tabela de Data (Calendário)
• É 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
120
Tabela de Data (Calendário)
121
Introdução à Modelagem de Dados
122
Power BI Conectado Diretamente na Fonte (sem DW)
Clientes
Estoque
Produção
Vendas
Financeiro
123
Modelo de Dados
124
Modelo de Dados
125
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.
• 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
126
Tabelas Dimensão e Fato
127
Banco de Dados Dimensional
Dimensão A Tabelas Dimensão:
128
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!
129
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
(identificador da dimensão) repetem ao longo das linhas
• Colunas descritivas (atributos) • Colunas numéricas
130
Relacionamento Entre Tabelas
131
Relacionamento Entre Tabelas
Dimensão Fato
Direção
Cardinalidade
132
Cardinalidade do Relacionamento
• Um para Um (1:1)
– Não é usual, e se existe é porque ambas as tabelas poderia ser uma única
133
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
134
Resumindo...
135
Relacionamento Entre Tabelas
136
Relacionamento Entre Tabelas
Produto
ID Produto Produto Categoria
3 R$259,00
*
3 R$198,00
4 R$59,00
5 R$980,00
137 5 R$1280,00
Linguagem DAX
138
Linguagem DAX
139
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 usados pelo Microsoft SQL Server.
constantes que podem ser usados em
uma fórmula ou expressão, para calcular e Funções de filtro
retornar um ou mais 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.
140
M vs DAX
141
M vs DAX
X
• Voltado para modelagem de negócio
• Voltado para ETL
• Pode referenciar colunas de
• Sempre que possível é preferível quaisquer tabelas através de
criar colunas e tabelas pelo Power relacionamentos e Lookups
Query devido à melhor compressão
M vs DAX
143
Coluna Calculada x Medida
144
Coluna Calculada x Medida
X
tabela, sendo recalculadas a cada momento do seu uso e somente para
atualização as linhas visíveis nos visuais do
relatório
• Consomem memória, recurso
escasso e que afeta a performance • Consomem CPU apenas, sendo mais
eficientes computacionalmente
• Utilizada quando se deseja expor os
valores em um eixo do gráfico • Utilizada sempre que tivermos
valores para expor em um gráfico
145
Vamos criar uma Coluna Calculada e
uma Medida no Power BI
146
Por que criar Medidas com DAX se podemos
utilizar as Colunas e deixar o Power BI fazer a
Soma, Média, Contagem, etc?
147
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]
148
Tecnicamente seria possível ignorar completamente
DAX se o máximo que precisássemos fossem
Somas, Médias, Contagens, etc.
149
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
150
Funções Agregadoras
151
Funções Agregadoras
152
Iteradores
153
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]
)
154
Buscando Valores em Outras Tabelas
155
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:
156
Funções de Tabela
157
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
158
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:
159
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] )
160
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] )
161
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:
162
Medidas Rápidas no Power BI
163
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
164
Contextos de Avaliação
Simples a primeira vista, mas que gera muita confusão em alguns casos
165
O que é um contexto de avaliação?
166
O que é um contexto de avaliação?
167
Fontes de um contexto
168
Fontes de um contexto
169
Perguntas:
170
Exemplificando Contextos de Avaliação
171
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)
172
Função CALCULATE
173
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
174
Filtrando com CALCULATE
175
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
176
Removendo Filtros da CALCULATE com ALL
• Ambas são muito úteis para calcular porcentagem de contribuição de cada categoria no total
177
Removendo Filtros da CALCULATE com ALL
178
Removendo Filtros da CALCULATE com ALL
• Resumindo:
179
Condição E na CALCULATE
• Exemplo:
180
Condição E na CALCULATE
181
Condição OU na CALCULATE
Ou então:
182
Condição OU na CALCULATE
183
Funções de Inteligência de Tempo
184
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
185
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 >
) )
)
)
186
Funções Inteligência de Tempo
• É possível utilizar a função FILTER para acumular ao longo do período de tempo desejado:
187
Funções Inteligência de Tempo
188
Variáveis
189
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
)
190
Relacionamentos Especiais:
Muitos para Muitos, Bidirecionais e Inativos
191
Relacionamentos de Muitos para Muitos (N:N)
192
Relacionamentos de Muitos para Muitos (N:N)
193
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
194
Filtros Bi-Direcionais
195
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
196
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> )
197
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 > )
198
RANKX e TOPN
199
RANKX
• Muito útil para ranquear uma determinada categoria de acordo com uma expressão
• Sintaxe:
RANKX (
< tabela>;
< expressão >;
< opcionais >
)
200
RANKX
201
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 >
)
202
Storytelling e Visualização de Dados
203
Alguma vez você fez um
super dashboard e ele não
teve utilidade?
Ou então seu chefe pediu
para você exportar pra
excel?
Por que será que isso
acontece?
Qual o segredo para que um
dashboard traga valor e
seja utilizado de verdade?
Não basta apenas usar a
ferramenta certa e ter um
design bonito..
É preciso também ter um bom
storytelling que esteja alinhado
às necessidades de negócio
Dados vs informação vs conhecimento
Ou seja, medir é diferente de analisar
220
Por que Storytelling é Importante?
221
Ciência por Trás da Visualização de Dados
222
Recomendações para Visualização de Dados
223
Recomendação de Leitura
224
Antes x Depois
Dê destaque ao
que importa!
225
Antes x Depois
226
Antes x Depois
227
Antes x Depois
228
Antes x Depois
38%
29%
22%
16%
229
Antes x Depois
230
231
ALGO DE
ERRADO NÃO
ESTÁ MUITO
CERTO!
Galerias de Relatórios
• Power BI Arte:
http://powerbiarte.com.br/
233
Guia de Referência de Visuais
234
Storytelling com Power BI
235
236
237
238
Visualizando Online
https://app.powerbi.com/view?r=eyJrIjoiMDA4Y
WIwZWEtMDE3ZS00YmFhLWE5YWMtODFlZWE
zNTU1ODNiIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0
ZS1iMDVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
239
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
240
Visual Customizado para Storytelling
241
Aplicativo Mobile
242
Aplicativo Mobile
243
Power BI Online
244
Principais Funcionalidades do Serviço do Power BI
1) Visualização de relatórios
245
Processo de Publicação de um Relatório
Power BI Online
Publicar
Servidor da Microsoft
Conjunto
de Dados Relatório
Workspace
Modelo +
Tabelas
Importar Relatório
Ambiente Local
Banco de Dados Power BI Desktop
Servidor da Empresa
246
247
Workspaces
Meu Workspace
Destinado para uso pessoal;
248
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;
249
Adicionando Pessoas aos Workspaces
250
Permissões em um Workspace
251
Compartilhamento
252
Compartilhamento de Conteúdo
2. Publicando aplicativos
3. Publicando na Web
253
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.
254
Licenciamento
255
Planos do Power BI
256
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
258
O que é o Power BI Premium?
259
Atribuindo Plano Premium a um Workspace
260
Principal Vantagem do Power BI Premium
261
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 online do Power BI
sua própria aplicação Web
262
Outras Vantagens do Power BI Premium
263
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
264
Quando Adquirir os Planos P do Power BI Premium?
265
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
266
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
267
Atualização de Dados
268
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
269
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
270
Segurança a Nível de Linha (RLS)
271
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
272
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
273
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”
274
Administração e Governança
275
Cenário nas Empresas Antes do Power BI
• Etc
276
Aí surgiu o Power BI e todos os
problemas se acabaram!!!
277
Será mesmo?!
278
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!
279
Problemas Comuns Encontrados no Uso do Power BI
280
Governança de Dados
• Não é porque estamos utilizando o Power BI que agora teremos a vida fácil.
281
Governança de Dados
282
Fluxo de Dados
283
Fluxo de Dados
284
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;
285
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
288 Dados B1
Processo de BI
289
Processo de BI Conceitual
Clientes
Estoque
Produção
Vendas
ETL DW BI Relatório
Financeiro
290
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
291
Shared Datasets
292
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
293
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
294 Relatório B1
Conjuntos de Dados Promovidos e Certificados
295
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.
298
Data Lineage
299
Data Lineage
300
301
Data Lineage
302
Modelo Tabular
303
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
304
Modelo Tabular
305
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)
306
Compressão Colunar
307
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
308
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
309
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
• O algoritmo do modelo tabular automaticamente define a melhor ordenação
• Quando a quantidade de valores distintos é tão grande, ou a distribuição é ruim, a Engine mantém a estrutura inicial da coluna
• Chaves primárias nunca são comprimidas pelo método RLE
2
RLE
1
310
1
Compressão Final
Dicionário
Dictionary
Encoding
Dados
RLE
311
VertiPaq Analyzer
• Download: https://www.sqlbi.com/tools/vertipaq-analyzer/
312
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
313
314