Você está na página 1de 329

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

2
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
3
Divisão do Curso

01 02 Conectividade
03 ETL com
04 Introdução à
Introdução Modelagem
de Dados Power Query
de Dados

08 Administração e
07 Power BI
06 Visualização
05 Principais
Governança Online de Dados Funções DAX

4
Introdução

5
Data Analytics Como fazer com que aconteça?
ANÁLISE PRESCRITIVA

O que acontecerá?
ANÁLISE PREDITIVA

Por que aconteceu?


ANÁLISE DIAGNÓSTICA

O que aconteceu?
ANÁLISE DESCRITIVA
Tudo Começa com BI!

7
O que é BI?

Objetivo Transformar dados brutos em informações compreensíveis e significativas que orientam a


Principal tomada de decisão

Transformação e Monitoramento e
Coleta Organização Análise Compartilhamento

Das informações que são a base da gestão de negócios, tais como informações de
vendas, estoque, produção, financeiro, informações de clientes, etc.

8
Cenário Atual nas Empresas

9
Cenário Atual nas Empresas

• 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
10
Plataformas Modernas de BI

• Cada vez mais a área de Negócios está pedindo independência da TI no uso e criação de
relatórios, a fim de ganhar agilidade e autonomia

• 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

11
Principais objetivos:

Facilitar o Processo de Criação de Relatórios e


Democratizar o Uso de Dados na Organização!

12
Processo Tradicional de BI

13
Processo Tradicional de BI

Clientes

Estoque

Produção

Vendas
ETL DW BI Relatório

Financeiro

14
O que é o Power BI?

15
Microsoft Self-Service BI Suplementos do Excel

Power Query
Permite a obtenção e
manipulação de
informações a partir de
diferentes fontes de dados

Camada de ETL

Powerpivot
Permite a criação de modelos
de dados diretamente no Excel
para a transformação dos Power View
dados em informações
significativas. Fica sobre um Permite a criação de
banco de dados em memória relatórios e dashboards
extremamente rápido! que garantem uma
experiência interativa ao
Camada de Modelagem usuário
de Dados
Camada de Relatórios

16
Microsoft Power BI Suplementos do Excel em um único aplicativo

Powerpivot

Esses são os 3 componentes necessários


Power Query Power View 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

17
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!

18
Power BI no Processo de BI

19
Processo Tradicional de BI

Clientes

Estoque

Produção

Vendas
ETL DW BI Relatório

Financeiro

20
Eu obrigatoriamente preciso
de um Data Warehouse?

Não, apesar de muito indicado!

21
Vamos analisar o Banco de Dados
Transacional (OLTP) da Adventure Works

22
Banco de Dados Transacional (OLTP)

23
Data Warehouse

Utilizado para armazenar Sua função é tornar as informações


informações relativas às atividades de acessíveis para o seu entendimento,
uma organização de forma gerenciamento e uso.
consolidada, com as informações Sua missão é mostrar apenas o que é
unificadas e padronizadas em um importante, e mostrar com
mesmo local. velocidade

ERP

Planilhas

CRM

Dados
externos

24
Agora vamos analisar o Banco de Dados
Dimensional (DW) da Adventure Works
para Vendas na Internet

25
Modelagem Dimensional

26
O cenário mais comum de uso do Power BI entre os
analistas de negócio é importando diretamente
as tabelas da fonte de dados

27
Power BI Conectado Diretamente na Fonte (sem DW)

Clientes

Estoque

Produção

Vendas
Power Query Powerpivot Power View

Financeiro

28
Veremos mais para frente que este não é o cenário
mais adequado e que é importantíssimo
centralizarmos nossas bases em um DW

29
Se sua empresa não tem condições de criar um DW,
podemos usar a funcionalidade chamada
Fluxo de Dados do Power BI

30
Power BI com Fluxo de Dados

Clientes

Estoque

Produção

Vendas
Power Query Fluxo de Dados Powerpivot Power View
Online

Financeiro

31
Falaremos sobre Fluxo de Dados mais para frente!

32
Por que escolhemos o Power BI?

33
Vantagens Microsoft Power BI
• Atualizações mensais

• 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

34
Quadrante Mágico Gartner

35
“Versões” do Power BI
Versão Versão Online Versão Online
Desktop Plano Free Plano Pro
Realizar transformações, construir modelos e utilizar funções DAX

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

36 Não recomendado
Case Curso Para Negócios

37
38
Case Brokers Nestlé

39
40
Case CRM

41
42
Case DistSoft

43
44
Case Análise de Sentimento

45
46
Case Eleições Governador SC

47
48
Case Censo 2010 SC

49
50
Cases SAJ Insights (Softplan)

51
SAJ Insights

52
SAJ Insights

53
Convex Legal Analytics

54
55
Convex Legal Analytics

56
Case Convex Legal Analytics (Softplan)

57
Convex

58
Convex

59
Convex Legal Analytics

60
Convex

“O sistema analisa dados das bases dos tribunais e gera pareceres. A gente
pode entender como os tribunais estão decidindo certo assunto, ver a
tendência dominante”, explica. Não se trata de substituir o trabalho de um
advogado; a máquina está fazendo algo que simplesmente não era feito.

“Não tem como um advogado ler 5 milhões de processos para saber qual é a
distância entre o ajuizado (entrada do processo na Justiça) e a sentença. O
volume de processos é algo que vai além da capacidade humana.”

61
https://educacao.estadao.com.br/noticias/geral,robos-podem-ler-processos-e-ate-escrever-peticoes,70002449375
Cases Comunidade

62
Galerias de Relatórios

• Data Stories Gallery:


https://community.powerbi.com/t5/Data-Stories-Gallery/bd-
p/DataStoriesGallery

