Escolar Documentos
Profissional Documentos
Cultura Documentos
Nível 2 - Avançado
JORGE CALDEIRA
POWER BI - Avançado
JORGE CALDEIRA
o 52 anos.
o 7 livros publicados.
OBJETIVOS
PROGRAMA
1.MODELOS DE DECISÃO
1. MODELOS DE DECISÃO
DIKW HIERARCHY
1. MODELOS DE DECISÃO
DIKW HIERARCHY
Relacionar informação e
prever
Tratamento
dos dados
70% de reclamações relativas a
falhas reincidentes
300 reclamações
(Ackoff, 1989)
1. MODELOS DE DECISÃO
GARTNER ANALYTIC CONTINUUM
1. MODELOS DE DECISÃO
CÁLCULO E DISCUSSÃO DA PERFORMANCE
Performance = ? Performance = ?
1. MODELOS DE DECISÃO
CÁLCULO E DISCUSSÃO DA PERFORMANCE
(Resultado – Meta)
Performance (P+) = +1
(Meta)
(Meta – Resultado)
Performance (P-) = +1
(Meta)
2. DATA VISUALIZATION
2. DATA VISUALIZATION
Título…
LAYOUT DO DASHBOARD Logo Cabeçalho
DASHBOARD COMERCIAL
Monitorização das Vendas Data atual
Segmentação DIREÇÃO COMERCIAL Data último registo
de dados
Meses Key Numbers XYZ KXW Corpo
45 XYZ - A KXW - A KXW - B principal
95%
12,8k
Local
XYZ - B XYZ - C
Áreas de
informação Produto
ZXW
ZXW- A ZXW- B
Rodapé
Visualizações
2. DATA VISUALIZATION
LAYOUT DO DASHBOARD
DASHBOARD COMERCIAL
Monitorização das Vendas Data atual
DIREÇÃO COMERCIAL Data último registo
95%
Local
XYZ - B XYZ - C
Produto
ZXW
ZXW- A ZXW- B
2. DATA VISUALIZATION
DASHBOARD DESIGN
20 REGRAS
1. Nunca esquecer que a mensagem é sempre mais importante que o gráfico.
2. Escolher o gráfico em função da mensagem/destinatário.
3. Destacar sempre o mais importante (ex. letra maior, bold, contraste).
4. Hierarquia da informação vs. Posicionamento.
5. Reduzir “lixo visual” (ex. gridlines, eixos, legenda, excesso de casas decimais, etc.)
6. Evitar os efeitos 3D, Sombras, Perspetivas e Padrões.
7. Não comprometer a visualização com demasiados elementos no dashboard.
8. Garantir o descanso visual entre as visualizações.
9. Agrupar a informação por temas/áreas de informação.
10. Evitar molduras nas visualizações.
2. DATA VISUALIZATION
DASHBOARD DESIGN
20 REGRAS
XYZ
11. Elementos relacionados - Coloque contorno em redor.
12. Elementos distintos - Coloque um divisor (linha).
13. Se existir espaço em branco, aumente o tamanho das visualizações.
14. No entanto, não deixe que a disponibilização de espaço determine o tamanho dos elementos.
15. Elementos mais importantes podem ter tamanhos maiores.
16. Mantenha os elementos alinhados verticalmente e horizontalmente.
17. Coloque adicionalmente caixas de texto ou icons para melhorar a comunicação.
18. Utilize o mesmo estilo de texto para todo o dashboard.
19. Estabeleça o tamanho e estilo em função do nível de informação: NÍVEL 1 | Nível 2 | Nível 3
20. Não esquecer que a elegância é relativa e subjetiva.
2. DATA VISUALIZATION
DASHBOARD DESIGN
2. DATA VISUALIZATION
VISUAL VOCABULARY
PARTES DO TODO
Fonte: Tableau
2. DATA VISUALIZATION
VISUAL VOCABULARY
MAGNITUDE
Fonte: Tableau
2. DATA VISUALIZATION
VISUAL VOCABULARY
EVOLUÇÃO
Fonte: Tableau
2. DATA VISUALIZATION
VISUAL VOCABULARY
EVOLUÇÃO
Fonte: Tableau
2. DATA VISUALIZATION
VISUAL VOCABULARY
FLUXOS
Fonte: Tableau
2. DATA VISUALIZATION
VISUAL VOCABULARY
GEOGRÁFICOS
Fonte: Tableau
2. DATA VISUALIZATION
SUPER GRÁFICOS
TREEMAP
2. DATA VISUALIZATION
SUPER GRÁFICOS
DISPERSÃO
2. DATA VISUALIZATION
SUPER GRÁFICOS
CASCATA
DR
2. DATA VISUALIZATION
SUPER GRÁFICOS
FAIXAS
Fonte: https://www.flerlagetwins.com/2017/01/my-thoughts-on-
bump-charts-and-when-to_45.html
2. DATA VISUALIZATION
SUPER GRÁFICOS
BUMP
3. IMPORTAÇÃO E LIMPEZA DE
DADOS
i. Mais comum.
ii. Menos complexo → + fácil de perceber Dim Dim
DIMENSÕES
2. Slowly changing: Mudam lentamente ou não mudam (ex. Produtos, Data de nascimentos).
Constelações
Facto Facto
i. Mais complexo
Restrições:
1. Tipo ex. data, número, lógico, etc.
2. Intervalo. ex. NPS = [0; 10], só pode ser decimal, etc.
3. Obrigatória ex. campos que não podem estar vazios
4. Única ex. NIF
5. Chave-estrangeira ex. não pode ter um valor que não existe na chave-primária
6. Campo cruzado ex. Data fim do processo inferior a data entrada do processo
WEB
https://pt.exchange-rates.org/currentRates/E/EUR
ou https://www.simuladorcambios.cgd.pt/
Passos:
PDF
Ficheiro: PDF 2021 Travessia de Sesimbra Passos:
CSV
Ficheiro: CSV - População grupo etário
Passos:
PASTA
Ficheiro: Dados_janeiro, fevereiro e março
7. Coluna dinâmicas.
Limpeza - Caso 2
Secção 1 JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ
Telefone 537 877 998 838 829 698 699 505 531 478
Emails 823 1081 851 666 592 777 713 526 328 286
Atendimento 276 259 288 320 362 352 379 415 832 770
Secção 2 JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ
Telefone 504 370 504 481 481 349 404 478 65 38
Emails 0 0 0 61 148 0 64 0 207 189
Atendimento 270 335 343 305 286 273 359 371 697 1009
Secção 3 JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ
Telefone 1081 1120 1096 875 781 696 835 411 235 11
Emails 1020 1290 1524 998 894 926 717 378 736 524
Atendimento 411 335 393 364 338 416 530 504 973 1198
OPERAÇÕES DE LIMPEZA DE DADOS Secção 2 JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ
Telefone 504 370 504 481 481 349 404 478 65 38
Emails 0 0 0 61 148 0 64 0 207 189
Atendimento 270 335 343 305 286 273 359 371 697 1009
Emails 1020 1290 1524 998 894 926 717 378 736 524
Atendimento 411 335 393 364 338 416 530 504 973 1198
Limpeza - Caso 3
Distrito Residência Concelho Residência Ano 2017 2018 2019 2020 2021 2017 2018 2019 2020 2021
AVEIRO ÁGUEDA 326 407 316 252 261 12 11 7 13 5
AVEIRO ALBERGARIA-A-VELHA 291 241 243 230 249 10 10 6 6 5
AVEIRO ANADIA 171 162 180 153 147 9 11 3 4 2
AVEIRO AROUCA 172 150 178 149 122 5 5 1 1 1
AVEIRO AVEIRO 796 1043 954 638 646 31 38 20 29 9
AVEIRO CASTELO DE PAIVA 201 206 194 193 189 4 4 1 1 1
AVEIRO ESPINHO 574 554 582 602 537 16 22 10 13 6
AVEIRO ESTARREJA 431 397 404 342 287 7 5 10 2 2
AVEIRO ÍLHAVO 463 504 411 320 302 6 8 10 12 2
AVEIRO MEALHADA 116 116 106 94 86 8 1 4 0 2
AVEIRO MURTOSA 59 66 53 48 52 0 2 5 1 2
AVEIRO OLIVEIRA DE AZEMÉIS 430 468 498 467 310 17 5 12 7 3
3. IMPORTAÇÃO E LIMPEZA DE DADOS Métrica REQ: Requerimentos Deferidos REQ: Requerimentos Suspensos
1. Duplicar tabela.
2. Tabela 1: Cabeçalhos promovidos.
3. Tabela 1: Remover colunas: 2017_1 a 2021_5.
4. Tabela 1: Remover Coluna Ano.
5. Tabela 2: Cabeçalhos promovidos.
6. Tabela 2: Remover Coluna Ano.
7. Tabela 2: Remover colunas: 2017 a 2021.
8. Tabela 2: Mudar nomes às colunas (ex. 2001_1 para 2001).
9. Tabela 1: Anular a dinamização de outras colunas.
10. Tabela 2: Anular a dinamização de outras colunas.
3. IMPORTAÇÃO E LIMPEZA DE DADOS Métrica REQ: Requerimentos Deferidos REQ: Requerimentos Suspensos
Limpeza - Caso 4
Limpeza - Caso 4
TRIM(tabela[coluna])
Remove todos os espaços do texto, exceto os espaços únicos entre palavras.
UPPER(tabela[coluna]) / LOWER(tabela[coluna])
Converte uma cadeia de texto em letras maiúsculas / Converte uma cadeia de texto em letras
MINÚSCULAS
#7 Árvore de decomposição
3 Inserir botão
6
4
5
Fonte: David Geleia (2022) Mudar nome para “LimparFiltros”
No Desktop, teremos que premir o CTRL, quando publicado já
não será necessário.
#14 Inserir uma “Coluna de Índice” #15 Alterar um valor de uma única célula
1 3
Substituir “H/M”
Tipo de atendimento H/M
H
30/06/2021 31/12/2021
10 15
por “Género”
X
M 15 12
H 12 14
Y
M
Tipo de atendimento 10
Género 30/06/2021 11
31/12/2021
H H 14 10 13 15
Z X M M 14 15 12 12
H 12 14
Y
M 10 11
H 14 13
Z
M 14 12
6
Duplicar e formatar
2
Testar
1
1. Modelação| Nova tabela
Início Fim
2. CalendarioDAX = CALENDAR ( DATE ( 2019, 01, 01 ), DATE ( 2022, 12, 31 ) )
3. Enter
4. Modelação | Nova coluna
5. Ano = YEAR( 'CalendarioDAX'[Date] )
6. Mes = MONTH( 'CalendarioDAX'[Date] ) 2
7. Dia = DAY( 'CalendarioDAX'[Date] )
8. MesCurto = FORMAT( 'CalendarioDAX'[Date],"mmm" )
9. MesNome = FORMAT( 'CalendarioDAX'[Date],"mmmm" )
10. DiaSemana = FORMAT( 'CalendarioDAX'[Date],"ddd" )
11. Trimestre = FORMAT( 'CalendarioDAX'[Date],"q" ) & "T" 3
12. Semestre = IF (CalendarioDAX[Mes]<7, "1S " , " 2S " )
Mudar o nome
para Medidas
Mudar o nome
para Medidas
4
Selecionar a tabela para onde
queremos mudar a medida
ACRESCENTAR TABELAS
Ficheiro: EXCEL “Acrescentar tabelas”
Tabela A
Nome valor zona
x 5 3
y 6 4
z 4 2
Tabela B
Nome valor zona 3
1
x 15 12
y 12 23
z 34 23
AGRUPAR TABELAS
Ficheiro: EXCEL “Agrupar tabelas”
1
Mês Vendedor Produto Quantidade Satisfacao Devoluções
01/01/2018 António X 4 7
01/01/2018 António Y 3 6
01/01/2018 António Z 6 5
01/01/2018 Manuel X 4 6
01/01/2018 Manuel Y 6 6 2
01/01/2018 Manuel Z 7 7
01/01/2018 Maria x 5 5
01/01/2018 Maria y 6 8
01/01/2018 Maria Z 7 9
01/01/2018 Silva X 6 7
01/01/2018 Rita X 4 8 1
01/01/2018 Rita Y 3 9 1
01/01/2018 Clotilde Y 4 8
01/01/2018 Francisco X 5 7
01/01/2018 Francisco Y 6 6
01/01/2018 Francisco Z 7 5
01/01/2018 Fernando X 6 6
01/01/2018 Fernando Y 5 4
01/01/2018 Fernando
01/01/2018 Zé
Z
X
6
7
5
6
4
01/01/2018 Zé Y 6 7
01/01/2018 Zé Z 4 8 1
01/01/2018 Rui X 8 6 2
INTERCALAR CONSULTAS
Ficheiro: EXCEL “Intercalar tabelas”
1
Intercalar Selecionar
Nome Vendas Devoluções tabela B
Jorge 100 3
consultas
Miguel 80 4 3
e 4
Ana 130 2
Nome Local Prémios as coluna
Jorge Lisboa 20
Nome
Miguel Porto 15
Ana Coimbra 40
2
Expandir e não
Importar tabelas selecionar o “Nome” 5
e voltar depois
ao transformar
3
2
Filtrar Nenhum
Partes do todo
1. Gráfico de dispersão.
2.
3.
Medida Operador
Função
Tabela Coluna
COUNT, COUNTA
Contar o número de linhas de uma coluna. A - Não tem em consideração as células
vazias. ex. número de processos entrados
DISTINCTCOUNT, DISTINCTCOUNTNOBLANK*
Contagem distinta. Não queremos saber dos repetidos. *Não contar as células vazias.
ex. nº de colaboradores
AVERAGE
Qual a média? ex. tempo médio de análise dos processos
RESOLUÇÃO DO CASO 1
Instituto de Processos IP
Registo de processos
Ano 2021
Versão 3
Prazo legal: 3 dias; Meta =95%; %Concluídos >=80%
Hoje: 02/05/2021
Data de Entrada Processo Data de Saída Técnico Estado Reclamação FCT Tipo Processo
04/01/2021 1 07/01/2021 António Fechado S S A
05/01/2021 2 08/01/2021 Jorge Fechado A
07/01/2021 3 11/01/2021 Maria Fechado B
07/01/2021 4 08/01/2021 Maria Fechado C
12/01/2021 5 15/01/2021 Maria Fechado S S C
01/02/2021 6 05/02/2021 Maria Fechado C
03/02/2021 7 08/02/2021 Jorge Fechado C
08/02/2021 8 20/02/2021 António Fechado C
09/02/2021 9 12/02/2021 António Fechado S B
09/02/2021 10 Jorge C
TODAY
Data de hoje.
DATEDIFF
Intervalo entre duas datas. ex. tempo de análise de um processo
Ex: DATEDIFF(date(2021,11,1), date(2021,11,12),DAY) = 11
Ex: DATEDIFF(date(2021,11,1), date(2021,11,12),HOUR) = 264
EDATE
Ex: DataPagamento = EDATE(DATE(2021,11,12),3) = 12-02-2022
EOMONTH
Data do último dia do mês antes ou depois de um número de meses.
Ex: EOMONTH(DATE(2021,11,12),1) = 31.12.2021
Ex: EOMONTH(DATE(2021,11,12),2) = 31.01.2022
WEEKDAY
1 (domingo) e 7 (sábado).
Ex: WEEKDAY(DATE(2021,11,12) = 6
89 Copyright © 2022 Jorge Caldeira POWER BI 2 | JORGE CALDEIRA | 2022
POWER BI - Avançado
IF
IF(<logical_test>, <value_if_true>[, <value_if_false>])
Ex: = IF(Operações[Quantidade]<2.5,”Baixo”, “Alto”)
SWITCH
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
Ex: = SWITCH([Month], 1, "Janeiro", 2, "Fevereiro", 3, "Março", 4, "Abril"
, 5, "Maio", 6, "Junho", 7, "Julho", 8, "Agosto"
, 9, "Setembro", 10, "Outubro", 11, "Novembro", 12, "Dezembro"
, “nd" )
CONCATENATE
CONCATENATE(<text1>, <text2>)
Ex: = CONCATENATE (“Zona comercial: “, [local])
Nota: Apenas aceita 2 argumentos.
Utilizar: &
Ex: = CONCATENATE (“Zona comercial: “, [local] & “3º argumento”)
SUBSTITUTE
SUBSTITUTE(<text>, <old_text>, <new_text>, <instance_num>)
Ex: = SUBSTITUTE('Operações'[Local],"Porto","Faro")
REPLACE
Substitui parte do texto.
REPLACE(<old_text>, <start_num>, <num_chars>, <new_text>)
VALUE
Converte uma cadeia de texto que representa um número num número.
UPPER
Converte uma cadeia de texto em letras maiúsculas.
LOWER
Converte uma cadeia de texto em letras minúsculas.
DIVIDE
Executa a divisão e devolve um resultado alternativo ou BLANK() quando se
divide por 0.
#1 RELATED
Aceder aos campos relacionados de outras tabelas relacionadas.
Ficheiro: “Related”
Ex: Coluna = RELATED (´Preçario´[Preço])
Local Produto Quantidade
Lisboa A 20
Lisboa B 30
Porto A 12
Porto C 3
Coimbra A 5
Coimbra B 4
Coimbra B 4
*,1
Produto Preço
A 2,00
B 3,00
C 2,50
#2 SUMMARIZECOLUMNS
Ficheiro: “Related”
Devolve uma tabela de resumo.
Ex: SummarizeTABELA =
SUMMARIZECOLUMNS(Quantidade[Produto],"Quantidade",SUM(Quantidade[Quantidade]))
#5 Corrigir localizações
CONCATENATE
CONCATENATE(<text1>, <text2>) 2
Local Valor
Santa Cruz 3
Cuba 2
Lisboa 3
Sintra 2
#6 Dias úteis
Na tabela CalendárioDAX, inserir coluna:
DiasUteis
=if(or(CalendarioDAX[NumDiaSemana]=6,CalendarioDAX[NumDiaSemana]=7),
BLANK(),1)
#7 Feriados
1. Adicionar tabela Feriados.
2. Relacionar tabela Feriados com Calendario DAX.
3. Na tabela CalendarioDAX, inserir coluna: Feriados = RELATED(Folha1[DataFeriados])
4. Na tabela CalendarioDAX, inserir coluna: DiasUteisFeriados =
if(and(CalendarioDAX[DiasUteis]=1, CalendarioDAX[Feriados]=BLANK()),1,0)
Q&A
FORMADOR
jorge.caldeira@estrategiaelementar.pt | jorge.luis.caldeira@gmail.com | M: +351 964 561 451
Doutorando em Gestão | Diretor Geral da empresa Estratégia Elementar, atuando nas áreas de estratégia e
business intelligence | Autor de 7 livros na área de Gestão: