Buscar

Apostila Curso Completo Power BI

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 329 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 329 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 329 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2
Sobre Mim
• Mestre em Eng. Mecânica pela UFSC em parceria com a Universidade do Texas em 
Austin – EUA
• Instrutor de Power BI com mais de 15.000 alunos, 4500 avaliações e nota média 4,6 
(máximo de 5)
• Certificado MCT e MCSA em BI Reporting pela Microsoft 
• Fundador do Aprenda Power BI, oferecendo Cursos Presenciais e Treinamentos 
In-Company
• Sócio-Fundador da Wizen, oferecendo Soluções em BI e Consultorias 
Personalizadas
https://www.linkedin.com/in/leokarpa/
3
Objetivos do Curso
• Introdução sobre o que é BI e sobre o Power BI
• Importar dados e aplicar transformações no Editor de Consultas
• Entender o que é um modelo de dados e para que ele serve
• Conhecer as principais funções DAX
• Conhecer os principais tipos de visuais e as melhores práticas para design de 
relatórios
• Entender a diferença entre os planos do Power BI (Free, Pro, Premium)
• Entender as diferentes formas de compartilhamento com usuários finais
• Criar perfis para aplicar segurança a nível de linha (RLS)
• Instalar e configurar um gateway para atualização automática de dados
• Entender como montar uma arquitetura adequada com Power BI
https://www.linkedin.com/in/leokarpa/
4
Divisão do Curso
Introdução
Conectividade
de Dados
ETL com 
Power Query
Introdução à 
Modelagem
de Dados
Principais 
Funções DAX
Visualização
de Dados
Power BI 
Online
Administração e 
Governança
01 02 03 04
08 07 06 05
https://www.linkedin.com/in/leokarpa/
5
Introdução
https://www.linkedin.com/in/leokarpa/
Data Analytics
O que aconteceu?
ANÁLISE DESCRITIVA
Por que aconteceu?
ANÁLISE DIAGNÓSTICA
O que acontecerá?
ANÁLISE PREDITIVA
Como fazer com que aconteça?
ANÁLISE PRESCRITIVA
7
Tudo Começa com BI!
https://www.linkedin.com/in/leokarpa/
8
O que é BI?
Objetivo
Principal
Transformar dados brutos em informações compreensíveis e significativas que orientam a 
tomada de decisão
Coleta
Transformação e 
Organização Análise
Monitoramento e 
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.
https://www.linkedin.com/in/leokarpa/
9
Cenário Atual nas Empresas
https://www.linkedin.com/in/leokarpa/
10
Cenário Atual nas Empresas
• Uso de Excel pelos analistas
• Tarefas repetitivas e demoradas o tempo todo
• Demora no processamento das informações
• Alta dependência da TI para extração de dados
• Compartilhamento das informações por e-mail (relatório_final_final_v9.xlsx)
• Dificuldade em se chegar a um consenso nos números
• Etc
https://www.linkedin.com/in/leokarpa/
11
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
• O surgimento de Plataformas Modernas de BI, ou ferramentas de Self-Service BI, estão 
ajudando muito a atingir este objetivo
• Hoje o papel da TI em projetos de BI deve caminhar para o de um parceiro estratégico ao 
invés de um produtor, com o objetivo de descentralizar atividades da TI 
https://www.linkedin.com/in/leokarpa/
12
Principais objetivos:
Facilitar o Processo de Criação de Relatórios e 
Democratizar o Uso de Dados na Organização!
https://www.linkedin.com/in/leokarpa/
13
Processo Tradicional de BI
https://www.linkedin.com/in/leokarpa/
14
Processo Tradicional de BI
Clientes
Estoque
Produção
Vendas
Financeiro
ETL DW BI Relatório
https://www.linkedin.com/in/leokarpa/
15
O que é o Power BI?
https://www.linkedin.com/in/leokarpa/
16
Microsoft Self-Service BI Suplementos do Excel
Powerpivot
Permite a criação de modelos 
de dados diretamente no Excel 
para a transformação dos 
dados em informações 
significativas. Fica sobre um 
banco de dados em memória 
extremamente rápido!
Camada de Modelagem 
de Dados
Power Query
Permite a obtenção e 
manipulação de 
informações a partir de 
diferentes fontes de dados
Camada de ETL
Power View
Permite a criação de 
relatórios e dashboards 
que garantem uma 
experiência interativa ao 
usuário
Camada de Relatórios
https://www.linkedin.com/in/leokarpa/
17
Microsoft Power BI
Suplementos do Excel em um único aplicativo
Power Query
Powerpivot
Power View
Esses são os 3 componentes necessários
para que uma plataforma de BI seja eficiente:
- Carregamento e tratamento de dados
- Camada semântica para modelagem 
de dados
- Visualização e criação de relatórios
https://www.linkedin.com/in/leokarpa/
18
Com o Power BI é preciso montar o 
relatório apenas uma vez. 
Após isso é só programar as atualizações 
automáticas e analisar os dados!
https://www.linkedin.com/in/leokarpa/
19
Power BI no Processo de BI
https://www.linkedin.com/in/leokarpa/
20
Processo Tradicional de BI
Clientes
Estoque
Produção
Vendas
Financeiro
ETL DW BI Relatório
https://www.linkedin.com/in/leokarpa/
21
Eu obrigatoriamente preciso 
de um Data Warehouse?
Não, apesar de muito indicado!
https://www.linkedin.com/in/leokarpa/
22
Vamos analisar o Banco de Dados 
Transacional (OLTP) da Adventure Works
https://www.linkedin.com/in/leokarpa/
23
Banco de Dados Transacional (OLTP)
https://www.linkedin.com/in/leokarpa/
24
Data Warehouse
ERP
Planilhas
CRM
Dados 
externos
Utilizado para armazenar 
informações relativas às atividades de 
uma organização de forma 
consolidada, com as informações 
unificadas e padronizadas em um 
mesmo local.
Sua função é tornar as informações 
acessíveis para o seu entendimento, 
gerenciamento e uso.
Sua missão é mostrar apenas o que é 
importante, e mostrar com 
velocidade
https://www.linkedin.com/in/leokarpa/
25
Agora vamos analisar o Banco de Dados 
Dimensional (DW) da Adventure Works
para Vendas na Internet
https://www.linkedin.com/in/leokarpa/
26
Modelagem Dimensional
https://www.linkedin.com/in/leokarpa/
27
O cenário mais comum de uso do Power BI entre os 
analistas de negócio é importando diretamente 
as tabelas da fonte de dados
https://www.linkedin.com/in/leokarpa/
28
Power BI Conectado Diretamente na Fonte (sem DW)
Clientes
Estoque
Produção
Vendas
Financeiro
Power Query Powerpivot Power View
https://www.linkedin.com/in/leokarpa/
29
Veremos mais para frente que este não é o cenário 
mais adequado e que é importantíssimo 
centralizarmos nossas bases em um DW
https://www.linkedin.com/in/leokarpa/
30
Se sua empresa não tem condições de criar um DW, 
podemos usar a funcionalidade chamada 
Fluxo de Dados do Power BI
https://www.linkedin.com/in/leokarpa/
31
Power BI com Fluxo de Dados
Clientes
Estoque
Produção
Vendas
Financeiro
Power Query
Online
Fluxo de Dados Powerpivot Power View
https://www.linkedin.com/in/leokarpa/
32
Falaremos sobre Fluxo de Dados mais para frente!
https://www.linkedin.com/in/leokarpa/
33
Por que escolhemos o Power BI?
https://www.linkedin.com/in/leokarpa/
34
Vantagens Microsoft Power BI
• Atualizações mensais
• Grande comunidade na internet
• Inúmeras possibilidades de conexão com dados, de diversas fontes
• Integração com outras soluções da Microsoft (Azure, Azure Machine Learning, Sharepoint, SSAS, HDInsight, etc)
• Facilidade para realizar ETL e modelagem de dados
• Poder das expressões DAX para realizar cálculos avançados
• Interatividade dos relatórios, podendo filtrar dados com extrema facilidade
• Gráficos e visuais avançados, inclusive podendo-se utilizar a linguagem R
• Possibilidade de compartilhar os dashboards para qualquer pessoa
• Possui aplicativo para celular
• Possibilidade de embedar relatórios em sistemas da empresa
• E, por último, mas não menos importante, o preço imbatível: $9,90 por usuário por mês
https://www.linkedin.com/in/leokarpa/
35
Quadrante Mágico Gartner
https://www.linkedin.com/in/leokarpa/
36
Versão
Desktop
Versão Online
Plano Free
Versão Online
Plano Pro
Realizar transformações, construir modelos e utilizar funções DAX
Conectar-se a fontes de dados locais(on-premise)
Conectar-se a fontes de dados online
Construir relatórios
Construir dashboards
Publicar relatório na Web (link aberto)
Criar e colaborar em workspaces (grupos)
Compartilhar conteúdos com outros usuários de forma segura
Visualizar conteúdos compartilhados por outros usuários
Criar e utilizar Fluxo de Dados (Dataflows)
Valor Grátis Grátis $9,90/mês
“Versões” do Power BI
Não recomendado
https://www.linkedin.com/in/leokarpa/
37
Case Curso Para Negócios
https://www.linkedin.com/in/leokarpa/
38
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiZTVmYzFjMmQtYWJhYy00Y2ViLTljM2EtZmUzNjYzYThjM2Q5IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9
39
Case Brokers Nestlé
https://www.linkedin.com/in/leokarpa/
40
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiMDJkOWIyNWUtOTAzNC00YzhhLWI5NWYtMDU1M2UzZTIyYjA0IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9
41
Case CRM
https://www.linkedin.com/in/leokarpa/
42
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiNmE0NmMzNDQtZjNhOS00ZTVmLWFmMDEtOThhNGZmMmZiYjgzIiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9
43
Case DistSoft
https://www.linkedin.com/in/leokarpa/
44
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiY2Q5Nzc3YmQtZWFiYy00YjdjLTkzMGMtY2U1YzA5YTBhOTU0IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9
45
Case Análise de Sentimento
https://www.linkedin.com/in/leokarpa/
46
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiZDRlZGZkNDMtYjZhMi00ZjNlLTkwOTEtOWNjYmYwNjY1YWQyIiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9
47
Case Eleições Governador SC
https://www.linkedin.com/in/leokarpa/
48
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiN2I0NWE4N2EtMGY3OC00NzE5LTk2OWUtZDdmNWFhNWIzODI2IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9
49
Case Censo 2010 SC
https://www.linkedin.com/in/leokarpa/
50
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiNDFiYjMwYjctOTU1MS00MTQyLWEyOTktY2Q0ODA5MTcxZThiIiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9
51
Cases SAJ Insights (Softplan)
https://www.linkedin.com/in/leokarpa/
52
SAJ Insights
https://www.linkedin.com/in/leokarpa/
53
SAJ Insights
https://www.linkedin.com/in/leokarpa/
54
Convex Legal Analytics
https://www.linkedin.com/in/leokarpa/
55
https://www.linkedin.com/in/leokarpa/
56
Convex Legal Analytics
https://www.linkedin.com/in/leokarpa/
57
Case Convex Legal Analytics (Softplan)
https://www.linkedin.com/in/leokarpa/
58
Convex
https://www.linkedin.com/in/leokarpa/
59
Convex
https://www.linkedin.com/in/leokarpa/
60
Convex Legal Analytics
https://www.linkedin.com/in/leokarpa/
61
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.”
https://educacao.estadao.com.br/noticias/geral,robos-podem-ler-processos-e-ate-escrever-peticoes,70002449375
https://www.linkedin.com/in/leokarpa/
https://educacao.estadao.com.br/noticias/geral,robos-podem-ler-processos-e-ate-escrever-peticoes,70002449375
62
Cases Comunidade
https://www.linkedin.com/in/leokarpa/
63
Galerias de Relatórios
• Data Stories Gallery:
https://community.powerbi.com/t5/Data-Stories-Gallery/bd-
p/DataStoriesGallery
• Power BI Arte:
http://powerbiarte.com.br/
https://www.linkedin.com/in/leokarpa/
https://community.powerbi.com/t5/Data-Stories-Gallery/bd-p/DataStoriesGallery
http://powerbiarte.com.br/
64
Galerias de Relatórios
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiZjlhYTE3YzAtY2MyOS00YmM3LTkwZGQtNWQ2MmY1MDZmYWI3IiwidCI6Ijk1OTAyZjM3LTU0OWMtNGIyOS1iNGNjLWNlYWQ5Y2Q1ZjVhMiIsImMiOjZ9
65
Galerias de Relatórios
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiNjgwMzFhN2YtMzA4Yy00NzE2LTkxMDAtZDM1OTNiN2YzODcxIiwidCI6IjA0ZWM2MTA5LTRjNzktNGM3My1hZTcxLWE0NzRjMDlhMWY1YSJ9
66
Galerias de Relatórios
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiZTM3YTFkZDktYjc0OC00Yjk3LWJlZWYtMTY4YjU5NTRhMjI0IiwidCI6IjdlY2M4YWEwLTgzMGUtNGQ4Ni1hZjc4LTgzYTNkY2MyNjIzOCIsImMiOjZ9
67
Galerias de Relatórios
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiNThkYThlZWEtMDM2MC00YmI4LWFkZmItZDk2MmJlMDhjMWUwIiwidCI6ImFjYzhhYWE1LWYxOTEtNDgyZi05MjFiLWNmNmMzM2E1ODgzMiIsImMiOjF9
68
Galerias de Relatórios
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiNDZmZmZjNWMtMzg1NS00M2M4LWE1ZGUtNzM4ZDVmNTAyY2ZmIiwidCI6IjcyNDQ1YmFhLTMxNGYtNGM5Mi05MzY0LTFjYjJjNDkyNGJmNiIsImMiOjN9
69
Editor de Consultas
(Power Query)
https://www.linkedin.com/in/leokarpa/
70
Editor de Consultas
• Originalmente chamado de Power Query, é a camada de ETL no Power BI
– Query: qualquer comando de consulta, inclusão ou alteração de tabelas de uma fonte de dados
– ETL: Extract, Transform and Load (Extrair, Transformar e Carregar)
• 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.
https://www.linkedin.com/in/leokarpa/
71
Principais Funcionalidades
• Conexão com uma ampla variedade de fonte de dados
• Tratamento e limpeza de dados
• Agregações entre consultas, como Mesclar Consultas e Adicionar Consultas
• Transformação de colunas em linhas (Unpivot Columns)
• Dinamização de colunas (Pivot Columns)
• Preenchimento automático de dados
• Criação de novas colunas
• Etc...
https://www.linkedin.com/in/leokarpa/
72
Linguagem M
https://www.linkedin.com/in/leokarpa/
73
Linguagem M
• Cada passo executado na Interface é armazenado como um comando M no Editor Avançado
https://www.linkedin.com/in/leokarpa/
74
Linguagem M
https://www.linkedin.com/in/leokarpa/
75
Linguagem M
• Queries podem referenciar outras queries pelo seu nome
• Queries são iniciadas com a expressão “let”
• A expressão “let” que permite que você quebre uma expressão em múltiplas partes (linhas)
• Cada linha é representada por uma variável, cujo nome vem antes do sinal de igual
• Variáveis podem armazenar qualquer tipo de dado: tabelas, listas, números, textos, etc
• Cada linha requer vírgula no final, com exceção da última
• O retorno da expressão “let” é informada na cláusula “in”
https://www.linkedin.com/in/leokarpa/
76
Linguagem M
Uma coluna na tabela é uma lista.
https://www.linkedin.com/in/leokarpa/
77
Linguagem M
Uma linha na tabela é um registro.
https://www.linkedin.com/in/leokarpa/
78
Linguagem M
Uma tabela é uma lista de registros.
https://www.linkedin.com/in/leokarpa/
79
Parâmetros
https://www.linkedin.com/in/leokarpa/
80
Parâmetros
• Parâmetros são utilizados no Editor de Consultas com o objetivo de facilitar a manutenção 
das consultas
• 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 
tabelasnem 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
https://www.linkedin.com/in/leokarpa/
81
Exemplo de Parâmetro
https://www.linkedin.com/in/leokarpa/
82
Junção de Tabelas
https://www.linkedin.com/in/leokarpa/
83
https://www.linkedin.com/in/leokarpa/
84
https://www.linkedin.com/in/leokarpa/
85
https://www.linkedin.com/in/leokarpa/
86
https://www.linkedin.com/in/leokarpa/
87
https://www.linkedin.com/in/leokarpa/
88
https://www.linkedin.com/in/leokarpa/
89
https://www.linkedin.com/in/leokarpa/
90
Visualizando Online
https://app.powerbi.com/view?r=eyJrIjoiYmNhN
zgzYjAtNjc2OS00YjQwLTgwNzItM2Q1MzcyMmJl
YjMyIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0ZS1iM
DVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
https://www.linkedin.com/in/leokarpa/
https://app.powerbi.com/view?r=eyJrIjoiYmNhNzgzYjAtNjc2OS00YjQwLTgwNzItM2Q1MzcyMmJlYjMyIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0ZS1iMDVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
91
Combinando Arquivos de uma Pasta
https://www.linkedin.com/in/leokarpa/
92
Combinando Arquivos de uma Pasta
• Muitas vezes temos uma pasta onde colocamos arquivos periodicamente que possuem 
todos mesmos formatos
• O Power BI permite a combinação automática desses arquivos escolhendo “Pasta” como 
origem de dados
https://www.linkedin.com/in/leokarpa/
93
Tabela de Data
https://www.linkedin.com/in/leokarpa/
94
Tabela de Data
• Importantíssimo para a modelagem de dados
• É possível criar facilmente uma tabela de datas a partir de uma lista no Editor de Consultas
• De dentro do Editor de Consultas, deve-se seguir os seguintes passos: 
– Nova Fonte
– Consulta Nula
– Digitar na barra de fórmulas: “= List.Dates”
– Escolher a data de início, a quantidade de dias desejados, e o incremento (geralmente será igual à 1)
– Clicar em “Invocar”
• 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
https://www.linkedin.com/in/leokarpa/
95
Tabela de Data
• Após Fechar e Aplicar, é importantíssimo marcar 
esta tabela como Tabela de Data do Modelo
• Isso irá garantir que as medidas DAX de 
Inteligência de Tempo irão funcionar de forma 
correta
• Com o botão da direita na tabela de Data vá em 
“Marcar como tabela de data” e na sequência 
escolha a coluna do tipo Date como coluna de 
Data do Modelo
https://www.linkedin.com/in/leokarpa/
96
Introdução à Modelagem de Dados
https://www.linkedin.com/in/leokarpa/
97
Power BI Conectado Diretamente na Fonte (sem DW)
Clientes
Estoque
Produção
Vendas
Financeiro
Power Query Powerpivot Power View
https://www.linkedin.com/in/leokarpa/
98
Modelo de Dados
Conjunto de tabelas conectadas por relações 
entre colunas, que tem o objetivo de 
responder a questões de negócio
https://www.linkedin.com/in/leokarpa/
99
Modelo de Dados
Quando você tem um único tabelão, você acaba 
na verdade criando um relatório semelhante 
ao que já faz no Excel.
O poder do Power BI está na possibilidade 
de criar modelos de dados a partir de 
relações entre diferentes tabelas!
https://www.linkedin.com/in/leokarpa/
100
Modelo de Dados
• Do ponto de vista de Vendas, a tabela está com a granularidade correta.
• 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
https://www.linkedin.com/in/leokarpa/
101
Tabelas Dimensão e Fato
https://www.linkedin.com/in/leokarpa/
102
Banco de Dados Dimensional
Dimensão A
Dimensão B Dimensão E
Fato
• 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
Dimensão C Dimensão D
Tabelas Dimensão:
• Pontos de vista dos quais os fatos 
podem ser analisados
• Fatores de agrupamento ou perspectivas
• Tendem a ser menores que as fatos
• Cada registro é identificado de forma 
única através de um ID
• Ex: local, data, cliente, produto, etc
Esquema 
Estrela
https://www.linkedin.com/in/leokarpa/
103
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!
https://www.linkedin.com/in/leokarpa/
104
Dimensões x Fatos
DIMENSÃO FATO
Tipo de 
informação
• Define entidades de negócios 
• Exemplo: produtos, clientes, 
fornecedores, data, contas, etc
• Armazena observações/eventos 
históricos
• Exemplo: vendas, transações, estoque, 
orçamento, títulos pagos, etc
Estrutura • Possui uma chave única 
(identificador da dimensão)
• Colunas descritivas (atributos)
• Chaves das dimensões que se repetem 
ao longo das linhas
• Colunas numéricas
Quantidade 
de dados
• Geralmente possuem poucas linhas • Pode conter milhões ou bilhões de 
linhas
Objetivo • Filtrar os valores numéricos das fatos
• Agrupar as informações
• Realizar agregações dos valores (soma, 
média, contagem, percentual, etc)
https://www.linkedin.com/in/leokarpa/
105
Normalização x Desnormalização
https://www.linkedin.com/in/leokarpa/
106
Vamos analisar o Banco de Dados 
Transacional (OLTP) da Adventure Works
https://www.linkedin.com/in/leokarpa/
107
Banco de Dados Transacional (OLTP)
https://www.linkedin.com/in/leokarpa/
108
Agora vamos analisar o Banco de Dados 
Dimensional (DW) da Adventure Works
para Vendas na Internet
https://www.linkedin.com/in/leokarpa/
109
Modelagem Dimensional
https://www.linkedin.com/in/leokarpa/
110
Relacionamento Entre Tabelas
https://www.linkedin.com/in/leokarpa/
111
Relacionamento Entre Tabelas
Cardinalidade
Direção
Dimensão Fato
https://www.linkedin.com/in/leokarpa/
112
Cardinalidade do Relacionamento
• Um para Muitos (1:N)
– Tipo mais usual de relacionamentos
• Um para Um (1:1)
– Não é usual, e se existe é porque ambas as tabelas poderia ser uma única
• Muitos para Muitos (N:N):
– Surgiu no final de 2018
– Possibilita relacionar colunas que se repetem ao longo das linhas em ambas as tabelas
– Evita a necessidade de criar tabelas auxiliares com valores únicos como ponte
– Geralmente utilizado para relacionar tabelas em diferentes granularidades
– É preciso decidir o sentido do relacionamento (Único ou Ambos)
https://www.linkedin.com/in/leokarpa/
113
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 Unidirecionalhttps://www.linkedin.com/in/leokarpa/
114
Resumindo...
• O Modelo Tabular trabalha muito bem 
com relacionamentos 1:N e filtros
unidirecionais, ou seja, quando o filtro 
percorre o sentido do lado 1 para 
o lado N (Dimensões para as Fatos)
• Para trabalhar com relacionamentos
N:N ou então com filtros bidirecionais 
(ambos os sentidos), é preciso ter 
bastante cautela!
• Então tente sempre deixar seus 
relacionamentos 1:N com filtros
unidirecionais
https://www.linkedin.com/in/leokarpa/
115
Relacionamento Entre Tabelas
https://www.linkedin.com/in/leokarpa/
116
Relacionamento Entre Tabelas
ID Produto Produto Categoria
1 Caixa Som Audio
2 iPhone 8 Cell phones
3 Rádio Audio
4 DVD Player Audio
5 Dell XPS Computers
ID Produto Valor
1 R$300,00
1 R$550,00
2 R$430,00
3 R$259,00
3 R$198,00
4 R$59,00
5 R$980,00
5 R$1280,00
Produto
Vendas
1
*
https://www.linkedin.com/in/leokarpa/
117
Linguagem DAX
https://www.linkedin.com/in/leokarpa/
118
Linguagem DAX
Linguagem do Power Pivot, Analysis Services e Power BI
Peça fundamental de um modelo de dados
• Permite cálculos extremamente avançados e complexos em poucas linhas de código
• Lembra muito o Excel, justamente por ter nascido com o Powerpivot
– Trabalha com colunas inteiras, portanto não há o conceito de linha nem de célula
• Simples, porém não é trivial
• Conceito de contexto de avaliação é algo que se aprende aos poucos, de forma 
iterativa
• Muitas vezes conseguimos fazer a fórmula funcionar, porém sem entender o porquê
• É imprescindível aprender a teoria para entender DAX 
https://www.linkedin.com/in/leokarpa/
119
Funções DAX
DAX
DATA ANALYSIS EXPRESSIONS
Coleção de funções, operadores e constantes 
que podem ser usados em uma fórmula ou 
expressão, para calcular e retornar um ou mais 
valores. 
Funções semelhantes às do Excel.
Funções lógicas
Agem sobre uma expressão para retornar informações sobre os 
valores da expressão.
Funções de data e hora
Semelhantes às funções de data e hora do Microsoft Excel. No 
entanto, as funções DAX se baseiam nos tipos de dados datetime
usados pelo Microsoft SQL Server.
Funções de inteligência de tempo
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.
Funções de filtro
Permitem manipular o contexto de dados para criar cálculos 
dinâmicos
01
02
03
04
https://www.linkedin.com/in/leokarpa/
120
M vs DAX
https://www.linkedin.com/in/leokarpa/
121
M vs DAX
M (Power Query)
• Linguagem do Power Query, voltada 
para manipulação, limpeza e 
preparação de dados
• Voltado para ETL
• Sempre que possível é preferível criar 
colunas e tabelas pelo Power Query 
devido à melhor compressão
• Pode referenciar apenas colunas da 
mesma tabela
X
DAX (Power Pivot)
• Linguagem voltada para análise de 
dados
• Voltado para modelagem de negócio
• Pode referenciar colunas de 
quaisquer tabelas através de 
relacionamentos e Lookups
Em geral, utilize M para manipulação de dados e criação 
de colunas e tabelas simples, e DAX para análise de 
dados com eles já carregados
https://www.linkedin.com/in/leokarpa/
122
M + DAX
e não
M vs DAX
https://www.linkedin.com/in/leokarpa/
123
Coluna Calculada x Medida
https://www.linkedin.com/in/leokarpa/
124
Coluna Calculada x Medida
Coluna Calculada
• Contexto de linha
• Valor calculado para cada linha da 
tabela, sendo recalculadas a cada 
atualização
• Consomem memória, recurso escasso 
e que afeta a performance
• Utilizada quando se deseja expor os 
valores em um eixo do gráfico
Medida
• Contexto de filtro
• Valor calculado somente no momento 
do seu uso e somente para as linhas 
visíveis nos visuais do relatório
• Consomem CPU apenas, sendo mais 
eficientes computacionalmente
• Utilizada sempre que tivermos valores 
para expor em um gráfico
X
https://www.linkedin.com/in/leokarpa/
125
Vamos criar uma Coluna Calculada e 
uma Medida no Power BI
https://www.linkedin.com/in/leokarpa/
126
Por que criar Medidas com DAX se podemos 
utilizar as Colunas e deixar o Power BI fazer a 
Soma, Média, Contagem, etc?
https://www.linkedin.com/in/leokarpa/
127
Coluna Calculada x Medida
Produto Venda Lucro
A 100 10
A 80 20
A 120 36
B 50 5
B 100 20
B 80 10
Produto
SUM 
Venda
SUM 
Lucro
SUM 
Margem
A 300 66 0,65
B 230 35 0,425
Agregando por Produto
Tabela[Margem] = 
Tabela[Lucro] / Tabela[Venda]
Margem
0,10
0,25
0,30
0,10
0,20
0,125
[Margem Correta] = 
SUM ( Tabela[Lucro] ) / SUM ( Tabela[Venda] )
https://www.linkedin.com/in/leokarpa/
128
Tecnicamente seria possível ignorar completamente 
DAX se o máximo que precisássemos fossem 
Somas, Médias, Contagens, etc. 
A partir do momento que precisamos calcular 
porcentagens ou medidas mais complicadas, 
não há outra saída a não ser utilizar as funções DAX
https://www.linkedin.com/in/leokarpa/
129
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
https://www.linkedin.com/in/leokarpa/
130
Funções Agregadoras
https://www.linkedin.com/in/leokarpa/
131
Funções Agregadoras
• Como o próprio nome diz, são úteis para agregar valores
– SUM
– AVERAGE
– MIN
– MAX
• Funcionam apenas com colunas numéricas
• Agregam apenas uma coluna por vez:
– Certo: Total Vendas = SUM ( Vendas[Valor Venda] )
– Errado: Total Custo = SUM ( Vendas[Quantidade] * Venda[Custo Unitário] )
• Solução 1: criar uma coluna calculada com a multiplicação das duas colunas
• Solução 2: utilizar os agregadores X, como a SUMX
https://www.linkedin.com/in/leokarpa/
132
Iteradores
https://www.linkedin.com/in/leokarpa/
133
• Funções Agregadoras que adicionam contexto de linha ao contexto de filtro visível:
– SUMX
– AVERAGEX
– MINX
– MAXX
– etc
• 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:
SUMX (
< tabela >;
< expressão >
)
Iteradores
• Exemplo:
Total Custo = 
SUMX (
Vendas;
Vendas[Quantidade] * Vendas[Custo Unitário]
)
https://www.linkedin.com/in/leokarpa/
134
Buscando Valores em Outras Tabelas
https://www.linkedin.com/in/leokarpa/
135
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: 
Vendas[Valor Custo] = Vendas[Quantidade] * RELATED( Produto[Custo Unitário] )
Medida: 
[Total Custo] = SUMX ( Vendas; Vendas[Quantidade] * RELATED( Produto[Custo Unitário] ) )
https://www.linkedin.com/in/leokarpa/
136
Funções de Tabela
https://www.linkedin.com/in/leokarpa/
137
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
https://www.linkedin.com/in/leokarpa/
138
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:
Vendas com Qde > 10 =
FILTER (
Vendas;
Vendas[Quantidade] > 10
)
https://www.linkedin.com/in/leokarpa/
139
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] )
https://www.linkedin.com/in/leokarpa/140
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] )
https://www.linkedin.com/in/leokarpa/
141
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:
Qde Vendas ALL = 
COUNTROWS ( ALL ( Vendas[No. Venda] ) )
Qde Vendas VALUES = 
COUNTROWS ( VALUES ( Vendas[No. Venda] ) )
https://www.linkedin.com/in/leokarpa/
142
Medidas Rápidas no Power BI
https://www.linkedin.com/in/leokarpa/
143
• 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
• Vamos calcular as seguintes medidas:
– Total de Vendas para a categoria de produto Audio
– Média de Vendas por Cliente
– Total de Vendas acumulado no ano
Medidas Rápidas
https://www.linkedin.com/in/leokarpa/
144
Contextos de Avaliação
Principal conceito para entendimento completo das funções DAX
Simples a primeira vista, mas que gera muita confusão em alguns casos
https://www.linkedin.com/in/leokarpa/
145
O que é um contexto de avaliação?
• O que essa fórmula irá computar?
https://www.linkedin.com/in/leokarpa/
146
O que é um contexto de avaliação?
O valor de uma fórmula DAX 
depende do seu contexto
https://www.linkedin.com/in/leokarpa/
147
Fontes de um contexto
https://www.linkedin.com/in/leokarpa/
148
Fontes de um contexto
Leitura desta medida:
“A soma do valor total em vendas 
para o contexto visível”
https://www.linkedin.com/in/leokarpa/
149
Perguntas: 
Como é obtido o valor na linha/coluna Total da tabela?
Qual o contexto de filtro neste campo?
O que aconteceria se, ao invés de soma, a medida 
calculasse uma contagem distinta?
https://www.linkedin.com/in/leokarpa/
150
Exemplificando Contextos de Avaliação
Total Vendas = SUM( Vendas[Valor Venda] )
https://www.linkedin.com/in/leokarpa/
151
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)
Sempre devemos iniciar levando em consideração os contextos de filtro presentes, ou seja, 
quais linhas da tabela estão visíveis para o cálculo de uma medida!
https://www.linkedin.com/in/leokarpa/
152
Função CALCULATE
https://www.linkedin.com/in/leokarpa/
153
Função CALCULATE
• Principal função DAX
• Única função capaz de modificar o contexto de avaliação
• Sintaxe:
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
https://www.linkedin.com/in/leokarpa/
154
Filtrando com CALCULATE
Total Vendas Audio =
CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = “Audio”
)
https://www.linkedin.com/in/leokarpa/
155
Filtrando com CALCULATE
• Resumindo:
Total Vendas Audio =
CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = “Audio”
)
• 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
https://www.linkedin.com/in/leokarpa/
156
Removendo Filtros da CALCULATE com ALL
• Removendo qualquer filtro de tabelas e/ou colunas de quaisquer tabelas:
CALCULATE (
< expressão >;
ALL ( < tabela ou coluna > )
)
• Remover filtros obedecendo os filtros externos que estão selecionados no momento:
CALCULATE (
< expressão >;
ALLSELECTED ( < tabela ou coluna > )
)
• Ambas são muito úteis para calcular porcentagem de contribuição de cada categoria no total
https://www.linkedin.com/in/leokarpa/
157
Removendo Filtros da CALCULATE com ALL
Total Vendas Fixo =
CALCULATE (
[Total Vendas] ;
ALL ( Vendas )
)
https://www.linkedin.com/in/leokarpa/
158
Removendo Filtros da CALCULATE com ALL
• Resumindo:
Total Vendas Fixo =
CALCULATE (
[Total Vendas] ;
ALL ( Vendas )
)
• Ao contrário do filtro que restringe a quantidade de linhas, ALL é capaz de aumentar a 
quantidade de linhas da tabela
• Reforçando: muito útil para calcular porcentagens
https://www.linkedin.com/in/leokarpa/
159
• Utilizada quando duas ou mais condições devem restringir o resultado
– A condição adicional é um novo filtro, por isso ela restringe mais o resultado
• Exemplo:
Total Vendas Audio com Qde > 3 = 
CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = “Audio” ;
Vendas[Quantidade] > 3
)
Condição E na CALCULATE
https://www.linkedin.com/in/leokarpa/
160
Condição E na CALCULATE
Total Vendas Audio com Qde > 3 = 
CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = "Audio“ ;
Vendas[Quantidade] > 3
)
https://www.linkedin.com/in/leokarpa/
161
Condição OU na CALCULATE
• Utilizada quando duas ou mais condições satisfazem um único filtro. 
• Exemplo:
Total Vendas Audio e TV =
CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = “Audio” || Vendas[Categoria] = “TV”
)
Ou então:
Total Vendas Audio e TV =
CALCULATE (
[Total Vendas] ;
Vendas[Categoria] IN { “Audio” ; “TV” }
)
https://www.linkedin.com/in/leokarpa/
162
Condição OU na CALCULATE
Total Vendas Audio e TV =
CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = “Audio” || 
Vendas[Categoria] = “TV”
)
https://www.linkedin.com/in/leokarpa/
163
Funções de Inteligência de Tempo
https://www.linkedin.com/in/leokarpa/
164
Funções Inteligência de Tempo
Qualquer função relacionada a agregações ao longo do 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
https://www.linkedin.com/in/leokarpa/
165
Funções Inteligência de Tempo
• Há diversas funções prontas para facilitar as agregações ao longo do tempo
• Sintaxe de acumulado ao ano:
CALCULATE (
< expressão >;
DATESYTD ( < coluna de data > )
)
• Sintaxe de mesmo período último ano (muito útil para calcular porcentagem de crescimento ao longo do tempo):
CALCULATE (
< expressão >;
DATEADD ( 
< coluna de data >; - 1; YEAR 
)
)
CALCULATE (
< expressão >;
SAMEPERIODLASTYEAR ( 
< coluna de data > 
)
)
=
https://www.linkedin.com/in/leokarpa/
166
Funções Inteligência de Tempo
• É possível utilizar a função FILTER para acumular ao longo do período de tempo desejado:
Total de Vendas Acc após 01-03-2016 = 
CALCULATE (
[Total Vendas];
FILTER ( 
ALL ( Data );
Data[Data] >= DATE (2017, 03, 01)
)
)
Total de Vendas Acc = 
CALCULATE (
[Total Vendas];
FILTER ( 
ALL ( Data );
Data[Data] <= MAX ( Data[Data] )
)
)
https://www.linkedin.com/in/leokarpa/
167
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:
Total de Vendas Acc Seleção = 
CALCULATE (
[Total Vendas];
FILTER ( 
ALLSELECTED ( Data );
Data[Data] <= MAX ( Data[Data] )
)
)
https://www.linkedin.com/in/leokarpa/
168
Variáveis
https://www.linkedin.com/in/leokarpa/
169
Variáveis
• Evitam repetição de código e de cálculo de uma determinada expressão
• Tornam a leitura da medida mais fácil
• Calculadas apenas uma vez e no momento que for utilizada pela primeira vez na fórmula, otimizando o 
cálculo
• Poderiam ser chamadas de “Constantes”, pois seu valor é atribuído no início da medida e não muda 
mais para esta medida, podendo ser atribuídos valores de quaiquer tipos, inclusive tabelas
[Medida] =
IF ( 
SUM ( fVendas[Vendas] ) < 100;
SUM ( fVendas[Vendas]) * 1,25;
SUM ( fVendas[Vendas] ) * 0,90
)
[Medida] =
VAR TotalVendas = SUM ( fVendas[Vendas] )
RETURN
IF ( 
TotalVendas < 100;
TotalVendas * 1,25;
TotalVendas * 0,90
)
https://www.linkedin.com/in/leokarpa/
170
Relacionamentos Especiais:
Muitos para Muitos, Bidirecionais e Inativos
https://www.linkedin.com/in/leokarpa/
171
Relacionamentos de Muitos para Muitos (N:N)
Há dois tipos de relacionamentos chamados N:N no Power BI:
1. Entre duas dimensões/entidades (clássico tipo de relacionamento N:N)
2. Entre tabelas em diferentes granularidades
https://www.linkedin.com/in/leokarpa/
172
Relacionamentos de Muitos para Muitos (N:N)
1. Exemplos de relacionamentos N:N entre duas 
dimensões: 
– Cliente e Vendedor, quando um cliente é atendido por 
mais de um vendedor, e um vendedor pode atender mais 
de um cliente
– Conta Bancária e Cliente, quando uma conta bancária 
pode ser controlada por mais de um cliente, e um cliente 
pode ter mais de uma conta bancária
• Para contornar este problema é necessário ter 
uma terceira tabela, chamada de tabela ponte 
(bridge table), que irá fazer um De-Para de quais 
entidades estão relacionadas entre si. Geralmente 
é uma tabela com apenas duas colunas, uma 
para cada entidade
https://www.linkedin.com/in/leokarpa/
173
Relacionamentos de Muitos para Muitos (N:N)
2. Exemplos de relacionamentos N:N entre tabelas 
com diferentes granularidades:
– Metas e Produto, quando a Meta é por Categoria e o 
Produto está na granularidade de SKU
– Metas e Data, quando a Meta é Mensal ou Anual e a Data é 
Diária
• Hoje o Power BI já permite a sua criação de forma 
nativa, conforme no exemplo ao lado com a 
tabela de Metas e Produto
• ATENÇÃO: 
– UTILIZAR SEMPRE COM FILTRO UNIDERECIONAL, COM 
A DIMENSÃO FILTRANDO A FATO
– JAMAIS CRIAR RELACIONAMENTOS N:N ENTRE 
TABELAS FATO
https://www.linkedin.com/in/leokarpa/
174
Filtros Bi-Direcionais
• Utilizado comumente para tratar casos de 
relacionamentos N:N entre duas dimensões
• Deve-se ativar o filtro bi-direcional com 
cautela, apenas quando estiver seguro, visto
que podem introduzir ambiguidade
• Há um potencial muito grande de 
filtrar coisas demais quando há múltiplas 
tabelas Fato
• Geralmente filtros bi-direcionais são mais 
lentos que filtros unidirecionais 
• Dê preferência para utilizar a função 
CROSSFILTER para ativar o filtro apenas 
em medidas específicas
https://www.linkedin.com/in/leokarpa/
175
CROSSFILTER
• Utilizada para mudar o sentido do relacionamento, como um argumento da 
função CALCULATE
• Geralmente utilizada para ativar filtro bi-direcional na medida em questão
• 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
https://www.linkedin.com/in/leokarpa/
176
USERELATIONSHIP
• Em muitos casos optamos por deixar um relacionamento inativo e ativá-lo somente em 
determinadas situações
• 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
• Seu uso é bastante similar ao da função CROSSFILTER
– A função CROSSFILTER é utilizada para mudar o sentido do relacionamento
– A função USERELATIONSHIP é utilizada para ativar um relacionamento que está como inativo
– Utilizada como um argumento da função CALCULATE
• Sintaxe:
USERELATIONSHIP( <Coluna 1>; <Coluna 2> )
https://www.linkedin.com/in/leokarpa/
177
TREATAS
• Quando não conseguimos criar um relacionamento físico, podemos criar relacionamentos 
virtuais com a função TREATAS dentro de medidas
• 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 > )
https://www.linkedin.com/in/leokarpa/
178
RANKX e TOPN
https://www.linkedin.com/in/leokarpa/
179
RANKX
• Muito útil para ranquear uma determinada categoria de acordo com uma expressão
• Sintaxe:
RANKX (
< tabela>;
< expressão >;
< opcionais >
)
https://www.linkedin.com/in/leokarpa/
180
RANKX
• Remover o valor do Ranking da linha “Total” com as funções IF e HASONEVALUE
https://www.linkedin.com/in/leokarpa/
181
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 >
)
https://www.linkedin.com/in/leokarpa/
182
Visualização de Dados
https://www.linkedin.com/in/leokarpa/
183
Storytelling com Dados
https://www.linkedin.com/in/leokarpa/
184
Por que Storytelling é Importante?
• Melhora a compreensão dos dados
• Reduz confusão e tempo de leitura
• Identifica padrões escondidos e possibilita novos 
insights
• Melhora eficiência em relação à tomada de decisão
• Não frustram os usuários pois mostram apenas o 
necessário e destacam os pontos mais importantes
• Melhora a satisfação dos usuários e as chances de sucesso
https://www.linkedin.com/in/leokarpa/
185
Ciência por Trás da Visualização de Dados
O cérebro humano 
processa informação 
visual 60.000 vezes 
mais rápido que texto
90% das informações
transmitidas para o 
cérebro são visuais
Visuais aumentam
a retenção em 42%
As pessoas leem
apenas 28% do 
texto de uma página 
de um website
https://www.linkedin.com/in/leokarpa/
186
Recomendações para Visualização de Dados
• Estética é importa mais do que você imagina!
• Primeiro passo: identifique sua audiência
• Escolha uma paleta de cores adequada e use-a como 
padrão em todos os visuais
• Escolha um background adequado e mantenha 
consistência
• Escolha o tipo de fonte adequado e cuidado com os 
erro de escrita
• Escolha os tipos de visuais adequados para cada objetivo
• Enfatize o que é importante e mantenha apenas o que é 
necessário
• Mantenha os visuais sempre alinhados e no 
tamanho adequado
• Pense fora da caixa!
https://www.linkedin.com/in/leokarpa/
187
Recomendação de Leitura
https://www.linkedin.com/in/leokarpa/
188
Antes x Depois
Dê destaque ao 
que importa!
https://www.linkedin.com/in/leokarpa/
189
Antes x Depois
Utilize gráficos de linha 
para dados históricos!
https://www.linkedin.com/in/leokarpa/
190
Antes x Depois
Não utilize gráficos 3D, 
muito menos de pizza!
https://www.linkedin.com/in/leokarpa/
191
Antes x Depois
Não utilize gráficos de pizza para 
mais de 3 categorias, muito menos 
para comparar diferentes cenários!
https://www.linkedin.com/in/leokarpa/
192
Antes x Depois
29%
38%
22%
16%
https://www.linkedin.com/in/leokarpa/
193
Antes x Depois
Deixe seu visual limpo e com poucos 
detalhes. O foco precisa estar na 
informação relevante!
https://www.linkedin.com/in/leokarpa/
194
https://www.linkedin.com/in/leokarpa/
ALGO DE 
ERRADO NÃO 
ESTÁ MUITO 
CERTO!
196
Galerias de Relatórios
• Data Stories Gallery:
https://community.powerbi.com/t5/Data-Stories-Gallery/bd-
p/DataStoriesGallery
• Power BI Arte:
http://powerbiarte.com.br/
https://www.linkedin.com/in/leokarpa/
https://community.powerbi.com/t5/Data-Stories-Gallery/bd-p/DataStoriesGallery
http://powerbiarte.com.br/
197
Guia de Referência de Visuais
https://www.linkedin.com/in/leokarpa/
198
Storytelling com Power BI
https://www.linkedin.com/in/leokarpa/
199
https://www.linkedin.com/in/leokarpa/
200
https://www.linkedin.com/in/leokarpa/
201
https://www.linkedin.com/in/leokarpa/
202
Visualizando Online
https://app.powerbi.com/view?r=eyJrIjoiMDA4Y
WIwZWEtMDE3ZS00YmFhLWE5YWMtODFlZWE
zNTU1ODNiIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0
ZS1iMDVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
https://www.linkedin.com/in/leokarpa/https://app.powerbi.com/view?r=eyJrIjoiMDA4YWIwZWEtMDE3ZS00YmFhLWE5YWMtODFlZWEzNTU1ODNiIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0ZS1iMDVlLTcxNjEwOTgyOTA0NyIsImMiOjF9
203
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
https://www.linkedin.com/in/leokarpa/
204
Visual Customizado para Storytelling
https://www.linkedin.com/in/leokarpa/
205
Aplicativo Mobile
https://www.linkedin.com/in/leokarpa/
206
Aplicativo Mobile
https://www.linkedin.com/in/leokarpa/
207
Power BI Online
https://www.linkedin.com/in/leokarpa/
208
Principais Funcionalidades do Serviço do Power BI
1) Visualização de relatórios 
2) Criação e visualização de painéis
3) Compartilhamento de relatórios e painéis
4) Atualização automática dos dados
5) Criação de fluxos de dados
https://www.linkedin.com/in/leokarpa/
209
Processo de Publicação de um Relatório
Tabelas
Modelo + 
Relatório
Conjunto 
de Dados
Relatório
Ambiente Local
Servidor da Empresa
Power BI Online
Servidor da Microsoft
Importar
Publicar
Workspace
Power BI DesktopBanco de Dados
https://www.linkedin.com/in/leokarpa/
210
https://www.linkedin.com/in/leokarpa/
211
Workspaces
Meu Workspace
Destinado para uso pessoal;
Ideal para teste de relatórios antes de publicar em workspaces
compartilhados;
Evita-se compartilhar conteúdos para outros usuários a partir deste
espaço.
Espaço onde ficam seus conjuntos de dados, relatórios 
e painéis
https://www.linkedin.com/in/leokarpa/
212
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;
Destinado preferencialmente para colaboração no desenvolvimento, 
portanto adicione com cautela apenas usuários que precisarão 
criar/editar relatórios;
Qualquer edição por parte de um usuário em um relatório ou painel será 
aplicada aos demais membros, visto que é um espaço comum entre todos
https://www.linkedin.com/in/leokarpa/
213
Adicionando Pessoas aos Workspaces
https://www.linkedin.com/in/leokarpa/
214
Permissões em um Workspace
https://www.linkedin.com/in/leokarpa/
215
Compartilhamento
https://www.linkedin.com/in/leokarpa/
216
Compartilhamento de Conteúdo
Além da possibilidade de incluir os usuários no Workspace, atualmente o Power BI permite você
distribuir seus conteúdos de 5 diferentes formas:
1. Compartilhamento individual de relatórios e painéis
2. Publicando aplicativos
3. Publicando na Web
4. Embedando para sua organização
5. Embedando para seus clientes
https://www.linkedin.com/in/leokarpa/
217
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:
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.
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. 
https://www.linkedin.com/in/leokarpa/
218
Licenciamento
https://www.linkedin.com/in/leokarpa/
219
Planos do Power BI
• Duas categorias de licenciamento:
– Licença de usuário: Free ou Pro
– Capacidade dedicada: Premium EM (embedding), Premium P (Premium) ou Embedded A (Azure)
• Qualquer usuário no Power BI possui OU um plano Free OU um plano Pro.
– Não existe usuário com Plano Premium!
• Principal diferença entre Free e Pro: possibilidades de colaboração e compartilhamento:
– Somente usuários Pro podem publicar o conteúdo em espaços de trabalho do aplicativo, consumir 
aplicativos e compartilhar dashboards. 
– Usuários Free podem criar relatórios e publicar no Meu Workspace à vontade, porém não podem 
compartilhar e nem visualizar conteúdos compartilhados
https://www.linkedin.com/in/leokarpa/
220
Planos do Power BI (sem Premium)
Versão
Desktop
Versão Online
Plano Free
Versão Online
Plano Pro
Construir modelos e utilizar funções DAX
Conectar-se a fontes de dados on-premise
Conectar-se a fontes de dados online
Construir relatórios
Construir dashboards
Publicar na Web
Criar e colaborar em espaços de trabalho
Compartilhar aplicativos e dashboards com outros usuários
Visualizar aplicativos e dashboards compartilhados no portal do Power BI
Visualizar relatórios embedados em aplicações Web internas da organização
Valor Grátis Grátis $9,90/mês
https://www.linkedin.com/in/leokarpa/
221
Power BI Premium
https://www.linkedin.com/in/leokarpa/
222
O que é o Power BI Premium?
• Plano lançado em Junho/2017 e disponível para aquisição no portal do Office 365
• Fornece recursos dedicados à execução do serviço do Power BI 
• Voltado para capacidade de processamento, e não para licença de usuário
• Não se compara um plano Premium com um Plano Pro
– Plano Pro é para licença de usuário
– Plano Premium é voltado para obtenção de uma capacidade dedicada
• Você escolhe quais Espaços de Trabalho incorporar à capacidade dedicada
– Os que não foram atribuídos a uma capacidade Premium continuarão em capacidade compartilhada
https://www.linkedin.com/in/leokarpa/
223
Atribuindo Plano Premium a um Workspace
https://www.linkedin.com/in/leokarpa/
224
Principal Vantagem do Power BI Premium
Possibilitar que usuários Free visualizem 
o conteúdo do Workspace
https://www.linkedin.com/in/leokarpa/
225
Planos do Power BI Premium
Planos P
Voltados para visualização de conteúdos 
no portal online do Power BI
Usuários Free, além das vantagens ao 
lado, podem também visualizar 
aplicativos e dashboards
compartilhados diretamente no portal 
online do Power BI
X
Planos EM
Voltados para visualização de relatórios 
embedados em aplicações internas da 
organização
Usuários Free que possuem conta no 
AAD podem visualizar relatórios 
embedados em aplicações SaaS, como 
Sharepoint, Microsoft Teams, ou em sua 
própria aplicação Web
https://www.linkedin.com/in/leokarpa/
226
Outras Vantagens do Power BI Premium
• Ganho de performance por estar em hardware dedicado na Microsoft
• Limite de atualização aumenta de 8x/dia para 48/dia, podendo agendar uma 
atualização a cada minuto
• Restrição de 1GB por dataset aumenta para até 10GB por dataset
• Limite de 10GB por espaço de trabalho aumenta para até 100TB por espaço de trabalho
Essas vantagens só fazem sentido 
quando utiliza-se o modo Import
Nos modos DirectQuery e Live Connection a 
performance é ditada pela fonte de origem
https://www.linkedin.com/in/leokarpa/
227
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
Nó Cores Memória Valor Mensal
P1 8 25GB $4.995
P2 16 50GB $9.995
P3 32 100GB $19.995
https://www.linkedin.com/in/leokarpa/
228
Quando Adquirir os Planos P do Power BI Premium?
• Já de um ponto de vista funcional, quando o volume de dados e o tamanho da base égrande, a melhor opção na minha opinião é partir para o Analysis Services:
– Arquivos PBIX maiores que 500MB deixam a máquina lenta;
– Demoram para salvar;
– Demoram para ser publicados;
• Para contornar esses pontos, há a possibilidade de trabalhar com uma amostra 
pequena dos dados no Power BI Desktop e, após publicá-lo, atualizar essa amostra para 
a base completa no serviço do Power BI através de Parâmetros do Editor de Consultas
– Funciona, porém não é tão eficiente quanto o uso de partições no Analysis Services
https://www.linkedin.com/in/leokarpa/
229
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
Nó Cores Memória Valor Mensal
EM1 1 3GB $625
EM2 2 5GB $1.245
EM3 4 10GB $2.495
Lembre que esses usuários Free
não poderão visualizar aplicativos 
e dashboards compartilhados pelo 
portal do Power BI Online. 
Apenas os planos Premium P 
tem essa vantagem.
https://www.linkedin.com/in/leokarpa/
230
Versão
Desktop
Versão Online
Plano Free
Versão Online
Plano Pro
Construir modelos e utilizar funções DAX
Conectar-se a fontes de dados on-premise
Conectar-se a fontes de dados online
Construir relatórios
Construir dashboards
Publicar na Web
Criar e colaborar em espaços de trabalho
Compartilhar aplicativos e dashboards com outros usuários
Visualizar aplicativos e dashboards compartilhados no portal do Power BI
Visualizar relatórios embedados em aplicações Web internas da organização
Valor Grátis Grátis $9,90/mês
Premium EM Premium P
Planos do Power BI (com Premium)
https://www.linkedin.com/in/leokarpa/
231
Atualização de Dados
https://www.linkedin.com/in/leokarpa/
232
Processo de Publicação de um Relatório
Tabelas
Modelo + 
Relatório
Conjunto 
de Dados
Relatório
Ambiente Local
Servidor da Empresa
Power BI Online
Servidor da Microsoft
Importar
Publicar
Workspace
Power BI DesktopBanco de Dados
https://www.linkedin.com/in/leokarpa/
233
Gateway de Dados Local
• Quando nossa fonte de dados é local (on-premises), precisamos instalar e configurar 
um gateway para a comunicação entre a fonte e o conjunto de dados no serviço online 
do Power BI
• 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
• Há quatro etapas principais para usar um gateway:
– Instalar o gateway em um computador local, usando o modo apropriado
– Adicionar usuários ao gateway, para que possam acessar as fontes de dados locais
– Conectar-se a fontes de dados, para que eles possam ser usados em relatórios e painéis
– Atualizar dados locais, para que os relatórios do Power BI sejam atualizados
• Passo a passo para instalação: 
– https://docs.microsoft.com/pt-br/power-bi/service-gateway-install
https://www.linkedin.com/in/leokarpa/
234
Segurança a Nível de Linha (RLS)
https://www.linkedin.com/in/leokarpa/
235
Segurança a Nível de Linha (RLS)
• Usada para restringir o acesso a dados para determinados usuários
• 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
• Na aba Modelagem, selecione Gerenciar Funções
• Após isso selecione “Criar” e forneça um nome para a nova função
https://www.linkedin.com/in/leokarpa/
236
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
• No exemplo ao lado estamos criando 
uma função chamada “Lojas Asia” que 
aplica um filtro na tabela “Loja”, retornando 
apenas as linhas da tabela onde a coluna 
“Continente” tem o valor “Asia”
• Este filtro irá se propagar de forma 
semelhante aos demais filtros, no sentido 
1 para N (dimensões para fatos)
https://www.linkedin.com/in/leokarpa/
237
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”
• Pronto, após isso basta adicionar o 
e-mail dos usuários à função desejada
• Pode-se utilizar grupos de segurança
do Office 365 caso seja mais conveniente
do que adicionar e-mails individuais
https://www.linkedin.com/in/leokarpa/
238
Administração e Governança
https://www.linkedin.com/in/leokarpa/
239
Cenário nas Empresas Antes do Power BI
• Uso de Excel pelos analistas
• Tarefas repetitivas e demoradas o tempo todo
• Demora no processamento das informações
• Alta dependência da TI para extração de dados
• Compartilhamento das informações por e-mail (relatório_final_final_v9.xlsx)
• Dificuldade em se chegar a um consenso nos números
• Etc
https://www.linkedin.com/in/leokarpa/
240
Aí surgiu o Power BI e todos os 
problemas se acabaram!!!
https://www.linkedin.com/in/leokarpa/
241
Será mesmo?!
https://www.linkedin.com/in/leokarpa/
242
Utilizando Power BI na Organização
Aline:
Vendas x 
Budget.PBIXBase 
Vendas
Budget
Base 
Compras
Fernando:
Vendas x 
Compras.PBIX
Leonardo:
Visão 
Vendedores.pbix
Leonardo:
Visão 
Gerentes.pbix
Leonardo:
Visão 
Diretoria.pbix
Perceberam que tem uma transformação errada sendo 
aplicada na Base de Budget e que tem um KPI 
de Vendas sendo calculado de forma errada!
ETL
https://www.linkedin.com/in/leokarpa/
243
Problemas Comuns Encontrados no Uso do Power BI
• Trabalhos repetidos: as mesmas transformações de dados presentes em diferentes 
arquivos PBIX
• Falta de padronização nos processos: diferentes pessoas realizando ETL de maneiras 
diferentes
• Criação de diversos modelos de dados com os mesmos dados e medidas DAX repetidas
• Troca de arquivos PBIX entre colegas de trabalho
• Resultado final: dificuldades de manutenção e criação silos de dados totalmente 
sem padronização! Qualquer mudança precisa ser realizada em inúmeros locais de 
forma manual e repetitiva. 
https://www.linkedin.com/in/leokarpa/
244
Governança de Dados
• Antes de mais nada: Self-Service BI não significa fazer as coisas de qualquer 
jeito, de forma independente. Cuidado com este termo!
• Implementar uma solução com Power BI é relativamente simples. Difícil é 
mantê-la e crescer de forma organizada e sustentável.
• 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.
https://www.linkedin.com/in/leokarpa/
245
Governança de Dados
• Se você quiser manter uma solução com pouca manutenção, altamente 
escalável, consistente e robusta, então será necessário ter a arquitetura correta e 
a governança adequada.
• É preciso unificar e padronizar todo esse trabalho!
• O Power BI oferece duas funcionalidades muito importantes para isso:
– Fluxo de Dados (Dataflows)
– Conjuntos de dados compartilhados (Shared datasets)
https://www.linkedin.com/in/leokarpa/
246
Fluxo de Dados
https://www.linkedin.com/in/leokarpa/
247
Fluxo de Dados
• Power Query Online que pode servir 
como um Data Warehouse, ou camada 
de Staging, para as empresas
• Permite conexão com ampla gama de 
fontes de dados, oferecendo as mesmas 
facilidades do Power Query Desktop
• Disponível para planos Pro e não custa 
nada a mais
• Não está disponível no Meu Workspace, 
apenas nos Workspaces do Aplicativo
• Utiliza o poder da nuvem para 
processamento e salva os dados no 
Azure Data Lake Storage no formato de 
arquivos CSV
https://www.linkedin.com/in/leokarpa/
248
Fluxo de Dados
Principais benefíciosoferecidos pelo Dataflow:
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;
3. Programação de diferentes horários e frequências de atualização de acordo com as entidades definidas em 
cada Dataflow.
• Digamos que você tem um relatório que é composto por duas fontes, e uma delas você precisa atualizar apenas uma vez no dia e a 
outra você precisa atualizar 8x no dia. Você pode criar dois Dataflows distintos e programar diferentes horários e frequências de 
atualização, acelerando muito o tempo de atualização do conjunto de dados final que é composto por esses dois Dataflows.
https://www.linkedin.com/in/leokarpa/
249
Sem Fluxo de Dados
Dimensão Data 
utilizada no arquivo 
Comercial.pbix
Transformações da Dimensão Data executadas múltiplas vezes, enquanto 
seria necessário apenas uma vez
Dimensão Data 
utilizada no arquivo 
Financeiro.pbix
Comercial
Financeiro
https://www.linkedin.com/in/leokarpa/
250
Com Fluxo de Dados
Arquivo 
Comercial.pbix
Transformações da Dimensão Data executadas apenas uma vez, e 
reaproveitadas múltiplas vezes
Dimensão Data 
processada no 
Fluxo de Dados
Comercial
Financeiro
Arquivo 
Financeiro.pbix
https://www.linkedin.com/in/leokarpa/
251
Com Fluxo de Dados
Workspace A
Workspace B
Fluxo de Dados A
Conjunto de 
Dados A1
Conjunto de 
Dados A2
Conjunto de 
Dados B1
https://www.linkedin.com/in/leokarpa/
252
Shared Datasets
https://www.linkedin.com/in/leokarpa/
253
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
• O Conjunto de Dados é a estrutura que contém os dados transformados, os relacionamentos e 
as medidas DAX. Ou seja, é o nosso Modelo de Dados.
• Um Conjunto de Dados em um Workspace pode ser utilizado para a criação de diferentes 
relatórios. Melhor ainda, é possível publicar esses relatórios em diferentes Workspaces.
• Com isso evita-se a duplicação e manutenção do mesmo modelo, e todo o processo de 
manutenção e atualização é realizado apenas no Conjunto de Dados original.
• Importante: não há como adicionar tabelas/dados ao conectar-se a Conjuntos de Dados, 
somente medidas. Para isso é preciso trabalhar no PBIX original que gerou o Conjunto de Dados.
https://www.linkedin.com/in/leokarpa/
254
Conjuntos de Dados Compartilhados
Workspace A
Workspace B
É criado um link para 
o Conjunto de Dados 
original, não havendo 
duplicação dos dados
Conjunto de Dados A
Relatório A1
Relatório A2
Relatório B1
https://www.linkedin.com/in/leokarpa/
255
Conjuntos de Dados Promovidos e Certificados
• Permite usuários encontrar e utilizar 
datasets confiáveis
• Criadores de conteúdo podem promover 
seus datasets para marca-los como 
confiáveis, atribuindo uma tag “Promoted”
• Administradores podem eleger usuários-
chave a certificar datasets, que poderão 
atribuir a tag de “Certified” aos datasets
que possuírem acesso
• Ao criar um novo relatório, usuários terão 
acesso aos datasets compartilhados com 
ele e aos que estão nos Workspaces onde 
ele participa (inclusive o Meu Workspace)
https://www.linkedin.com/in/leokarpa/
256
Processo de BI
https://www.linkedin.com/in/leokarpa/
257
Processo de BI Conceitual
Clientes
Estoque
Produção
Vendas
Financeiro
ETL DW BI Relatório
https://www.linkedin.com/in/leokarpa/
258
Processo de BI com Power BI
Clientes
Estoque
Produção
Vendas
Financeiro
Power Query
Online
Fluxo de Dados Conjunto de Dados
Relatórios
e Painéis
Base de Dados
https://www.linkedin.com/in/leokarpa/
259
Arquitetura Ideal
Fluxo de 
Dados
Base de 
Dados
Modelo de 
Dados PBIX
Relatório
Online
Conjunto de 
Dados Online
Relatório
PBIX
Necessita de atualização e 
exige gateway se a base 
de dados for local
Necessita de atualização e não 
exige gateway se não forem 
adicionadas bases de dados 
locais ao Fluxo de Dados
Power BI Online
Ambiente Local
Importar
Conectar
Live
Publicar PublicarETL
Essas 3 estruturas criadas podem 
estar em Workspaces diferentes
Possibilita novas transformações
no Power Query e importação 
de outras bases de dados
Possibilita a criação de novas
medidas, mas não é possível
importar novos dados
https://www.linkedin.com/in/leokarpa/
260
Arquitetura Ideal
1) Criar um Workspace que servirá como Repositório no PBI Online. (TI)
2) Criar os Fluxos de Dados neste Workspace para importar as tabelas das fontes de dados. Essas tabelas 
importadas são chamadas de Entidades nos Fluxos de Dados. (TI)
3) Configurar a atualização automática dos Fluxos de Dados no PBI Online. (TI)
4) Criar os Modelos de Dados (Relacionamentos + DAX) no PBI Desktop importando as Entidades dos Fluxos de 
Dados. É possível importar Entidades de mais de um Fluxo de Dados. (TI + Negócios)
5) Publicar os Modelos de Dados em Workspaces, que são chamados de Conjuntos de Dados no PBI Online. É 
possível publicar os Modelos de Dados em Workspaces diferentes dos originais que contém os Fluxos de 
Dados. (TI + Negócios)
6) Configurar a atualização automática dos Conjuntos de Dados no PBI Online. (Negócios)
7) Criar os Relatórios pelo Power BI Desktop conectando a um Conjunto de Dados. É possível conectar em apenas 
um Conjunto de Dados por relatório. (Negócios)
8) Publicar os Relatórios em Workspaces. É possível publicar os Relatórios em Workspaces diferentes dos originais 
que contém os Conjuntos de Dados. Os Conjuntos de Dados nesses novos Workspaces serão links para os 
originais, portanto os dados não são duplicados. (Negócios)
https://www.linkedin.com/in/leokarpa/
261
Arquitetura Ideal
Benefícios desta arquitetura:
• Separação das camadas de ETL, Modelagem de Dados e Visualização
• Maior facilidade no trabalho em equipe, podendo-se separar as equipes que cuidam de cada 
camada.
• Redução no tempo de atualização do Conjunto de Dados, por deixar o trabalho pesado de 
transformações no Dataflows
• Reutilização de transformações de dados, modelos de dados e cálculos, reduzindo redundância 
e manutenção e aumentando a consistência
• Resumindo: uma única versão da verdade!
https://www.linkedin.com/in/leokarpa/
262
Data Lineage
https://www.linkedin.com/in/leokarpa/
263
Data Lineage
Dúvidas comuns de quem cria os modelos de dados:
• Quais relatórios serão impactados se eu fizer uma mudança no modelo?
• Quem está utilizando esses relatórios?
• E quem são os donos deles?
Dúvidas comuns dos analistas de negócios:
• Como posso ter certeza que este relatório é que apresenta os valores corretos que 
posso confiar?
• De qual fonte vem os dados deste relatório?
Dúvidas comuns dos usuários finais:
• Os dashboards parecem estar desatualizados, o que aconteceu e como corrigir?
https://www.linkedin.com/in/leokarpa/
264
https://www.linkedin.com/in/leokarpa/
265
Data Lineage
• Caminho completo desde as fontes de dados até os dashboards
• Informa última atualização e se houve falhas de atualização 
https://www.linkedin.com/in/leokarpa/
266
Modelo Tabular
https://www.linkedin.com/in/leokarpa/
267
Modelo Tabular
• Banco de dados em memória
• Baseado na metodologia relacional
• Orientado a colunas, e não a linhas
• Composto por dois motores: Formula Engine e Storage Engine (VertiPaq)
• Lançado em 2012 junto com o SQL Server 2012
– Até então utilizava-se essencialmente o modelo multidimensional para modelagem de dados
• DAX é uma linguagem fácil de ser aprendida, porém não tão simples de dominar por completo
– Há semprediversas 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
https://www.linkedin.com/in/leokarpa/
268
Modelo Tabular
https://www.linkedin.com/in/leokarpa/
269
VertiPaq Engine
• Nome oficial: xVelocity in-memory Analytics Engine
• Durante o processamento de dados, quando atualizamos os dados no Power BI, por 
exemplo, a VertiPaq Engine lê o conteúdo da sua fonte de dados e os transforma em sua 
estrutura interna
• 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)
• Cada coluna é gravado em um espaço separado, evitando a necessidade de índices
– O acesso às colunas utiliza o mínimo de I/O possível, tornando a operação muito mais rápida e otimizada
https://www.linkedin.com/in/leokarpa/
270
Compressão Colunar
https://www.linkedin.com/in/leokarpa/
271
Compressão Colunar
Três formas de codificação e compressão
• 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
• Run Length Encoding (RLE)
https://www.linkedin.com/in/leokarpa/
272
Dictionary Encoding
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
https://www.linkedin.com/in/leokarpa/
273
Run Length Encoding (RLE)
RLE
3
2
1
3
1
• 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
https://www.linkedin.com/in/leokarpa/
274
Compressão Final
• Dictionary Encoding + Run Length Encoding
– Estrutura final da coluna que será utilizada na leitura dos dados
Dictionary
Encoding
RLE
Dicionário
Dados
Estrutura Final
https://www.linkedin.com/in/leokarpa/
275
VertiPaq Analyzer
• Construído a partir da leitura dos dados do DMV e organizado em forma de um modelo do 
Powerpivot, o VertiPaq Analyser fornece informações de metadados e da estrutura que foi 
processada em um modelo de dados
– Tamanho das colunas e tabelas
– Tipo de compressão utilizada
– Etc
• Muito útil também para documentação de modelos
• Download: https://www.sqlbi.com/tools/vertipaq-analyzer/
https://www.linkedin.com/in/leokarpa/
https://www.sqlbi.com/tools/vertipaq-analyzer/
276
DAX Studio
• Ferramenta para analisar queries DAX e mensurar performance
• É 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
https://www.linkedin.com/in/leokarpa/
https://www.sqlbi.com/tools/dax-studio/
https://www.youtube.com/watch?v=tR9WPT4L87M
https://www.youtube.com/watch?v=B-h3Pohtn1Y
277
Inteligência Artificial e 
Machine Learning
https://www.linkedin.com/in/leokarpa/
278
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.
• Machine Learning: “… uma área de Inteligência Artificial 
que tem como objetivo desenvolver técnicas 
computacionais que permitam a predição e o 
aprendizado de determinados comportamentos ou 
padrões a partir de experiências anteriores.” (Mitchell, 
1997).
• Ciência de Dados: processo para extrair informações 
valiosas a partir de dados que, pode ou não, utilizar 
Machine Learning para isso. Trata-se de uma grande 
disciplina que consiste em conjuntos de habilidades 
especializadas, como estatística, matemática, 
programação, computação e, muito importe, 
conhecimento de negócios. 
https://www.linkedin.com/in/leokarpa/
279
Data Analytics
O que aconteceu?
ANÁLISE DESCRITIVA
Por que aconteceu?
ANÁLISE DIAGNÓSTICA
O que acontecerá?
ANÁLISE PREDITIVA
Como fazer com que aconteça?
ANÁLISE PRESCRITIVA
https://www.linkedin.com/in/leokarpa/
280
Conceitos
• a
https://www.linkedin.com/in/leokarpa/
281
Percepções de Inteligência Artificial
https://www.linkedin.com/in/leokarpa/
282
https://www.linkedin.com/in/leokarpa/
283
Aplicações de Negócio
https://www.linkedin.com/in/leokarpa/
284
https://www.linkedin.com/in/leokarpa/
285
Processo de Aprendizado de Máquina
https://www.linkedin.com/in/leokarpa/
286
Machine Learning
• Dados contêm segredos, especialmente se você tem muitos dados!
– Ao examiná-los você pode descobrir padrões que podem lhe ajudar a solucionar problemas
– Geralmente esses padrões são complexos demais para encontrarmos a olho nu
• 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
• Este código computacional é chamado de “Modelo” e o reconhecimento de padrões em 
dados novos é chamado de “Predição”
https://www.linkedin.com/in/leokarpa/
287
Exercício
• Como podemos detectar uma fraude de cartão de crédito?
• 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
https://www.linkedin.com/in/leokarpa/
288
Exercício
• E com estes dados, como podemos detectar uma fraude de cartão de crédito?
1. Nomes que iniciam com P?
2. Clientes em torno de 20 anos?
3. Cartões dos EUA utilizados na RUS?
• Nenhum desses está 100% correto,
precisamos começar a combinar as
variáveis (features)!
https://www.linkedin.com/in/leokarpa/
289
Exercício
• E com estes dados, como podemos detectar uma fraude de cartão de crédito?
• Combinação correta: Clientes com 
cartões dos EUA utilizados na RUS, 
entre 20 e 30 anos, com transação
acima de $1000
• Obviamente, neste exemplo temos
uma única combinação que resulta
em transações fraudulentas, e nosso
resultado é SIM ou NÃO
• 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!
https://www.linkedin.com/in/leokarpa/
290
Problemas do Mundo Real:
Se o modelo fornecer uma

Continue navegando