• Power BI Arte:
http://powerbiarte.com.br/

63
Galerias de Relatórios

64
Galerias de Relatórios

65
Galerias de Relatórios

66
Galerias de Relatórios

67
Galerias de Relatórios

68
Editor de Consultas
(Power Query)

69
Editor de Consultas

• 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.

70
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...

71
Linguagem M

72
Linguagem M

• Cada passo executado na Interface é armazenado como um comando M no Editor Avançado

73
Linguagem M

74
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”

75
Linguagem M

Uma coluna na tabela é uma lista.

76
Linguagem M

Uma linha na tabela é um registro.

77
Linguagem M

Uma tabela é uma lista de registros.

78
Parâmetros

79
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
tabelas nem listas

• Exemplos de uso:
– Caminho do diretório ou caminho para a fonte de dados, que pode mudar ao longo do tempo e precisa ser
reconfigurada em cada uma das consultas
– Filtro de quaisquer informações em uma tabela, que pode mudar para diferentes cenários de uso

80
Exemplo de Parâmetro

81
Junção de Tabelas

82
83
84
85
86
87
88
89
Visualizando Online

https://app.powerbi.com/view?r=eyJrIjoiYmNhN
zgzYjAtNjc2OS00YjQwLTgwNzItM2Q1MzcyMmJl
YjMyIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0ZS1iM
DVlLTcxNjEwOTgyOTA0NyIsImMiOjF9

90
Combinando Arquivos de uma Pasta

91
Combinando Arquivos de uma Pasta

• Muitas vezes temos uma pasta onde colocamos arquivos periodicamente que possuem
todos mesmos formatos

• O Power BI permite a combinação automática desses arquivos escolhendo “Pasta” como


origem de dados

92
Tabela de Data

93
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

94
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

95
Introdução à Modelagem de Dados

96
Power BI Conectado Diretamente na Fonte (sem DW)

Clientes

Estoque

Produção

Vendas
Power Query Powerpivot Power View

Financeiro

97
Modelo de Dados

Conjunto de tabelas conectadas por relações


entre colunas, que tem o objetivo de
responder a questões de negócio

98
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!

99
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

100
Tabelas Dimensão e Fato

101
Banco de Dados Dimensional
Dimensão A 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

Fato
Dimensão B Dimensão E
• Medidas sobre o negócio
• Valores que posso agregar
• Dados quantificáveis
• Pode conter milhões de
linhas
• Ex: quantidade de vendas,
valor das vendas, lucro
Esquema
Estrela
Dimensão C Dimensão D

102
Dimensões x Fatos

• Uma dimensão deve representar uma entidade que possui determinadas propriedades.
– Cliente: Nome, Idade, Escolaridade, Localização, etc
– Produto: Nome do Produto, Categoria, Subcategoria, Cor, Tamanho, etc

• Essas dimensões interagem entre si e geram um evento, que é armazenado em tabelas Fato:
– Um produto é vendido em uma determinada DATA, para um determinado CLIENTE, que mora em uma CIDADE, e
por aí vai.

• Quando criamos um modelo de dados tentamos sempre deixá-lo no Esquema Estrela (Star
Schema), visto que ele é comprovadamente o esquema mais eficiente para análise de dados.

• Isso significa ter uma ou mais tabelas fatos com dimensões ligadas à ela
– As tabelas fato NUNCA devem estar relacionadas entre si!

103
Dimensões x Fatos

DIMENSÃO FATO
Tipo de • Define entidades de negócios • Armazena observações/eventos
• Exemplo: produtos, clientes, históricos
informação fornecedores, data, contas, etc • Exemplo: vendas, transações, estoque,
orçamento, títulos pagos, etc
Estrutura • Possui uma chave única • Chaves das dimensões que se repetem
(identificador da dimensão) ao longo das linhas
• Colunas descritivas (atributos) • Colunas numéricas

Quantidade • Geralmente possuem poucas linhas • Pode conter milhões ou bilhões de


linhas
de dados
Objetivo • Filtrar os valores numéricos das fatos • Realizar agregações dos valores (soma,
• Agrupar as informações média, contagem, percentual, etc)

104
Normalização x Desnormalização

105
Vamos analisar o Banco de Dados
Transacional (OLTP) da Adventure Works

106
Banco de Dados Transacional (OLTP)

107
Agora vamos analisar o Banco de Dados
Dimensional (DW) da Adventure Works
para Vendas na Internet

108
Modelagem Dimensional

109
Relacionamento Entre Tabelas

110
Relacionamento Entre Tabelas

Dimensão Fato

Direção

Cardinalidade
111
Cardinalidade do Relacionamento

• Um para 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)

112
Direção do Filtro Cruzado

• Único:
– Filtro se propaga do lado 1 para o lado N, ou seja, das Dimensões para as Fatos
– Comportamento padrão, mais seguro e eficiente computacionalmente

• Ambos:
– Filtro se propaga em ambos os sentidos (Bidirecional)
– Precisa ser ativado manualmente
– Perigoso e mais lento que o padrão Unidirecional

113
Resumindo...

• 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

114
Relacionamento Entre Tabelas

115
Relacionamento Entre Tabelas
Produto
ID Produto Produto Categoria

1 Caixa Som Audio

2 iPhone 8 Cell phones

3 Rádio Audio
Vendas
ID Produto Valor
4 DVD Player Audio
1 R$300,00
5 Dell XPS Computers
1 R$550,00
1
2 R$430,00

3 R$259,00
*
3 R$198,00

4 R$59,00

5 R$980,00

116 5 R$1280,00
Linguagem DAX

117
Linguagem DAX

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

118
Funções DAX

