Baixe o app para aproveitar ainda mais
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 • 7 anos de experiência com programação em C++ para solução de problemas de Engenharia • 3 anos como proprietário de franquia de Alimentação Saudável chamada Bistrot Fitness • 1 ano e meio na área de Marketing Digital pela Clint.Digital e pelo Pipz • 1 ano como Líder Técnico e Líder da Equipe de BI da Softplan Sistemas e Planejamento • Professor da Udemy com mais de 7000 alunos, 2300 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/ 5 Objetivos do Curso • Introdução sobre o que é o Power BI • Aplicar transformações de dados 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 https://www.linkedin.com/in/leokarpa/ 6 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/ 7 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 9 Tudo Começa com BI! https://www.linkedin.com/in/leokarpa/ 10 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/ 11 Cenário Atual nas Empresas https://www.linkedin.com/in/leokarpa/ 12 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/ 13 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 – Self Service BI são ferramentas analíticas que permitem que a própria área de negócios trabalhe as informações que precisa, sem a necessidade de um contato direto com a TI • 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 – Neste novo papel ela é responsável pelo suporte aos usuários, pelo fornecimento dos dados e pela garantia de funcionamento das tecnologias necessárias para uso pela área de negócios https://www.linkedin.com/in/leokarpa/ 14 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/ 15 Processo Tradicional de BI https://www.linkedin.com/in/leokarpa/ 16 Processo Tradicional de BI Clientes Estoque Produção Vendas Financeiro ETL DW BI Relatório https://www.linkedin.com/in/leokarpa/ 17 Vamos analisar o Banco de Dados Transacional (OLTP) da Adventure Works https://www.linkedin.com/in/leokarpa/ 18 Banco de Dados Transacional (OLTP) https://www.linkedin.com/in/leokarpa/ 19 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/ 20 Agora vamos analisar o Banco de Dados Dimensional (DW) da Adventure Works para Vendas na Internet https://www.linkedin.com/in/leokarpa/ 21 Modelagem Dimensional https://www.linkedin.com/in/leokarpa/ 22 O que é o Power BI? https://www.linkedin.com/in/leokarpa/ 23 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 Semântica 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/ 24 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/ 25 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/ 26 Power BI Conectando-se a um DW https://www.linkedin.com/in/leokarpa/ 27 Power BI Conectando-se a um DW Outras Fontes Power Query Powerpivot Power View https://www.linkedin.com/in/leokarpa/ 28 Eu obrigatoriamente preciso de um Data Warehouse? Não, apesar de muito indicado! https://www.linkedin.com/in/leokarpa/ 29 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/ 30 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/ 31 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/ 32 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/ 33 Power BI com Fluxo de Dados Clientes Estoque Produção Vendas Financeiro Power Query Fluxo de Dados Powerpivot Power View https://www.linkedin.com/in/leokarpa/ 34 Falaremos sobre Fluxo de Dados mais para frente! https://www.linkedin.com/in/leokarpa/ 35 Quadrante Mágico Gartner https://www.linkedin.com/in/leokarpa/ 36 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/ 37 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 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 indicado https://www.linkedin.com/in/leokarpa/ 38 Case Curso Para Negócios https://www.linkedin.com/in/leokarpa/ 39 https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiZTVmYzFjMmQtYWJhYy00Y2ViLTljM2EtZmUzNjYzYThjM2Q5IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9 40 Case Brokers Nestlé https://www.linkedin.com/in/leokarpa/ 41 https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiMDJkOWIyNWUtOTAzNC00YzhhLWI5NWYtMDU1M2UzZTIyYjA0IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9 42 Case CRM https://www.linkedin.com/in/leokarpa/ 43 https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiNmE0NmMzNDQtZjNhOS00ZTVmLWFmMDEtOThhNGZmMmZiYjgzIiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9 44 Case DistSoft https://www.linkedin.com/in/leokarpa/ 45 https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiY2Q5Nzc3YmQtZWFiYy00YjdjLTkzMGMtY2U1YzA5YTBhOTU0IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9 46 Case Análise de Sentimento https://www.linkedin.com/in/leokarpa/ 47 https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiZDRlZGZkNDMtYjZhMi00ZjNlLTkwOTEtOWNjYmYwNjY1YWQyIiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9 48 Case Eleições Governador SC https://www.linkedin.com/in/leokarpa/ 49 https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiN2I0NWE4N2EtMGY3OC00NzE5LTk2OWUtZDdmNWFhNWIzODI2IiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9 50 Case Censo 2010 SC https://www.linkedin.com/in/leokarpa/ 51 https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiNDFiYjMwYjctOTU1MS00MTQyLWEyOTktY2Q0ODA5MTcxZThiIiwidCI6IjdkNWZlMmNlLTA3M2QtNGVmMC05Y2RkLWNhZGRjMjU5Zjc3OCJ9 52 Cases SAJ Insights (Softplan) https://www.linkedin.com/in/leokarpa/ 53 SAJ Insights https://www.linkedin.com/in/leokarpa/ 54 SAJ Insights https://www.linkedin.com/in/leokarpa/ 55 Convex Legal Analytics https://www.linkedin.com/in/leokarpa/ 56 https://www.linkedin.com/in/leokarpa/ 57 Convex Legal Analytics https://www.linkedin.com/in/leokarpa/ 58 Case Convex Legal Analytics (Softplan) https://www.linkedin.com/in/leokarpa/ 59 Convex https://www.linkedin.com/in/leokarpa/ 60 Convex https://www.linkedin.com/in/leokarpa/ 61 Convex Legal Analytics https://www.linkedin.com/in/leokarpa/ 62 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 63 Cases Comunidade https://www.linkedin.com/in/leokarpa/ 64 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/ 65 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiODU4OGM4NzktM2RjOC00YjRlLWFhZDQtYmE5ZmNlMTBiNThjIiwidCI6ImMwZTRmYzIyLTk1YWItNDZjZi05YzI4LWZmNWNjMWIxMGYzYyJ9 66 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiZGY3ZjljY2EtMzZjOC00NjFiLTg5YmUtOTBlOTZkNzI2OGE3IiwidCI6ImU4ZWRiOWI3LWU0ZWMtNDRhNS1hZGEzLTQ0MDFjNWRiYmFkZCIsImMiOjN9 67 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiZjlhYTE3YzAtY2MyOS00YmM3LTkwZGQtNWQ2MmY1MDZmYWI3IiwidCI6Ijk1OTAyZjM3LTU0OWMtNGIyOS1iNGNjLWNlYWQ5Y2Q1ZjVhMiIsImMiOjZ9 68 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiNDgxNmM1NTEtNTJiOC00MzZlLTkyOTktMjA0YjFkOGMxYTE1IiwidCI6ImU4ZWRiOWI3LWU0ZWMtNDRhNS1hZGEzLTQ0MDFjNWRiYmFkZCIsImMiOjN9 69 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiNDBlYjdmYmUtOThmYS00MDMyLTk2MDAtOWY3ZDI4ZTU4OTg5IiwidCI6ImU4ZWRiOWI3LWU0ZWMtNDRhNS1hZGEzLTQ0MDFjNWRiYmFkZCIsImMiOjN9 70 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiNjgwMzFhN2YtMzA4Yy00NzE2LTkxMDAtZDM1OTNiN2YzODcxIiwidCI6IjA0ZWM2MTA5LTRjNzktNGM3My1hZTcxLWE0NzRjMDlhMWY1YSJ9 71 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiZTM3YTFkZDktYjc0OC00Yjk3LWJlZWYtMTY4YjU5NTRhMjI0IiwidCI6IjdlY2M4YWEwLTgzMGUtNGQ4Ni1hZjc4LTgzYTNkY2MyNjIzOCIsImMiOjZ9 72 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiNThkYThlZWEtMDM2MC00YmI4LWFkZmItZDk2MmJlMDhjMWUwIiwidCI6ImFjYzhhYWE1LWYxOTEtNDgyZi05MjFiLWNmNmMzM2E1ODgzMiIsImMiOjF9 73 Galerias de Relatórios https://www.linkedin.com/in/leokarpa/ https://app.powerbi.com/view?r=eyJrIjoiNDZmZmZjNWMtMzg1NS00M2M4LWE1ZGUtNzM4ZDVmNTAyY2ZmIiwidCI6IjcyNDQ1YmFhLTMxNGYtNGM5Mi05MzY0LTFjYjJjNDkyNGJmNiIsImMiOjN9 74 Editor de Consultas (Power Query) https://www.linkedin.com/in/leokarpa/ 75 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/ 76 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/ 77 Linguagem M https://www.linkedin.com/in/leokarpa/ 78 Linguagem M • Cada passo executado naInterface é armazenado como um comando M no Editor Avançado https://www.linkedin.com/in/leokarpa/ 79 Linguagem M https://www.linkedin.com/in/leokarpa/ 80 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/ 81 Linguagem M Uma coluna na tabela é uma lista. https://www.linkedin.com/in/leokarpa/ 82 Linguagem M Uma linha na tabela é um registro. https://www.linkedin.com/in/leokarpa/ 83 Linguagem M Uma tabela é uma lista de registros. https://www.linkedin.com/in/leokarpa/ 84 Junção de Tabelas 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 https://www.linkedin.com/in/leokarpa/ 91 https://www.linkedin.com/in/leokarpa/ 92 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 93 Parâmetros https://www.linkedin.com/in/leokarpa/ 94 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 https://www.linkedin.com/in/leokarpa/ 95 Exemplo de Parâmetro https://www.linkedin.com/in/leokarpa/ 96 Combinando Arquivos de uma Pasta https://www.linkedin.com/in/leokarpa/ 97 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/ 98 Tabela de Data https://www.linkedin.com/in/leokarpa/ 99 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/ 100 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/ 101 Introdução à Modelagem de Dados https://www.linkedin.com/in/leokarpa/ 102 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/ 103 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/ 104 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/ 105 Tabelas Dimensão e Fato https://www.linkedin.com/in/leokarpa/ 106 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/ 107 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/ 108 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/ 109 Relacionamento Entre Tabelas https://www.linkedin.com/in/leokarpa/ 110 Relacionamento Entre Tabelas Cardinalidade Direção Dimensão Fato https://www.linkedin.com/in/leokarpa/ 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): – Surgiuno 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/ 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 https://www.linkedin.com/in/leokarpa/ 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 https://www.linkedin.com/in/leokarpa/ 114 Relacionamento Entre Tabelas https://www.linkedin.com/in/leokarpa/ 115 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/ 116 Linguagem DAX https://www.linkedin.com/in/leokarpa/ 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 https://www.linkedin.com/in/leokarpa/ 118 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/ 119 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/ 120 M + DAX e não M vs DAX https://www.linkedin.com/in/leokarpa/ 121 Coluna Calculada x Medida https://www.linkedin.com/in/leokarpa/ 122 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/ 123 Vamos criar uma Coluna Calculada e uma Medida no Power BI https://www.linkedin.com/in/leokarpa/ 124 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/ 125 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/ 126 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/ 127 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/ 128 Funções Agregadoras https://www.linkedin.com/in/leokarpa/ 129 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/ 130 Iteradores https://www.linkedin.com/in/leokarpa/ 131 • 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/ 132 Buscando Valores em Outras Tabelas https://www.linkedin.com/in/leokarpa/ 133 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/ 134 Medidas Rápidas no Power BI https://www.linkedin.com/in/leokarpa/ 135 • 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: – Média de Vendas por Dia – Média de Vendas por Cliente – Total de Vendas para a categoria de produto Audio – Diferença % de Vendas da categoria Audio para as demais –Total de Vendas acumulado no ano – Variação % de Vendas ao mês Medidas Rápidas 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 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/ 143 O que é um contexto de avaliação? • O que essa fórmula irá computar? https://www.linkedin.com/in/leokarpa/ 144 O que é um contexto de avaliação? O valor de uma fórmula DAX depende do seu contexto https://www.linkedin.com/in/leokarpa/ 145 Fontes de um contexto https://www.linkedin.com/in/leokarpa/ 146 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/ 147 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/ 148 Exemplificando Contextos de Avaliação Total Vendas = SUM( Vendas[Valor Venda] ) https://www.linkedin.com/in/leokarpa/ 149 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/ 150 Função CALCULATE https://www.linkedin.com/in/leokarpa/ 151 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/ 152 Filtrando com CALCULATE Total Vendas Audio = CALCULATE ( [Total Vendas] ; Vendas[Categoria] = “Audio” ) https://www.linkedin.com/in/leokarpa/ 153 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/ 154 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/ 155 Removendo Filtros da CALCULATE com ALL Total Vendas Fixo = CALCULATE ( [Total Vendas] ; ALL ( Vendas ) ) https://www.linkedin.com/in/leokarpa/ 156 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/ 157 • 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/ 158 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/ 159 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/ 160 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/ 161 Funções de Inteligência de Tempo https://www.linkedin.com/in/leokarpa/ 162 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/ 163 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/ 164 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/ 165 Funções Inteligência de Tempo • É possível utilizar a função FILTER em conjunto com a ALLSELECTEDpara considerar apenas o período de tempo do slicer: Total de Vendas Acc Seleção = CALCULATE ( [Total Vendas]; FILTER ( ALLSELECTED ( Data[Data] ); Data[Data] <= MAX ( Data[Data] ) ) ) https://www.linkedin.com/in/leokarpa/ 166 Variáveis https://www.linkedin.com/in/leokarpa/ 167 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/ 168 Relacionamentos Especiais: Muitos para Muitos, Bidirecionais e Inativos https://www.linkedin.com/in/leokarpa/ 169 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/ 170 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/ 171 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/ 172 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/ 173 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/ 174 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/ 175 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/ 176 RANKX e TOPN https://www.linkedin.com/in/leokarpa/ 177 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/ 178 RANKX • Remover o valor do Ranking da linha “Total” com as funções IF e HASONEVALUE https://www.linkedin.com/in/leokarpa/ 179 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/ 180 Visualização de Dados https://www.linkedin.com/in/leokarpa/ 181 Storytelling com Dados https://www.linkedin.com/in/leokarpa/ 182 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/ 183 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/ 184 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/ 185 Recomendação de Leitura https://www.linkedin.com/in/leokarpa/ 186 Antes x Depois Dê destaque ao que importa! https://www.linkedin.com/in/leokarpa/ 187 Antes x Depois Utilize gráficos de linha para dados históricos! https://www.linkedin.com/in/leokarpa/ 188 Antes x Depois Não utilize gráficos 3D, muito menos de pizza! https://www.linkedin.com/in/leokarpa/ 189 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/ 190 Antes x Depois 29% 38% 22% 16% https://www.linkedin.com/in/leokarpa/ 191 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/ 192 https://www.linkedin.com/in/leokarpa/ ALGO DE ERRADO NÃO ESTÁ MUITO CERTO! 194 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/ 195 Guia de Referência de Visuais https://www.linkedin.com/in/leokarpa/ 196 Storytelling com Power BI https://www.linkedin.com/in/leokarpa/ 197 https://www.linkedin.com/in/leokarpa/ 198 https://www.linkedin.com/in/leokarpa/ 199 https://www.linkedin.com/in/leokarpa/ 200 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 201 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/ 202 Visual Customizado para Storytelling https://www.linkedin.com/in/leokarpa/ 203 Aplicativo Mobile https://www.linkedin.com/in/leokarpa/ 204 Aplicativo Mobile https://www.linkedin.com/in/leokarpa/ 205 Power BI Online https://www.linkedin.com/in/leokarpa/ 206 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/ 207 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/ 208 https://www.linkedin.com/in/leokarpa/ 209 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/ 210 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/ 211 Adicionando Pessoas aos Workspaces https://www.linkedin.com/in/leokarpa/ 212 Permissões em um Workspace https://www.linkedin.com/in/leokarpa/ 213 Compartilhamento https://www.linkedin.com/in/leokarpa/ 214 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/ 215 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/ 216 Licenciamento https://www.linkedin.com/in/leokarpa/ 217 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/ 218 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/ 219 Power BI Premium https://www.linkedin.com/in/leokarpa/ 220 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/ 221 Atribuindo Plano Premium a um Workspace https://www.linkedin.com/in/leokarpa/ 222 Principal Vantagem do Power BI Premium Possibilitar que usuários Free visualizem o conteúdo do Workspace https://www.linkedin.com/in/leokarpa/ 223 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/ 224 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 LiveConnection a performance é ditada pela fonte de origem https://www.linkedin.com/in/leokarpa/ 225 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/ 226 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/ 227 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/ 228 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/ 229 Atualização de Dados https://www.linkedin.com/in/leokarpa/ 230 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/ 231 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/ 232 Segurança a Nível de Linha (RLS) https://www.linkedin.com/in/leokarpa/ 233 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/ 234 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/ 235 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/ 236 Administração e Governança https://www.linkedin.com/in/leokarpa/ 237 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/ 238 Aí surgiu o Power BI e todos os problemas se acabaram!!! https://www.linkedin.com/in/leokarpa/ 239 Será mesmo?! https://www.linkedin.com/in/leokarpa/ 240 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/ 241 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/ 242 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/ 243 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 ofereceduas funcionalidades muito importantes para isso: – Fluxo de Dados (Dataflows) – Conjuntos de dados compartilhados (Shared datasets) https://www.linkedin.com/in/leokarpa/ 244 Fluxo de Dados https://www.linkedin.com/in/leokarpa/ 245 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/ 246 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. https://www.linkedin.com/in/leokarpa/ 247 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/ 248 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/ 249 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/ 250 Shared Datasets https://www.linkedin.com/in/leokarpa/ 251 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/ 252 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/ 253 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/ 254 Processo de BI https://www.linkedin.com/in/leokarpa/ 255 Processo de BI Conceitual Clientes Estoque Produção Vendas Financeiro ETL DW BI Relatório https://www.linkedin.com/in/leokarpa/ 256 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/ 257 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/ 258 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/ 259 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/ 260 Data Lineage https://www.linkedin.com/in/leokarpa/ 261 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/ 262 https://www.linkedin.com/in/leokarpa/ 263 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/ 264 Modelo Tabular https://www.linkedin.com/in/leokarpa/ 265 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 https://www.linkedin.com/in/leokarpa/ 266 Modelo Tabular https://www.linkedin.com/in/leokarpa/ 267 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/ 268 Compressão Colunar https://www.linkedin.com/in/leokarpa/ 269 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/ 270 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/ 271 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/ 272 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/ 273 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/ 274 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 275 Inteligência Artificial e Machine Learning https://www.linkedin.com/in/leokarpa/ 276 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/ 277 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/ 278 Conceitos • a https://www.linkedin.com/in/leokarpa/ 279 Percepções de Inteligência Artificial https://www.linkedin.com/in/leokarpa/ 280 https://www.linkedin.com/in/leokarpa/ 281 Aplicações de Negócio https://www.linkedin.com/in/leokarpa/ 282 https://www.linkedin.com/in/leokarpa/ 283 Processo de Aprendizado de Máquina https://www.linkedin.com/in/leokarpa/ 284 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/ 285 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/ 286 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
Compartilhar