Funções lógicas
01 Agem sobre uma expressão para retornar informações sobre os
valores da expressão.
DAX
DATA ANALYSIS EXPRESSIONS Funções de data e hora
02 Semelhantes às funções de data e hora do Microsoft Excel. No
entanto, as funções DAX se baseiam nos tipos de dados datetime
Coleção de funções, operadores e constantes usados pelo Microsoft SQL Server.
que podem ser usados em uma fórmula ou
expressão, para calcular e retornar um ou mais Funções de filtro
valores. 03 Permitem manipular o contexto de dados para criar cálculos
dinâmicos
Funções semelhantes às do Excel.
Funções de inteligência de tempo
04 Usando intervalos de hora e data em combinação com agregações
ou cálculos, é possível criar comparações significativas em períodos
de tempo comparáveis.

119
M vs DAX

120
M vs DAX

M (Power Query) DAX (Power Pivot)


• Linguagem do Power Query, voltada • Linguagem voltada para análise de
para manipulação, limpeza e dados
preparação de dados

X
• Voltado para modelagem de negócio
• Voltado para ETL
• Pode referenciar colunas de
• Sempre que possível é preferível criar quaisquer tabelas através de
colunas e tabelas pelo Power Query relacionamentos e Lookups
devido à melhor compressão

• Pode referenciar apenas colunas da


mesma tabela

Em geral, utilize M para manipulação de dados e criação


de colunas e tabelas simples, e DAX para análise de
121 dados com eles já carregados
M + DAX
e não

M vs DAX
122
Coluna Calculada x Medida

123
Coluna Calculada x Medida

Coluna Calculada Medida

• Contexto de linha • Contexto de filtro

• Valor calculado para cada linha da • Valor calculado somente no momento

X
tabela, sendo recalculadas a cada do seu uso e somente para as linhas
atualização visíveis nos visuais do relatório

• Consomem memória, recurso escasso • Consomem CPU apenas, sendo mais


e que afeta a performance eficientes computacionalmente

• Utilizada quando se deseja expor os • Utilizada sempre que tivermos valores


valores em um eixo do gráfico para expor em um gráfico

124
Vamos criar uma Coluna Calculada e
uma Medida no Power BI

125
Por que criar Medidas com DAX se podemos
utilizar as Colunas e deixar o Power BI fazer a
Soma, Média, Contagem, etc?

126
Coluna Calculada x Medida

Produto Venda Lucro Margem


A 100 10 0,10
Agregando por Produto

A 80 20 0,25
SUM SUM SUM
A 120 36 0,30 Produto
Venda Lucro Margem
B 50 5 0,10 A 300 66 0,65
B 100 20 0,20 B 230 35 0,425
B 80 10 0,125

[Margem Correta] =
SUM ( Tabela[Lucro] ) / SUM ( Tabela[Venda] )

Tabela[Margem] =
Tabela[Lucro] / Tabela[Venda]
127
Tecnicamente seria possível ignorar completamente
DAX se o máximo que precisássemos fossem
Somas, Médias, Contagens, etc.

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

128
Além disso, medidas Explícitas são mais indicadas para
serem utilizadas no Valor dos gráficos no lugar de
colunas, que geram medidas implícitas

129
Funções Agregadoras

130
Funções Agregadoras

• 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

131
Iteradores

132
Iteradores

• 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: • Exemplo:
SUMX ( Total Custo =
< tabela >; SUMX (
< expressão >
Vendas;
)
Vendas[Quantidade] * Vendas[Custo Unitário]
)
133
Buscando Valores em Outras Tabelas

134
Função RELATED

• Permite percorrer o relacionamento do lado N para o lado 1 (Fatos para Dimensões) a fim de
obter o valor de uma coluna da tabela Dimensão
• Utilizada em situações onde há um contexto de linha, como em uma coluna calculada ou em
funções iteradoras, como a SUMX
• Recebe uma coluna e retorna um único valor

Coluna Calculada:

Vendas[Valor Custo] = Vendas[Quantidade] * RELATED( Produto[Custo Unitário] )

Medida:

[Total Custo] = SUMX ( Vendas; Vendas[Quantidade] * RELATED( Produto[Custo Unitário] ) )

135
Funções de Tabela

136
Funções de Tabela

Geralmente são aplicadas como filtros e/ou como tabelas virtuais no meio de fórmulas.

Dificilmente são utilizadas para se gerar novas tabelas físicas em modelos bem estruturados, a não
ser para testes e para estudo de como funcionam.

• FILTER
• ALL
• VALUES
• DISTINCT
• CROSSJOIN
• GENERATE
• SUMMARIZE
• ADDCOLUMNS
• SUMMARIZECOLUMNS

137
FILTER

• Iterador que vai linha a linha da tabela passada no primeiro argumento checando a condição do segundo
argumento. Ao final retorna uma tabela filtrada contendo apenas as linhas que satisfazem a condição:

FILTER(
< tabela >;
< filtro >
)

• Exemplo:

Vendas com Qde > 10 =


FILTER (
Vendas;
Vendas[Quantidade] > 10
)

138
ALL

• Retorna uma tabela com todos os valores da(s) tabela(s) ou coluna(s) informada(s),
ignorando quaisquer filtros prévios existentes:

ALL (
< tabela > ou < coluna >
)

• Exemplo:

Todas as Vendas =
ALL ( Vendas[No. Venda] )

139
VALUES

• Retorna uma tabela com todos os valores da(s) tabela(s) ou coluna(s) informada(s),
respeitando quaisquer filtros prévios existentes:

VALUES (
< tabela > ou < coluna >
)

• Exemplo:

Todas as Vendas =
VALUES ( Vendas[No. Venda] )

140
ALL x VALUES

• A diferença entre ALL e VALUES só é percebida quando aplicamos a função a uma medida e
aplicamos diferentes filtros, como por exemplo:

Qde Vendas ALL =


COUNTROWS ( ALL ( Vendas[No. Venda] ) )

Qde Vendas VALUES =


COUNTROWS ( VALUES ( Vendas[No. Venda] ) )

141
Medidas Rápidas no Power BI

142
Medidas Rápidas

• O Power BI oferece uma funcionalidade muito interessante para quem está iniciando o
aprendizado em DAX, que é a possibilidade de criar medidas de forma intuitiva

• 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

143
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

144
O que é um contexto de avaliação?

• O que essa fórmula irá computar?

145
O que é um contexto de avaliação?

O valor de uma fórmula DAX


depende do seu contexto

146
Fontes de um contexto

147
Fontes de um contexto

Leitura desta medida:

“A soma do valor total em vendas


para o contexto visível”

148
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?

149
Exemplificando Contextos de Avaliação

Total Vendas = SUM( Vendas[Valor Venda] )

150
Tipos de Contexto

Contexto de Filtro define quais linhas estão visíveis na tabela, podendo ser obtido por:
• Eixo dos visuais
• Filtros do canvas
• Filtros laterais
• Interação entre visuais

Contexto de Linha possui o conceito de “linha atual” para cada iteração, sendo definido por:
• Colunas calculadas
• Iteradores (funções SUMX, AVERAGEX, FILTER, etc)

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!

151
Função CALCULATE

152
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

153
Filtrando com CALCULATE

Total Vendas Audio =


CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = “Audio”
)

154
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

155
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

156
Removendo Filtros da CALCULATE com ALL

Total Vendas Fixo =


CALCULATE (
[Total Vendas] ;
ALL ( Vendas )
)

157
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

158
Condição E na CALCULATE

• 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
)

159
Condição E na CALCULATE

Total Vendas Audio com Qde > 3 =


CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = "Audio“ ;
Vendas[Quantidade] > 3
)

160
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” }
)

161
Condição OU na CALCULATE

Total Vendas Audio e TV =


CALCULATE (
[Total Vendas] ;
Vendas[Categoria] = “Audio” ||
Vendas[Categoria] = “TV”
)

162
Funções de Inteligência de Tempo

163
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

164
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 ( CALCULATE (
< expressão >; < expressão >;
DATEADD (
< coluna de data >; - 1; YEAR
= SAMEPERIODLASTYEAR (
< coluna de data >

) )
)
)

165
Funções Inteligência de Tempo

• É possível utilizar a função FILTER para acumular ao longo do período de tempo desejado:

Total de Vendas Acc após 01-03-2016 = Total de Vendas Acc =


CALCULATE ( CALCULATE (
[Total Vendas]; [Total Vendas];
FILTER ( FILTER (
ALL ( Data ); ALL ( Data );
Data[Data] >= DATE (2017, 03, 01) Data[Data] <= MAX ( Data[Data] )
) )
) )

166
Funções Inteligência de Tempo

• É possível utilizar a função FILTER em conjunto com a ALLSELECTED para considerar apenas
o período de tempo do slicer:

Total de Vendas Acc Seleção =


CALCULATE (
[Total Vendas];
FILTER (
ALLSELECTED ( Data );
Data[Data] <= MAX ( Data[Data] )
)
)

167
Variáveis

168
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] =
[Medida] = VAR TotalVendas = SUM ( fVendas[Vendas] )
IF ( RETURN
SUM ( fVendas[Vendas] ) < 100; IF (
SUM ( fVendas[Vendas] ) * 1,25; TotalVendas < 100;
SUM ( fVendas[Vendas] ) * 0,90 TotalVendas * 1,25;
) TotalVendas * 0,90
)

169
Relacionamentos Especiais:
Muitos para Muitos, Bidirecionais e Inativos

170
Relacionamentos de Muitos para Muitos (N:N)

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

171
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

172
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

173
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

174
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

175
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> )

176
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 > )

177
RANKX e TOPN

178
RANKX

• Muito útil para ranquear uma determinada categoria de acordo com uma expressão

• Sintaxe:

RANKX (
< tabela>;
< expressão >;
< opcionais >
)

179
RANKX

• Remover o valor do Ranking da linha “Total” com as funções IF e HASONEVALUE

180
TOPN

• Função que retorna uma tabela com as TOP N linhas de uma tabela avaliada em uma
determinada expressão
• Sintaxe:

TOPN (
N,
< tabela >;
< expressão >;
< opcionais >
)

181
Visualização de Dados

182
Storytelling com Dados

183
Por que Storytelling é Importante?

• 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

184
Ciência por Trás da Visualização de Dados

O cérebro humano 90% das informações


processa informação transmitidas para o
visual 60.000 vezes cérebro são visuais
mais rápido que texto

Visuais aumentam As pessoas leem


a retenção em 42% apenas 28% do
texto de uma página
de um website

185
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!

186
Recomendação de Leitura

187
Antes x Depois

Dê destaque ao
que importa!

188
Antes x Depois

Utilize gráficos de linha


para dados históricos!

189
Antes x Depois

Não utilize gráficos 3D,


muito menos de pizza!

190
Antes x Depois

Não utilize gráficos de pizza para


mais de 3 categorias, muito menos
para comparar diferentes cenários!

191
Antes x Depois

38%

29%

22%

16%

192
Antes x Depois

Deixe seu visual limpo e com poucos


detalhes. O foco precisa estar na
informação relevante!

193
194
ALGO DE
ERRADO NÃO
ESTÁ MUITO
CERTO!
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/

196
Guia de Referência de Visuais

197
Storytelling com Power BI

198
199
200
201
Visualizando Online

https://app.powerbi.com/view?r=eyJrIjoiMDA4Y
WIwZWEtMDE3ZS00YmFhLWE5YWMtODFlZWE
zNTU1ODNiIiwidCI6IjZjMGE1YjljLTA4OWEtNDk0
ZS1iMDVlLTcxNjEwOTgyOTA0NyIsImMiOjF9

202
Storytelling com Power BI

Além de oferecer visuais modernos e interativos, o Power BI contem features muito interessantes
que ajudam na narração de dados:

• Drill-Down e Drill-Through
• Formatação condicional
• Tooltips
• Painel de seleção
• Painel de indicadores
• Perguntas e Respostas
• Explicar aumento/diminuição
• Insights rápidos
• Desenvolvimento de layout
para mobile
• Etc

203
Visual Customizado para Storytelling

204
Aplicativo Mobile

205
Aplicativo Mobile

206
Power BI Online

207
Principais Funcionalidades do Serviço do Power BI

1) Visualização de relatórios

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

208
Processo de Publicação de um Relatório

Power BI Online
Servidor da Microsoft Publicar
Conjunto
de Dados Relatório

Workspace

Modelo +
Tabelas
Importar Relatório

Ambiente Local
Banco de Dados Power BI Desktop
Servidor da Empresa
209
210
Workspaces

Meu Workspace
Destinado para uso pessoal;

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

211
Workspaces

Workspaces do Aplicativo
São ambientes de desenvolvimento com espaços de trabalho
compartilhados, onde múltiplos usuários podem colaborar com a criação
de relatórios e painéis;

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

212
Adicionando Pessoas aos Workspaces

213
Permissões em um Workspace

214
Compartilhamento

215
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

216
Compartilhamento de Conteúdo

Para visualização de conteúdo de dentro do Portal Online do Power BI essas são as duas formas de compartilhamento:

1. Compartilhamento individual
Indicado quando se deseja compartilhar poucos relatórios/painéis ou quando o conteúdo deve ser compartilhado
com poucos usuários.

Ao compartilhar desta forma, qualquer mudança feita é instantaneamente visualizada pelo usuário que recebeu o
compartilhamento.

2. Publicando Aplicativos
Melhor forma para compartilhar conteúdo com grandes audiências. É possível deixar bem personalizado e com
aparência de um software.

As edições nos visuais dos relatórios e painéis não são refletidas automaticamente no Aplicativo publicado.
Aplicativos são mais recomendados pois é possível maior controle e visibilidade, porém é possível criar apenas um
Aplicativo por Workspace.

217
Licenciamento

218
Planos do Power BI

• 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

219
Planos do Power BI (sem Premium)
Versão Versão Online Versão Online
Desktop Plano Free Plano Pro
Construir modelos e utilizar funções DAX

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

220
Power BI Premium

221
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

222
Atribuindo Plano Premium a um Workspace

223
Principal Vantagem do Power BI Premium

Possibilitar que usuários Free visualizem


o conteúdo do Workspace

224
Planos do Power BI Premium

Planos EM Planos P

Voltados para visualização de relatórios Voltados para visualização de conteúdos


embedados em aplicações internas da no portal online do Power BI

X
organização
Usuários Free, além das vantagens ao
Usuários Free que possuem conta no lado, podem também visualizar
AAD podem visualizar relatórios aplicativos e dashboards
embedados em aplicações SaaS, como compartilhados diretamente no portal
Sharepoint, Microsoft Teams, ou em sua online do Power BI
própria aplicação Web

225
Outras Vantagens do Power BI Premium

• 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

226
Quando Adquirir os Planos P do Power BI Premium?

• De um ponto de vista financeiro, quando seu aplicativo for distribuído para mais de 505
usuários finais que irão apenas visualizar relatórios (não irão editar):
– Acima de 505 usuários é mais vantajoso adquirir o Plano P1 e deixar todos eles com conta Free
– Abaixo de 505 usuários é mais vantajoso deixar todos eles com a conta Pro
– $9,90 x 505 usuários = $4.999,50 por mês

Nó Cores Memória Valor Mensal

P1 8 25GB $4.995

P2 16 50GB $9.995

P3 32 100GB $19.995

227
Quando Adquirir os Planos P do Power BI Premium?

• 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

228
Quando Adquirir os Planos EM do Power BI Premium?

• Quando os usuários possuírem conta no seu AAD e você quiser incorporar seu relatório
em aplicações Web para mais de 63 usuários finais
– Acima de 63 usuários é mais vantajoso adquirir o Plano EM1 e deixar todos eles com conta Free
– Abaixo de 63 usuários é mais vantajoso deixar todos eles com a conta Pro
– $9,90 x 63 usuários = $623,70 por mês

Nó Cores Memória Valor Mensal Lembre que esses usuários Free


não poderão visualizar aplicativos
EM1 1 3GB $625 e dashboards compartilhados pelo
portal do Power BI Online.
EM2 2 5GB $1.245
Apenas os planos Premium P
EM3 4 10GB $2.495 tem essa vantagem.

229
Planos do Power BI (com Premium)
Versão Versão Online Versão Online
Desktop Plano Free Plano Pro
Construir modelos e utilizar funções DAX

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
230
Atualização de Dados

231
Processo de Publicação de um Relatório

Power BI Online
Servidor da Microsoft
Conjunto
Publicar de Dados Relatório

Workspace

Modelo +
Tabelas
Importar Relatório

Ambiente Local
Banco de Dados Power BI Desktop
Servidor da Empresa
232
Gateway de Dados Local

• 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

233
Segurança a Nível de Linha (RLS)

234
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

235
Segurança a Nível de Linha (RLS)

• Selecione a tabela à qual você deseja aplicar a regra e insira a expressão DAX
– Esta expressão deve retornar TRUE ou FALSE

• 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)

236
Segurança a Nível de Linha (RLS)

• Ao publicar este relatório no serviço do Power BI, será necessário atribuir os usuários finais às
funções criadas no Power BI Desktop

• Para gerenciar a segurança no modelo de dados, deve-se ir à aba “Conjunto de dados”, clicar nas
reticências e depois em “Segurança”

• 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

237
Administração e Governança

238
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
239
Aí surgiu o Power BI e todos os
problemas se acabaram!!!

240
Será mesmo?!

241
Utilizando Power BI na Organização

Aline:
Vendas x
Leonardo:
Base Budget.PBIX
Visão
Vendas Gerentes.pbix
ETL

Leonardo:
Visão
Vendedores.pbix Leonardo:
Budget Visão
Diretoria.pbix

Fernando:
Vendas x
Base Compras.PBIX Perceberam que tem uma transformação errada sendo
Compras aplicada na Base de Budget e que tem um KPI
de Vendas sendo calculado de forma errada!

242
Problemas Comuns Encontrados no Uso do Power BI

• 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.

243
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.

244
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)

245
Fluxo de Dados

246
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

247
Fluxo de Dados

Principais benefícios oferecidos 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.

248
Sem Fluxo de Dados

Comercial
Dimensão Data
utilizada no arquivo
Comercial.pbix

Dimensão Data
utilizada no arquivo
Financeiro.pbix

Financeiro

Transformações da Dimensão Data executadas múltiplas vezes, enquanto


seria necessário apenas uma vez
249
Com Fluxo de Dados

Comercial
Arquivo
Comercial.pbix

Dimensão Data
processada no
Fluxo de Dados Arquivo
Financeiro.pbix

Financeiro

Transformações da Dimensão Data executadas apenas uma vez, e


reaproveitadas múltiplas vezes
250
Com Fluxo de Dados

Workspace A

Conjunto de
Dados A1

Conjunto de
Fluxo de Dados A
Dados A2

Workspace B

Conjunto de
251 Dados B1
Shared Datasets

252
Conjuntos de Dados Compartilhados

• Ao publicar um arquivo PBIX, duas estruturas são criadas no Serviço Online do Power BI:
1) Relatório; 2) Conjunto de Dados

• 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.

253
Conjuntos de Dados Compartilhados

Workspace A

Relatório A1

Conjunto de Dados A Relatório A2

Workspace B
É criado um link para
o Conjunto de Dados
original, não havendo
duplicação dos dados
254 Relatório B1
Conjuntos de Dados Promovidos e Certificados

• 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)

255
Processo de BI

256
Processo de BI Conceitual

Clientes

Estoque

Produção

Vendas
ETL DW BI Relatório

Financeiro

257
Processo de BI com Power BI

Clientes

Estoque

Produção

Vendas
Conjunto de Dados Relatórios
Power Query Fluxo de Dados
e Painéis
Online
Financeiro

Base de Dados
258
Arquitetura Ideal
Necessita de atualização e não Essas 3 estruturas criadas podem
Necessita de atualização e exige gateway se não forem estar em Workspaces diferentes
exige gateway se a base adicionadas bases de dados
de dados for local locais ao Fluxo de Dados

ETL Publicar Publicar


Fluxo de Conjunto de Relatório
Dados Dados Online Online

Power BI Online

Ambiente Local

Conectar
Importar Live
Base de Modelo de Relatório
Dados Dados PBIX PBIX

Possibilita novas transformações Possibilita a criação de novas


no Power Query e importação medidas, mas não é possível
259 de outras bases de dados importar novos dados
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)
260
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!

261
Data Lineage

262
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?

263
264
Data Lineage

• Caminho completo desde as fontes de dados até os dashboards


• Informa última atualização e se houve falhas de atualização

265
Modelo Tabular

266
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á sempre diversas maneiras de se obter o mesmo resultado
– Saber qual é a melhor maneira não é uma tarefa fácil
– Requer grandes esforços para otimização quando se trabalha com grandes bases de dados

267
Modelo Tabular

268
VertiPaq Engine

• 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

269
Compressão Colunar

270
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)

271
Dictionary Encoding
• Troca o armazenamento de strings por inteiros e cria um dicionário dos valores distintos (De-Para dos valores)
• Esta troca do tipo de dados reduz a quantidade de bits necessário para o armazenamento
• Torna o modelo tabular praticamente independente do tipo de dado das colunas, pois sempre haverá a
transformação deles para número inteiro
• Seu tamanho é altamente afetado pela quantidade de valores únicos na coluna

Dictionary Encoding

272
Run Length Encoding (RLE)
• Cria uma estrutura que diminui o tamanho da tabela evitando valores repetidos
• Depende muito da ordenação da coluna e também da quantidade de valores únicos
– Esses são os dois piores inimigos da VertiPaq Engine
– A quantidade de linhas e o tipo de dado são menos importantes que a cardinalidade e a distribuição dos dados

• 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

273
1
Compressão Final

• Dictionary Encoding + Run Length Encoding


– Estrutura final da coluna que será utilizada na leitura dos dados
Estrutura Final

Dicionário
Dictionary
Encoding

Dados
RLE

274
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/

275
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

276
Inteligência Artificial e
Machine Learning

277
Conceitos
• Inteligência Artificial: capacidade das máquinas de
pensarem como seres humanos: aprender, perceber e
decidir quais caminhos seguir, de forma racional, diante
de determinadas situações.

• 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.

278
Data Analytics Como fazer com que aconteça?
ANÁLISE PRESCRITIVA

O que acontecerá?
ANÁLISE PREDITIVA

Por que aconteceu?


ANÁLISE DIAGNÓSTICA

O que aconteceu?
ANÁLISE DESCRITIVA

279
Conceitos

• a

280
Percepções de Inteligência Artificial

281
282
Aplicações de Negócio

283
284
Processo de Aprendizado de Máquina

285
Machine Learning

• 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”

286
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

287
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)!

288
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!

289
Problemas do Mundo Real:

Se o modelo fornecer uma probabilidade de 90% de fraude,


o que devemos fazer? Bloqueamos a transação ou não?!

Isso é uma decisão de negócios. O trabalho do cientista de


dados foi fornecer essa probabilidade com acurácia!

290
Tipos de Aprendizado

291
Tipos de Aprendizado

Supervisionado:
• Por meio de um conjunto de exemplos onde a variável de resposta é conhecida, realiza-se o
treinamento de um modelo para prever valores da variável de interesse em novos dados.
• Este treinamento consiste em fazer com o que o algoritmo encontre padrões nos dados
• Após o algoritmo encontrar o padrão, ele o utiliza para prever valores futuros

Não Supervisionado:
• A partir dos dados de entrada, onde não se tem a variável de resposta, o algoritmo realiza
agrupamentos (clusters) baseando-se em similaridades dos dados.
• Exemplos:
– Identificação de segmentos de clientes com características semelhantes.
– Recomendação de produtos e serviços.
– Identificação de valores discrepantes de dados.

292
Modelos de Aprendizado Supervisionado

293
Modelos de Aprendizado Não-Supervisionado

294
Escolha de Algoritmo

295
Qual escolher?

Depende!

296
Grupos de Algoritmos

297
Exemplo de Modelo de Classificação: Árvore de Decisão

• Modelo não-linear de aprendizagem supervisionada, onde a predição da variável-alvo é feita


através de regras de decisão simples
• O modelo divide o universo de dados em subáreas de forma recursiva até que a divisão
esteja bem definida
• Exemplo com 2 variáveis:

298
Matemática por Trás dos Modelos

Regressão Linear:
modelo mais simples de Regressão
299
Matemática por Trás dos Modelos

Regressão Logística: apesar do nome “Regressão”,


300 este é um modelo de classificação
Pré-Processamento de Dados

301
Pré-Processamento de Dados

Diversos são os problemas e os tratamentos que precisamos realizar nos dados. Alguns
exemplos mais comuns são:

• Dados em branco
• Tipos de dados errados (dados numéricos como strings, categóricos como numéricos, etc)
• Presença de outliers
• Granularidade muito alta (dados muito detalhados)
• Alta dimensionalidade
• Presença de features irrelevantes
• Features com escalas muito diferentes entre si
• Etc...

302
Aprendizado Supervisionado

303
Processo de Aprendizado Supervisionado

Dados Dados
Preparados Novos

Definir
objetivo

Split

Entender o
problema
Dados de Dados de
treinamento teste

Obter e
entender
os dados Treinar Predizer
modelo resultados

Pré-processar
os dados Avaliar
modelo

304
Por que Dividir em Treino e Teste?

• Imagine que você tem uma prova amanhã

• Você está se preparando com um simulado que possui diversas questões

• Você deseja estimar qual será sua pontuação na prova de amanhã

• Como é a melhor forma de saber se você está preparado ou não? Digamos que há 100
questões no simulado:
– 1) Ver a solução das 100 questões e refazer o teste inteiro depois disso?
– 2) Ver a solução de apenas 70 questões e fazer as outras 30 questões sem olhar a solução?

• A opção 2 é exatamente o que um algoritmo de ML faz quando dividimos o dataset em uma


porção de Treino e outra porção de Teste!
305
Onde criar Modelos Preditivos?

• Há diversas maneiras e ferramentas disponíveis no mercado para realizarmos Análises Avançadas

• O próprio Power BI oferece algumas análises avançadas que utilizam Machine Learning:
– Forecasting
– Regressão linear
– Clustering
– Explicar aumento/diminuição (utiliza algoritmos por trás)

• Em ciência de dados, o mais comum é a utilização das linguagens Python e R

• Porém há muitas aplicações no mercado que abstraem toda a tecnologia e o código por trás para
que uma pessoa sem experiência com programação possa também criar seus modelos e fazer
uso de Machine Learning

• Uma delas é o Azure Machine Learning Studio, da Microsoft, que é a melhor solução de
mercado para aprender ML (opinião própria)

306
Azure
Machine Learning Studio

307
Azure Machine Learning Studio

• AML Studio é um serviço em nuvem da Microsoft que ajuda pessoas a executarem análises preditivas sem a
necessidade de escreverem código (100% Drag & Drop)
– Você não precisa se preocupar com restrições de espaço e processamento em sua máquina, pois tudo é executado em nuvem

• Trata-se de uma ferramenta gráfica que pode ser utilizada para controlar o processo do início ao fim, sendo
possível inclusive publicar um modelo treinado como Web Service
– Fornece APIs que permitem aplicações acessarem o modelo publicado a fim de obter predições em dados novos

• Oferece uma grande gama de módulos de pré-processamento e algoritmos prontos, tudo consumido de
forma simples e intuitiva com o click do mouse
– É possível inclusive adicionar scripts Python e R, o que faz com que pessoas experientes também utilizem a solução

• Possui uma galeria com diversos experimentos que outras pessoas publicaram, sendo uma excelente forma
de iniciar e acelerar o aprendizado, além de uma documentação completa:
– https://gallery.azure.ai/experiments
– https://docs.microsoft.com/en-us/azure/machine-learning/studio/
– https://docs.microsoft.com/en-us/azure/machine-learning/studio-module-reference

308
Processo de Aprendizado Supervisionado

Dados Dados
Preparados Novos

Definir
objetivo

Split

Entender o
problema
Dados de Dados de
treinamento teste

Obter e
entender
os dados Treinar Predizer
modelo resultados

Pré-processar
os dados Avaliar
modelo

309
Processo de Aprendizado Supervisionado no AML Studio

310
Case de Estudo de Classificação:
Sobrevivendo ao Titanic

311
Case Titanic

• Excelente case para aprendizado em Machine Learning


– Todo mundo conhece o ocorrido, portanto o tema de negócio pode ser facilmente interpretado
– Possui características semelhantes a problemas de negócios, como avaliação de perfil de cliente, análises de
churn, probabilidade de compra, etc

• O objetivo é predizer se determinada pessoa sobreviveria ou não ao desastre, de acordo


com suas características

312
https://www.kaggle.com/c/titanic/data
Dicionário de Dados Titanic

313
Antes de Criar um Modelo Preditivo,
Vamos Fazer Uma Análise no Power BI com o
Visual de Principais Influenciadores

314
315
Linguagem R

• R é uma linguagem de programação voltada para análises estatísticas, análise de dados e


ciência de dados
– Diferente do Python, que é um linguagem de programação e pode ser aplicado para diversos fins (como
criação de aplicações), o R tem um foco único, que é para Computação Estatística!

• Muito eficaz para manipular e tratar dados

• Plataforma independente e open-source

• Possui uma enorme quantidade de funções embutidas e permite o uso de milhares de


outros pacotes para utilizar ainda mais funções

• Possui integração com o Power BI

316
Pacotes do R

Semelhante ao conceito de Suplementos do Excel. Exemplos:

• ggplot2: principal pacote de visualização de dados do R.


– Trata-se de um conjunto de componentes independentes que podem ser aplicados de várias formas, construindo
gráficos de maneira incremental

• dplyr: pacote para manipulação de dados que pode ser feita de uma maneira rápida e intuitiva,
uma vez que o pacote foi projetado para tornar as manipulações mais “amigáveis”
– Muito intuitivo para quem tem familiaridade com SQL

• caret: Classification And Regression Training.


– Acelera seu trabalho com ML no R, fornecendo funções para trabalhar com centenas de algoritmos que utilizam a
mesma interface
– Funções para dividir o dataset ou criar amostragem
– Funções para seleção de variáveis mais relevantes
– Tuning de modelos

317
Pacotes do R

São mais de 12 mil pacotes disponíveis:


https://cran.r-project.org/web/packages

Não se desespere: você não precisa


conhecer todos!

Muitos pacotes são extremamente


especializados e específicos para executar
um determinado tipo de análise

318
Biblioteca ggplot2

library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)

319
Biblioteca ggplot2

library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)+
geom_bar()

320
Biblioteca ggplot2

library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)+
geom_bar() +
facet_grid(Embarked ~ Pclass)

321
Biblioteca ggplot2

library(ggplot2)
ggplot(
dataset,
aes(
x = Sex,
fill = SurvivedLabel
)
)+
geom_bar() +
facet_grid(Embarked ~ Pclass) +
ggtitle("Class and Port of Embark.") +
xlab("Sex") +
ylab("Total Count")

322
Tipos de Geometria

Inúmeros tipos de geometria são possíveis de serem utilizadas nos visuais do ggplot2:

• geom_line() – cria um gráfico de linha

• geom_point() – adiciona pontos e cria um gráfico de dispersão

• geom_bar() – cria um gráfico de barras

• geom_histogram() – cria um gráfico de histograma

• geom_density() – cria gráfico de densidade

• geom_boxplot() – cria um gráfico de boxplot para análise de distribuição

323
Utilizando R no Power BI

324
R no Power BI

• Há tarefas que são melhor desempenhadas pelo R do que pelo PBI


• PBI pode utilizar a linguagem R para realizar essas tarefas e devolver o resultado para ele
• Há 3 coisas que você pode fazer com R no Power BI:

325
Visuais do R

• A forma mais utilizada da linguagem R no Power BI

• Utilizado quando os visuais do Power BI não satisfazem os requerimentos necessários

• Os visuais do Power BI são excelentes para visualização, mas o que torna o Power BI único
são as possibilidades de filtros, drill-down e cruzamentos entre diferentes visuais

• Já no R, em um único visual é possível colocar muito mais informações juntas, tornando-os


mais densos do que os visuais do Power BI
– Isso também os torna mais difíceis de serem lidos, mas podem conter muita informação valiosa

• Utilizar visuais do R é mais fácil do que aplicar transformações com Scripts R e não exigem
conhecimento em estatística

• Link importante para começar a criar visuais do R:


– https://community.powerbi.com/t5/R-Script-Showcase/bd-p/RVisuals

326
Visuais do R

Vantagens:
• Inúmeros tipos de visuais não disponíveis nativamente no Power BI
• Muito bons para incluir multivariáveis em um mesmo visual
• Relativamente fáceis de aprender

Desvantagens:
• O Power BI limita os dados enviados para o R em 150 mil linhas
• O Power BI automaticamente remove linhas duplicadas
– Dica: coloque junto na lista de campos algum identificador único para evitar remoção de linhas duplicadas
• Não fornece cross-filter nos dois sentidos
• Não possui opção de drill down
• Não oferece tooltips
• Não funciona com relatórios publicados na Web

327
Próximos Passos em Data Science

328
Próximos Passos

• Entender alguns conceitos fundamentais de estatística

• Estudar a linguagem Python ou R

• Conhecer formas de tratar, limpar e imputar dados

• Conhecer as possibilidades de manipulação de variáveis, ou seja, o processo de Engenharia


de Recursos (Feature Engineering)

• Conhecer e testar mais algoritmos

• Praticar, praticar, praticar...

329

Você também pode gostar