Você está na página 1de 39

Introdução à Otimização de Desempenho

A otimização de desempenho, também conhecida como ajuste de


desempenho, envolve fazer alterações no estado atual do modelo de
dados para que ele seja executado com mais eficiência.

Essencialmente, quando o modelo de dados é otimizado, seu desempenho é


melhor.

É possível observar que o relatório é bem executado em ambientes


de teste e desenvolvimento, mas quando ele é implantado na produção para
um consumo mais amplo, surgem problemas de desempenho.

Da perspectiva do usuário do relatório, compreende-se que:

O mau desempenho é caracterizado por páginas de relatório que demoram


mais para serem carregadas
e
Visuais que demoram mais para serem atualizados.
Esse mau desempenho leva a uma experiência de usuário negativa.

Como analista de dados, você passará cerca de 90% do tempo trabalhando


com seus dados e, nove de cada dez vezes, portanto, o mau desempenho é:

 Resultado direto de um modelo de dados inadequado.


 Mau uso da linguagem DAX (Data Analysis Expressions).
 Uma combinação de ambos.
O processo de elaborar um modelo de dados de bom desempenho pode ser
entediante e, geralmente, é subestimado.

No entanto, ao se tratar dos problemas de desempenho durante


o desenvolvimento, você terá um modelo de dados do Power BI robusto que
apresentará um melhor desempenho de relatório e uma experiência do
usuário mais positiva.
Por fim, você também será capaz de manter o desempenho otimizado.
Conforme sua organização cresce, o tamanho dos dados aumenta e o modelo
de dados se torna mais complexo. Se você otimizar o modelo de dados na
fase inicial, será possível reduzir o impacto negativo que esse crescimento
poderá ter sobre ele.
Um modelo de dados menor usa menos recursos (memória) e tem mais
velocidade na atualização de dados, nos cálculos e na renderização dos visuais
em relatórios.

Portanto, o processo de otimização de desempenho envolve minimizar o


tamanho do modelo de dados e usar de maneira mais eficiente os dados
contidos nele, o que inclui:

 Garantir que os tipos de dados corretos sejam usados.


 Excluir colunas e linhas desnecessárias.
 Evitar valores repetidos.
 Substituir colunas numéricas por medidas.
 Reduzir cardinalidades.
 Analisar metadados do modelo.
 Resumir dados sempre que possível.

Captura de tela mostrando as tarefas deste módulo.


Neste módulo, você será apresentado às etapas, aos processos e
aos conceitos necessários para otimizar um modelo de dados para ter
desempenho de nível empresarial.
No entanto, tenha em mente que, embora as diretrizes básicas de desempenho
e melhores práticas no Power BI façam uma grande diferença, para otimizar
um modelo de dados em termos de desempenho de consulta, você
provavelmente precisará trabalhar em parceria com um engenheiro de
dados para otimizar o modelo de dados nas fontes de dados de origem.
Por exemplo, digamos que você trabalhe como desenvolvedor do Microsoft
Power BI na Tailwind Traders.

Você recebeu a tarefa de examinar um modelo de dados que foi criado há


alguns anos por outro desenvolvedor, uma pessoa que já saiu da
organização.
O modelo de dados produz um relatório que recebeu comentários negativos
dos usuários.

 Os usuários estão satisfeitos com os resultados que veem no relatório,


mas não com seu desempenho.
 O carregamento das páginas do relatório demora muito e as tabelas
não são atualizadas com rapidez suficiente quando determinadas
seleções são feitas.
Além desses comentários, a equipe de TI destacou que o tamanho do
arquivo desse modelo de dados específico é muito grande e
está sobrecarregando os recursos da organização.

Você precisa examinar o modelo de dados para identificar a causa raiz dos
problemas de desempenho e fazer alterações para otimizá-lo.

Ao final deste módulo, você será capaz de:

 Examinar o desempenho de medidas, relações e visuais.


 Usar variáveis para aprimorar o desempenho e solucionar problemas.
 Aprimorar o desempenho reduzindo os níveis de cardinalidade.
 Otimizar modelos do DirectQuery com o armazenamento no nível da
tabela.
 Criar e gerenciar agregações.
Examinar o Desempenho de Medidas,
Relações e Visuais
Se um modelo de dados tem várias tabelas, relações complexas, cálculos
complicados, diversos visuais e dados redundantes, existe o potencial de o
relatório ter um desempenho insatisfatório.

O mau desempenho de um relatório leva a uma experiência do usuário


negativa.

Captura de tela mostrando fatores que impactam o desempenho do relatório.


Para otimizar o desempenho, primeiro precisará identificar de onde vem o
problema, ou seja, descobrir quais elementos do relatório e do modelo de
dados estão causando problemas de desempenho. Depois, poderá tomar
medidas para resolver esses problemas e, assim, aprimorar o desempenho.

Portanto, para identificar gargalos de desempenho no relatório, para que ele


tenha o desempenho ideal, você precisa criar um modelo de dados
eficiente que tenha consultas e medidas de execução rápida. Quando tem bons
alicerces, poderá aprimorar ainda mais o modelo analisando os planos de
consulta e as dependências e, assim, fazer alterações para otimizar o
desempenho.
Examine as medidas e consultas no modelo de dados para garantir que esteja
empregando a maneira mais eficiente de obter os resultados desejados.

Seu ponto de partida deve ser identificar gargalos no código. Ao identificar


a consulta mais lenta do modelo de dados, poderá concentrar no maior gargalo
primeiro e estabelecer uma lista de prioridades para solucionar os outros
problemas.
Use o Performance Analyzer no Power BI Desktop para ajudar você a
descobrir qual é o desempenho de cada um dos elementos do relatório quando
os usuários interagem com eles.
Por exemplo, você pode determinar quanto tempo leva para um determinado
visual ser atualizado quando ele é iniciado por uma interação do usuário.
O Performance Analyzer ajudará a identificar os elementos que contribuem
para os problemas de desempenho, o que pode ser útil durante a solução de
problemas.

Antes de executar o Performance Analyzer, para garantir que sua análise


(teste) tenha os resultados mais precisos, comece com um cache de visual e
um cache de mecanismo de dados limpos.
Clique nos itens para acessar o conteúdo
 Cache de Visual
Quando você carrega um visual, não é possível limpar o cache dele sem fechar
o Power BI Desktop e abri-lo novamente. Para evitar interferências do
armazenamento em cache, precisa começar sua análise com um cache de
visual limpo.
Para ter um cache de visual limpo, adicione uma página em branco ao seu
arquivo do Power BI Desktop (.pbix) e, com essa página selecionada, salve e
feche o arquivo.
Reabra o arquivo do Power BI Desktop (.pbix) que deseja analisar. Ele será
aberto na página em branco.
 Cache de Mecanismo de Dados
Quando uma consulta é executada, os resultados são armazenados em cache,
de modo que os resultados da análise serão enganosos.

Você precisa limpar o cache de dados antes de executar novamente o visual.

Para limpar o cache de dados, você pode reiniciar o Power BI Desktop ou


conectar o DAX Studio ao modelo de dados e chamar Limpar Cache.
Depois de limpar os caches e abrir o arquivo do Power BI Desktop na página
em branco, vá para a guia Exibir e selecione a opção Performance Analyzer.

Para começar o processo de análise, selecione Iniciar gravação, depois disso,


escolha a página do relatório que deseja analisar e interaja com os elementos
do relatório que deseja medir. Você verá os resultados das interações exibidos
no painel do Performance Analyzer enquanto trabalha. Quando terminar,
selecione o botão Parar.

Captura de tela mostrando a tela inicial do Performance Analyzer


Dica
Para obter informações mais detalhadas, confira Usar o Performance
Analyzer para examinar o desempenho do elemento de relatório.
Você pode examinar os resultados do teste de desempenho no painel
do Performance Analyzer.

Para examinar as tarefas em ordem de duração, da mais longa para a mais


curta, clique com o botão direito do mouse no ícone Classificar ao lado do
cabeçalho da coluna Duração (ms) e selecione Tempo total na ordem
Decrescente.
Captura de tela mostrando
de que modo classificar resultados no Performance Analyzer
As informações de log de cada visual mostram quanto tempo levou (duração)
para concluir as seguintes categorias de tarefas:

 Consulta DAX
O tempo necessário para o visual enviar a consulta, junto com o tempo
necessário para o Analysis Services retornar os resultados.
 Exibição de visual
O tempo necessário para o visual ser renderizado na tela, incluindo o tempo
necessário para recuperar imagens da Web ou geocódigo.
 Outros
O tempo que levou para o visual preparar consultas, aguardar a conclusão de
outros visuais ou executar outras tarefas de processamento em segundo plano.
Quando essa categoria exibe uma duração longa, a única maneira real de
reduzir essa duração é otimizar as consultas DAX de outros visuais ou reduzir
o número de visuais no relatório.
Captura de tela
mostrando as categorias nos resultados do Performance Analyzer
Os resultados do teste de análise ajudam a entender o comportamento do
modelo de dados e a identificar os elementos que precisa otimizar.

Pode comparar a duração de cada elemento no relatório e identificar os


elementos que têm longa duração. Concentre-se nesses elementos e investigue
por que leva tanto tempo para eles serem carregados na página do relatório.
Dica
Para analisar as consultas com mais detalhes, você pode usar o DAX Studio,
que é uma ferramenta de software livre gratuita fornecida por outro serviço.
Os resultados da análise identificarão áreas para aprimoramentos e
oportunidades de otimização do desempenho. Você poderá descobrir
que precisa fazer aprimoramentos nos visuais, na consulta DAX ou em outros
elemento do modelo de dados.
As informações a seguir fornecem diretrizes sobre o que procurar e as
alterações que podem ser feitas.

 Visuais
Quando identifica visuais como o gargalo que gera mau desempenho, você
precisa encontrar uma forma de aprimorar o desempenho com impacto
mínimo sobre a experiência do usuário.

Considere o número de visuais na página do relatório; menos visuais levam a


um melhor desempenho. Avalie se um visual é realmente necessário e se ele
agrega valor para o usuário final. Se a resposta for não, remova esse visual.
Em vez de usar vários visuais na página, pense em outras maneiras de
fornecer detalhes adicionais, como páginas de detalhamento e dicas de
ferramentas na página do relatório.

Examine o número de campos em cada visual. Quanto mais visuais você tiver
no relatório, maior será a chance de ter problemas de desempenho. Além
disso, quanto mais visuais, mais o relatório pode parecer poluído e perder
clareza.

O limite de visuais é de 100 campos (medidas ou colunas), portanto, um


visual com mais de 100 campos terá o carregamento lento. Analise se você
realmente precisa de todos esses dados no visual. Talvez conclua que pode
reduzir o número de campos usados.
 Consulta DAX
Quando examina os resultados no painel do Performance Analyzer, você
pode ver quanto tempo levou para o mecanismo do Power BI Desktop avaliar
cada consulta (em milissegundos). Um bom ponto de partida é qualquer
consulta DAX que demore mais de 120 milissegundos.
Neste exemplo, você identifica uma consulta específica que tem uma duração
longa.

Captura de tela de um
exemplo de
tempo de duração grande no Performance Analyzer.
O Performance Analyzer realça possíveis problemas, mas não informa o que
precisa ser feito para aprimorá-los. Talvez você queira fazer mais
investigações sobre o motivo pelo qual essa medida demora muito para ser
processada. Você pode usar o DAX Studio para investigar as consultas com
mais detalhes.
Para isso, selecione Copiar Consulta para copiar a fórmula de cálculo para a
área de transferência e cole-a no DAX Studio. Após realizar o procedimento,
poderá examinar a etapa de cálculo com mais detalhes. Neste exemplo, você
está tentando contar o número total de produtos com quantidades de pedidos
maiores ou iguais a cinco.

Depois de analisar a consulta, você poderá usar seu conhecimento e sua


experiência para identificar onde estão os problemas de desempenho. Também
poderá tentar usar diferentes funções DAX para ver se elas aprimoram o
desempenho.

No exemplo a seguir, a função FILTER foi substituída por KEEPFILTER.


Quando o teste foi executado novamente no Performance Analyzer, a
duração foi mais curta como resultado da função KEEPFILTER.

Nesse caso, você pode substituir a função FILTER pela


função KEEPFILTER para reduzir significativamente a duração da avaliação
dessa consulta.
Depois de fazer essa alteração, para verificar se a duração melhorou ou não,
limpe o cache de dados e execute novamente o processo do Performance
Analyzer.
Captura de tela de um
exemplo de tempo de
duração pequena no Performance Analyzer.
 Modelo de dados
Se as durações das medidas e dos visuais exibem valores baixos (ou seja, se
eles têm curta duração), eles não são a causa dos problemas de desempenho.
Se, em vez disso, a consulta DAX exibe um valor de duração alto, é
provável que uma medida esteja mal escrita ou que um problema tenha
ocorrido com o modelo de dados.

O problema pode ser causado pelas relações, pelas colunas ou pelos


metadados no modelo ou pode ser o status da opção Data/hora automática,
conforme explicado na seção a seguir.
 Relações
Examine as relações entre as tabelas para garantir que você tenha
estabelecido as relações corretas. Verifique se as propriedades de
cardinalidade da relação estão configuradas corretamente.

Por exemplo, uma coluna de um lado que contém valores exclusivos pode
estar configurada incorretamente como uma coluna de muitos lados. Você
aprenderá mais sobre como a cardinalidade afeta o desempenho mais adiante
neste módulo.
 Colunas
É uma melhor prática não importar colunas de dados que não são necessárias.
Para evitar a exclusão de colunas no Editor do Power Query, lide com elas
na origem ao carregar os dados no Power BI Desktop.
No entanto, se for impossível remover colunas redundantes da consulta de
origem ou se os dados já tiverem sido importados no estado bruto, você
sempre poderá usar o Editor do Power Query para examinar cada coluna.
Considere se você realmente precisa de cada coluna e tente identificar o
benefício que cada uma delas adiciona ao modelo de dados. Se concluir que
uma coluna não agrega nenhum valor, remova-a do modelo de dados.

Por exemplo, suponha que você tem uma coluna de ID com milhares de linhas
exclusivas. Você sabe que não usará essa coluna específica em uma relação e,
portanto, ela não será usada em um relatório. Sendo assim, você deve
considerar essa coluna desnecessária e admitir que ela está desperdiçando
espaço no modelo de dados.

Se você remover uma coluna desnecessária, reduzirá o tamanho do modelo de


dados, o que, por sua vez, resultará em um tamanho de arquivo menor e em
um tempo de atualização mais rápido. Além disso, como o conjunto de dados
contém apenas dados relevantes, o desempenho geral do relatório será
aprimorado.

Dica
Para obter mais informações, confira Técnicas de redução de dados para a
modelagem de importação.
 Metadados
Metadados são informações sobre outros dados. Os metadados do Power
BI contêm informações sobre o modelo de dados, como o nome, o tipo de
dados e o formato de cada uma das colunas, o esquema do banco de dados, o
design do relatório, quando o arquivo foi modificado pela última vez, as taxas
de atualização de dados e muito mais.

Quando você carrega dados no Power BI Desktop, é uma boa prática


analisar os metadados correspondentes para identificar inconsistências no
conjunto de dados e normalizar os dados antes de começar a criar relatórios.

A execução da análise dos metadados aprimora o desempenho do modelo de


dados pois, ao analisar os metadados, você identifica colunas desnecessárias,
erros dentro dos dados, tipos de dados incorretos, o volume de dados sendo
carregados (conjuntos de dados grandes, incluindo dados transacionais ou
históricos, levam mais tempo para serem carregados) e muito mais.

Use o Editor do Power Query no Power BI Desktop para examinar as colunas,


as linhas e os valores dos dados brutos. Em seguida, você pode usar as
ferramentas disponíveis, como aquelas realçadas na captura de tela a seguir,
para fazer as alterações necessárias.
Captura de tela das opções da guia inicial do editor de consultas.
As opções do Power Query incluem:
o Colunas desnecessárias – avalia a necessidade de cada coluna. Se uma
ou mais colunas não forem usadas no relatório e, portanto, forem
desnecessárias, remova-as usando a opção Remover Colunas na
guia Página Inicial.
o Linhas desnecessárias – verifica as primeiras linhas do conjunto de
dados para ver se elas estão vazias ou se contêm dados desnecessários
para os relatórios. Quando é esse o caso, remove essas linhas usando a
opção Remover Linhas Superiores na guia Página Inicial.
o Tipo de dados – avalia os tipos de dados da coluna para garantir que
todos estejam corretos. Se você identificar um tipo de dados incorreto,
altere-o selecionando a coluna, Tipo de Dados na guia Transformar e
o tipo de dados correto na lista.
o Nomes de consulta – examina os nomes das consultas (tabelas) no
painel Consultas. Assim como fez com os nomes dos cabeçalhos das
colunas, substitua os nomes de consulta incomuns ou inúteis por nomes
que sejam mais óbvios ou com os quais o usuário esteja mais
familiarizado. Para renomear uma consulta, clique nela com o botão
direito do mouse, selecione Renomear, edite o nome conforme
necessário e pressione Enter.
o Detalhes da coluna – o Editor do Power Query tem as três opções de
visualização de dados a seguir, as quais você pode usar para analisar os
metadados associados às suas colunas. Você pode encontrar essas
opções na guia Exibir, conforme ilustrado na captura de tela a seguir.
✓Qualidade da coluna – determina qual o percentual de itens
na coluna são válidos, têm erros ou estão vazios. Se o percentual
válido não for 100, investigue o motivo, corrija os erros e
preencha os valores vazios.
✓Distribuição de coluna – identifica quantos itens distintos
você tem e quantos são exclusivos. Essas informações são úteis
quando você deseja identificar a cardinalidade de uma coluna.
Você investigará isso mais adiante neste módulo.
✓Perfil da coluna – mostra mais estatísticas para a coluna e um
gráfico mostrando a distribuição dos itens exclusivos.

Captura de tela das opções de perfil da coluna.


Se estiver examinando um conjunto de dados grande (com mais de 1.000
linhas) e desejar analisá-lo totalmente, você precisará alterar a opção padrão
na parte inferior da janela.

Selecione Criação de perfil de coluna com base nas primeiras 1000


linhasCriação de perfil de coluna com base em todo o conjunto de dados.

Captura de tela das linhas do perfil da coluna.


Outros metadados que você deve considerar são as informações sobre o
modelo de dados como um todo, como o tamanho do arquivo e as taxas de
atualização de dados. Você pode encontrar esses metadados no arquivo
do Power BI Desktop (.pbix) associado.

Os dados que você carrega no Power BI Desktop são compactados e


armazenados no disco pelo mecanismo de armazenamento VertiPaq. O
tamanho do modelo de dados tem impacto direto sobre seu desempenho; um
modelo de dados menor usa menos recursos (memória) e tem mais velocidade
na atualização de dados, nos cálculos e na renderização dos visuais em
relatórios.
 Recurso de data/hora automática
Outro aspecto a ser considerado ao otimizar o desempenho é a opção
de Data/hora automática no Power BI Desktop. Por padrão, esse recurso é
habilitado globalmente, o que significa que o Power BI Desktop cria
automaticamente uma tabela calculada oculta para cada coluna de data, desde
que determinadas condições sejam atendidas. As tabelas novas ocultas são
adicionais às tabelas que você já tem no conjunto de dados.
A opção de Data/hora automática permite que você trabalhe com
inteligência de dados temporais ao filtrar, agrupar e analisar detalhadamente
períodos do calendário. Recomendamos manter a opção de Data/hora
automática habilitada somente quando você trabalha com períodos do
calendário e quando tem requisitos de modelo simplistas com relação ao
tempo.

Se a fonte de dados já define uma tabela de dimensões de data, essa tabela


deve ser usada para definir o tempo de maneira uniforme em sua organização.
Além disso, você deve desabilitar a opção de Data/hora automática global.
Desabilitar essa opção pode diminuir o tamanho do modelo de dados e reduzir
o tempo de atualização.

Você pode habilitar/desabilitar a opção de Data/hora


automática globalmente para que ela se aplique a todos os seus arquivos
do Power BI Desktop ou pode habilitar/desabilitar a opção para o arquivo
atual para que ela se aplique a apenas um arquivo individual.
Para habilitar/desabilitar a opção de Data/hora automática,
acesse ArquivoOpções e configuraçõesOpções e selecione a
página Global ou Arquivo Atual. Em qualquer uma das páginas,
selecione Carregamento de Dados e, na seção Inteligência de Dados
Temporais, marque ou desmarque a caixa de seleção conforme necessário.

Para ter uma visão geral e uma introdução geral do recurso de Data/hora
automática, confira Aplicar a data/hora automática no Power BI Desktop.
Usar Variáveis para Aprimorar o
Desempenho e Solucionar Problemas
Você pode usar variáveis em suas fórmulas DAX para escrever cálculos
menos complexos e mais eficientes. As variáveis são subutilizadas pelos
desenvolvedores que estão começando no Power BI Desktop, mas são
eficazes e você deve usá-las por padrão ao criar medidas.

Algumas expressões envolvem o uso de muitas funções aninhadas e a


reutilização da lógica da expressão. Essas expressões levam mais tempo para
serem processadas e são difíceis para ler e, portanto, para solucionar
problemas.

Se você usar variáveis, poderá economizar tempo no processamento da


consulta. Essa mudança é um passo na direção certa para otimizar o
desempenho de um modelo de dados.

O uso de variáveis no modelo de dados fornece as seguintes vantagens:

Desempenho aprimorado
Legibilidade aprimorada
Depuração simplificada
Complexidade reduzida

As variáveis podem tornar as medidas mais eficientes, pois eliminam a


necessidade de o Power BI avaliar a mesma expressão várias vezes.
Você pode obter os mesmos resultados em uma consulta em cerca de metade
do tempo de processamento original.

Usar variáveis para aprimorar o desempenho


Para ilustrar como você pode usar uma variável para tornar uma medida mais
eficiente, a tabela a seguir exibe uma definição de medida de duas maneiras
diferentes.

Observe que a fórmula repete a expressão que calcula "o mesmo período no
ano passado", mas de duas maneiras diferentes:
A primeira instância usa o método normal de cálculo do DAX e a segunda usa
variáveis no cálculo.
A segunda linha da tabela mostra a definição de medida aprimorada. Essa
definição usa a palavra-chave VAR para introduzir uma variável
chamada SalesPriorYear e usa uma expressão para atribuir o resultado do
"mesmo período do ano passado" a essa nova variável. Em seguida, ela usa a
variável duas vezes na expressão RETURN.

Sem variável

Com variável

Na primeira definição de medida na tabela, a fórmula é ineficiente porque


exige que o Power BI avalie a mesma expressão duas vezes. A segunda
definição é mais eficiente porque, devido à variável, o Power BI só precisa
avaliar a expressão PARALLELPERIOD uma vez.
Se o modelo de dados tiver várias consultas com várias medidas, o uso
de variáveis poderá reduzir o tempo de processamento geral da consulta pela
metade e aprimorar o desempenho geral do modelo de dados.

Além disso, essa solução é simples: imagine a economia conforme as


fórmulas ficam mais complicadas, por exemplo, quando você está lidando
com percentuais e calculando os totais.
Portanto, você poderá usar variáveis em dois momentos. Selecione as opções
abaixo para visualizar o conteúdo:

 Usar variáveis para aprimorar a legibilidade


Além de aprimorar o desempenho, você pode observar que o uso de
variáveis facilita a leitura do código.

Ao usar variáveis, é uma melhor prática usar nomes descritivos para elas. No
exemplo anterior, a variável se chama SalesPriorYear, que indica claramente
o que ela está calculando.

Considere o resultado de usar uma variável chamada X, temp ou variable1;


a finalidade dela não seria clara.

Usar nomes claros, concisos e significativos ajuda a facilitar a compreensão


do que você está tentando calcular, além de simplificar para outros
desenvolvedores manterem o relatório no futuro.
 Usar variáveis para solucionar problemas com várias etapas
Você pode usar variáveis para ajudar a depurar uma fórmula e identificar qual
é o problema. As variáveis ajudam a simplificar a tarefa de solucionar
problemas com o cálculo de DAX, avaliando cada variável separadamente e
chamando-a novamente após a expressão RETURN.

No exemplo a seguir, você testa uma expressão atribuída a uma variável.


Para depurar, você reescreve temporariamente a expressão RETURN para
gerar a variável.

A definição de medida retorna apenas a variável SalesPriorYear porque isso


é o que vem após a expressão RETURN.

A expressão RETURN exibirá somente o valor SalesPriorYear. Essa técnica


permite reverter a expressão após a conclusão da depuração. Ela
também simplifica a compreensão dos cálculos devido à redução na
complexidade do código DAX.
Reduzir a Cardinalidade
A Cardinalidade é um termo usado para descrever a
exclusividade dos valores de uma coluna. O termo cardinalidade também é
usado no contexto das relações entre duas tabelas, em que descreve a
direção da relação.
No conteúdo a seguir, você identificará níveis de cardinalidade nas colunas.
Anteriormente, quando você usou o Editor do Power Query para analisar os
metadados, a opção Distribuição da coluna na guia Exibição exibiu
estatísticas sobre quantos itens distintos e exclusivos estavam em cada coluna
nos dados.
 Contagem de valores distintos – o número total de valores diferentes
encontrados em uma determinada coluna.
 Contagem de valores exclusivos – o número total de valores que
aparecem apenas uma vez em uma determinada coluna.

Captura de tela das estatísticas de distribuição de colunas.


Uma coluna com vários valores repetidos em seu intervalo (uma contagem
distinta alta) terá um nível baixo de cardinalidade. Por outro lado,
uma coluna com vários valores exclusivos em seu intervalo (uma contagem
exclusiva alta) terá um alto nível de cardinalidade.

A baixa cardinalidade leva a um desempenho mais otimizado, portanto,


talvez seja necessário reduzir o número de colunas com alta
cardinalidade em seu conjunto de dados.
Reduzir a cardinalidade da relação

Quando você importa várias tabelas, é possível que faça algumas análises
usando dados de todas essas tabelas.

As relações entre essas tabelas são necessárias para calcular os resultados


com precisão e exibir as informações corretas em seus relatórios.

O Power BI Desktop ajuda a facilitar a criação dessas relações. Na verdade,


na maioria dos casos, você não precisa fazer nada, pois o recurso de detecção
automática faz isso para você.

No entanto, ocasionalmente você pode precisar criar relações ou


fazer alterações em uma relação. Independentemente disso, é importante
entender as relações no Power BI Desktop e como criá-las e editá-las.

Quando cria ou edita uma relação, você pode configurar opções adicionais.
Por padrão, o Power BI Desktop configura automaticamente opções
adicionais com base em sua melhor estimativa, que pode ser diferente para
cada relação com base nos dados nas colunas.

As relações podem ter cardinalidades diferentes. A cardinalidade é


a direção da relação e cada relação do modelo precisa ser definida com um
tipo de cardinalidade.

Selecione os itens abaixo para visualizar as opções


de cardinalidade no Power BI:

Muitos para um (*:1)


Um para um (1:1)
Um para muitos (1:*)
Muitos para muitos (:)

Essa relação é o tipo mais comum e o padrão.

Ela significa que a coluna em uma tabela pode ter mais de uma instância de
um valor e a outra tabela relacionada, geralmente conhecida como tabela de
pesquisa, tem apenas uma instância de um valor.
Durante o desenvolvimento, você criará e editará relações em seu modelo,
portanto, quando estiver criando relações no modelo, independentemente
da cardinalidade escolhida, sempre verifique se ambas as colunas que você
está usando para participar de uma relação compartilham o mesmo tipo de
dados.

Seu modelo nunca funcionará se você tentar criar uma relação entre duas
colunas em que uma coluna tem um tipo de dados de texto e a outra tem
um tipo de dados Integer.
No exemplo a seguir, o campo ProductID tem o tipo de dados Número
inteiro nas tabelas de Produto e Vendas. As colunas com o tipo de
dados Inteiro têm melhor desempenho do que as colunas com o tipo de
dados Texto.

A captura de tela mostra como verificar o tipo de dados de ProductID


Aprimorar o desempenho reduzindo os níveis de cardinalidade
O Power BI Desktop oferece técnicas diferentes que você pode usar para
ajudar a reduzir os dados que são carregados nos modelos de dados, como o
resumo. Reduzir os dados carregados no modelo aprimorará a cardinalidade
do relacionamento do relatório.

Por esse motivo, é importante se esforçar para minimizar os dados que serão
carregados nos modelos. Esse caso é especialmente verdadeiro para modelos
grandes ou para modelos que você imagina que crescerão e ficarão grandes
com o passar do tempo.

Talvez a técnica mais eficiente para reduzir o tamanho de um modelo seja


usar uma tabela de resumo da fonte de dados. Enquanto uma tabela de
detalhes pode conter todas as transações, uma tabela de resumo conteria um
registro por dia, por semana ou por mês. Pode ser uma média de todas as
transações por dia, por exemplo.
Por exemplo, uma tabela de fatos de vendas de origem, armazena uma linha
para cada linha de pedido. Uma redução significativa de dados poderia ser
obtida resumindo todas as métricas de vendas se você agrupasse por data,
cliente e produto, e os detalhes da transação individual não seriam
necessários.

Considere, então, que uma redução de dados ainda mais significativa poderia
ser obtida agrupando por data no nível do mês.
Poderia ser alcançada uma redução de 99% no tamanho do modelo, mas o
relatório no nível do dia ou no nível do pedido individual deixaria de ser
possível.
A decisão de resumir dados de tipo de fatos sempre envolverá uma
compensação com relação ao detalhamento dos dados. Uma desvantagem é
que você pode perder a capacidade de analisar os dados com mais
profundidade porque os detalhes não existem mais. Essa compensação pode
ser atenuada usando um design de modelo misto.

No Power BI Desktop, um design de modo misto produz um modelo


composto. Essencialmente, ele permite que você determine um modo de
armazenamento para cada tabela. Portanto, cada tabela pode ter sua
propriedade Modo de Armazenamento definida
como Importação ou DirectQuery.
Uma técnica efetiva para reduzir o tamanho do modelo é definir a
propriedade Modo de Armazenamento das tabelas de tipo de fatos maiores
como DirectQuery.

Essa abordagem de design pode funcionar bem em conjunto com técnicas


usadas para resumir os dados.

Por exemplo, os dados de vendas resumidos poderiam ser usados para obter
relatórios de "resumo" de alto desempenho.
Uma página de detalhamento poderia ser criada para exibir as vendas
granulares para um contexto de filtro específico (e restrito), exibindo todos
os pedidos de venda no contexto.
A página de detalhamento incluiria visuais baseados em uma tabela
do DirectQuery para recuperar os dados dos pedidos de vendas (detalhes dos
pedidos de vendas).

Dica
Para obter mais informações, confira Técnicas de redução de dados para a
modelagem de importação.

Otimizar Modelos do DirectQuery com o


Armazenamento no Nível da Tabela
O DirectQuery é uma forma de inserir dados no Power BI Desktop. O
método DirectQuery envolve conectar-se diretamente com os dados em seu
repositório de origem de dentro do Power BI Desktop.
Trata-se de uma alternativa à importação de dados para o Power BI Desktop
Captura de tela que mostra como usar a opção DirectQuery para obter dados
Quando você usa o método DirectQuery, a experiência geral do usuário
depende muito do desempenho da fonte de dados subjacente.
Tempos de resposta de consulta lentos levarão a uma experiência negativa do
usuário e, nos piores casos, as consultas poderão atingir o tempo limite.

Além disso, o número de usuários que abrem os relatórios em um determinado


momento afeta a carga que é colocada na fonte de dados. Por exemplo, se o
relatório tiver 20 visuais e 10 pessoas o estiverem utilizando, haverá 200
consultas ou mais na fonte de dados, pois cada visual emitirá uma ou mais
consultas.

Infelizmente, o desempenho de seu modelo do Power BI não será afetado


apenas pelo desempenho da fonte de dados subjacente, mas também por
outros fatores não controláveis, como:
 Latência de rede: redes mais rápidas retornam dados mais rapidamente.
 O desempenho do servidor da fonte de dados e quantas outras cargas de
trabalho há nesse servidor. Por exemplo, considere as implicações de
uma atualização do servidor acontecer enquanto centenas de pessoas
estão usando o mesmo servidor por diferentes motivos.
Sendo assim, o uso do DirectQuery representa um risco para a qualidade do
desempenho do modelo. Para otimizar o desempenho nessa situação, você
precisa ter controle sobre o banco de dados de origem ou acesso a ele.

Dica
Para obter informações mais detalhadas, confira Diretrizes de modelo
do DirectQuery no Power BI Desktop.
Selecione os itens abaixo para acessar os conteúdos sobre as implicações do
uso, comportamento e limitações das conexões do DirectQuery:
 Implicações do uso do DirectQuery
É uma melhor prática importar dados para o Power BI Desktop, mas sua
organização talvez precise usar o modo de conectividade de dados
do DirectQuery por um dos seguintes motivos (benefícios do DirectQuery):
o É adequado em casos em que os dados mudam com frequência e
relatórios quase em tempo real são necessários.
o Pode lidar com um grande volume de dados sem a necessidade de
agregar previamente.
o Aplica restrições de soberania de dados para atender a requisitos legais.
o Pode ser usado com uma fonte de dados multidimensional que contém
medidas como o SAP BW (Business Warehouse).
Se a organização precisar usar o DirectQuery, você deverá entender
claramente seu comportamento no Power BI Desktop e estar ciente das
limitações dele. Em seguida, você estará em boas condições para otimizar o
modelo do DirectQuery o máximo possível.
 Comportamento das conexões do DirectQuery
Quando você usa o DirectQuery para se conectar a dados no Power BI
Desktop, essa conexão se comporta da seguinte maneira:

o Ao usar inicialmente o recurso Obter Dados no Power BI Desktop,


você selecionará a origem. Se você se conectar a uma origem relacional,
poderá selecionar um conjunto de tabelas e cada uma delas definirá uma
consulta que retorna logicamente um conjunto de dados. Se você
selecionar uma origem multidimensional, como o SAP BW, poderá
selecionar apenas a origem.
o Quando você carrega os dados, nenhum dado é importado para
o Power BI Desktop, somente o esquema é carregado. Quando
você cria um visual no Power BI Desktop, as consultas são enviadas
para a origem subjacente para recuperar os dados necessários. O tempo
necessário para atualizar o visual depende do desempenho da fonte de
dados subjacente.
o Se forem feitas alterações nos dados subjacentes, elas não serão
refletidas imediatamente nos visuais existentes no Power BI devido ao
cache. Você precisa realizar uma atualização para ver as alterações. As
consultas necessárias são apresentadas para cada um dos visuais, os
quais são atualizados adequadamente.
o Quando você publicar o relatório no serviço do Power BI, ele resultará
em um conjunto de dados no serviço do Power BI, o mesmo que ocorre
para a importação. No entanto, nenhum dado está incluído nesse
conjunto de dados.
o Quando você abre um relatório existente no serviço do Power BI ou cria
um, a origem subjacente é consultada novamente para recuperar os
dados necessários. Dependendo da localização da fonte original, talvez
seja necessário configurar um gateway de dados local.
o Você pode fixar visuais (ou páginas inteiras de relatórios) como blocos
do dashboard. Os blocos são atualizados automaticamente de acordo
com uma agenda, por exemplo, de hora em hora. Você pode controlar a
frequência dessa atualização a fim de atender às suas necessidades.
Quando você abre um dashboard, os blocos refletem os dados no
momento da última atualização e podem não incluir as alterações mais
recentes feitas na fonte de dados subjacente. Você sempre pode atualizar
um dashboard aberto para verificar se ele está atualizado.
 Limitações das conexões do DirectQuery
O uso do DirectQuery pode ter implicações negativas. As limitações variam
dependendo da fonte de dados específica sendo usada. Leve em consideração
os seguintes aspectos:
o Desempenho – Conforme discutido anteriormente, a experiência geral
do usuário depende muito do desempenho da fonte de dados subjacente.
o Segurança – Quando você usa várias fontes de dados em um modelo
do DirectQuery, é importante entender como os dados se movem entre
as fontes de dados subjacentes, bem como as implicações de segurança
associadas. Você também deve identificar se as regras de segurança são
aplicáveis aos dados na origem subjacente porque, no Power BI, todos
os usuários podem ver esses dados.
o Transformação de dados – Em comparação com os dados importados,
os dados originados do DirectQuery têm limitações quando se trata de
aplicar técnicas de transformação de dados no Editor do Power Query.
Por exemplo, se você se conectar a uma fonte de OLAP, como o SAP
BW, não poderá fazer nenhuma transformação, pois todo o modelo
externo é obtido da fonte de dados. Se quiser fazer transformações nos
dados, você precisará fazer isso na fonte de dados subjacente.
o Modelagem – Alguns dos recursos de modelagem que você tem com os
dados importados não ficam disponíveis ou ficam limitados quando
você usa o DirectQuery.
o Relatórios – Quase todos os recursos de relatórios que você tem com os
dados importados também têm suporte para modelos do DirectQuery,
desde que a origem subjacente ofereça um nível adequado de
desempenho. No entanto, quando o relatório é publicado no serviço
do Power BI, os recursos Insights Rápidos e Q&A não têm suporte.
Além disso, o uso do recurso Explorar no Excel provavelmente levará a
um desempenho mais lento.
Dica
Para obter informações mais detalhadas sobre as limitações do uso
do DirectQuery, confira Implicações do uso do DirectQuery.
Agora que você tem uma compreensão geral de como
o DirectQuery funciona e das limitações que ele representa, você
pode tomar medidas para aprimorar o desempenho.
Para isso, selecione as opções abaixo e acesse o conteúdo:

 Otimizar o desempenho
Continuando com o cenário da Tailwind Traders, durante a revisão do
modelo de dados, você descobre que a consulta usava o
DirectQuery para conectar o Power BI Desktop aos dados de origem.

Esse uso do DirectQuery é o motivo pelo qual os usuários estão lidando com
um relatório com desempenho insatisfatório. Está levando muito tempo
para carregar as páginas do relatório e as tabelas não são atualizadas com
rapidez suficiente quando determinadas seleções são feitas. Você precisa
tomar medidas para otimizar o desempenho do modelo do DirectQuery.
Você pode examinar as consultas enviadas para a origem subjacente e tentar
identificar o motivo do mau desempenho de consulta. Em seguida, você
pode fazer alterações no Power BI Desktop e na fonte de dados
subjacente para otimizar o desempenho geral.
 Otimizar dados no Power BI Desktop
Depois de ter otimizado a fonte de dados o máximo possível, você pode
atuar mais dentro do Power BI Desktop usando o Performance Analyzer, no
qual pode isolar as consultas para validar os planos de consulta.

Você pode analisar a duração das consultas enviadas à origem


subjacente para identificar as consultas que estão demorando muito para
serem carregadas. Em outras palavras, você pode identificar onde há gargalos.

Você não precisa adotar uma abordagem especial ao otimizar um modelo


do DirectQuery; basta aplicar as mesmas técnicas de otimização usadas nos
dados importados para ajustar os dados da origem DirectQuery.

Por exemplo, você pode reduzir o número de visuais na página do relatório ou


reduzir o número de campos usados em um visual. Você também
pode remover colunas e linhas desnecessárias.

Dica
Para obter diretrizes mais detalhadas sobre como otimizar uma consulta
do DirectQuery, confira: Diretrizes de modelo do DirectQuery no Power BI
Desktop e Diretrizes para usar o DirectQuery com êxito.
 Otimizar a fonte de dados subjacente (banco de dados conectado)
Sua primeira parada é a fonte de dados. Você precisa ajustar o banco de
dados de origem o máximo possível, pois tudo o que você fizer
para aprimorar o desempenho desse banco de dados de origem aprimorará
o DirectQuery do Power BI. As ações executadas no banco de dados trarão
os maiores benefícios.
Considere o uso das seguintes práticas de banco de dados padrão que se
aplicam à maioria das situações:

o Evite o uso de colunas calculadas complexas, pois a expressão de


cálculo será inserida nas consultas de origem. É mais eficiente efetuar
push da expressão de volta para a origem, pois isso evita seu retorno.
Considere também a adição de colunas de chaves alternativas a tabelas
de tipo de dimensão.
o Examine os índices e verifique se a indexação atual está correta. Se
precisar criar índices, verifique se eles são apropriados.
Veja os documentos de diretrizes da fonte de dados e implemente suas
recomendações de desempenho.
O Power BI Desktop oferece a opção de enviar menos consultas e
de desabilitar determinadas interações que levarão a uma experiência
ruim se as consultas resultantes demorarem muito para serem executadas. A
aplicação dessas opções impede que as consultas atinjam a fonte de dados
continuamente, o que deve aprimorar o desempenho.

Neste exemplo, você edita as configurações padrão para aplicar as opções


de redução de dados disponíveis ao seu modelo.

Acesse as configurações selecionando ArquivoOpções e


configuraçõesOpções, rolando a página para baixo e selecionando a
opção Redução de consulta.

As seguintes opções de redução de consulta estão disponíveis:

 Reduzir o número de consultas enviadas por – por padrão, todos os


visuais interagem com todos os outros visuais. Marcar essa caixa de
seleção desabilita a interação padrão. Opcionalmente, você pode
escolher quais visuais interagem entre si usando o recurso Editar
interações.
 Segmentações – por padrão, a opção Aplicar instantaneamente as
alterações de segmentação fica selecionada. Para forçar os usuários do
relatório a aplicarem as alterações de segmentação manualmente,
selecione a opção Adicionar um botão Aplicar a cada segmentação
para aplicar as alterações quando estiver pronto.
 Filtros – por padrão, a opção Aplicar instantaneamente as alterações
no filtro básico fica selecionada. Para forçar os usuários do relatório a
aplicarem manualmente as alterações de filtro, selecione uma das opções
alternativas:

✓Adicione um botão Aplicar a todos os filtros básicos para


aplicar as alterações quando estiver pronto.
✓Adicionar um botão Aplicar ao painel de filtros para
aplicar as alterações de uma vez (versão prévia).
Cap
tura de tela - configurações para redução de consulta
Criar e Gerenciar Agregações
Ao agregar dados, você os resume e apresenta com um detalhamento (nível)
mais alto. Por exemplo, você pode resumir todos os dados de vendas e agrupá-
los por data, cliente, produto e assim por diante.

O processo de agregação reduz os tamanhos das tabelas no modelo de dados,


permitindo que você se concentre nos dados importantes e ajudando a
aprimorar o desempenho de consulta.

A captura de tela mostra a teoria por trás da agregação de dados.


Ao agregar dados, você os resume e apresenta com um detalhamento (nível)
mais alto. Por exemplo, você pode resumir todos os dados de vendas e agrupá-
los por data, cliente, produto e assim por diante.

O processo de agregação reduz os tamanhos das tabelas no modelo de dados,


permitindo que você se concentre nos dados importantes e ajudando a
aprimorar o desempenho de consulta.

Sua organização pode decidir usar agregações em seus modelos de dados


pelos seguintes motivos:

1. Se você estiver lidando com uma grande quantidade de dados (Big Data), as
agregações proporcionarão um melhor desempenho de consulta e ajudarão
você a analisar e revelar insights sobre esses dados de grande escala. Os dados
agregados são armazenados em cache e, portanto, usam uma fração dos
recursos consumidos por dados detalhados.
2. Se você estiver lidando com uma atualização lenta, as agregações ajudarão a
acelerar o processo de atualização. O tamanho menor do cache reduz o tempo
de atualização, de modo que os dados chegam aos usuários mais rapidamente.
Em vez de atualizar o que poderiam ser milhões de linhas, você atualizaria
uma quantidade menor de dados.
3. Se você tiver um modelo de dados grande, as agregações poderão ajudar a
reduzir e manter o tamanho do modelo.
4. Se acreditar que o modelo de dados crescerá no futuro, você poderá usar as
agregações como uma etapa proativa para proteção futura de seu modelo de
dados, diminuindo o potencial de ocorrerem problemas de desempenho e de
atualização, bem como problemas gerais de consulta.
Continuando com o cenário da Tailwind Traders, você adotou várias etapas
para otimizar o desempenho do modelo de dados, mas a equipe de TI
informou que o tamanho do arquivo ainda é muito grande. No momento, o
arquivo tem 1 GB (gigabyte) e você precisa reduzi-lo para cerca de 50 MB
(megabytes).
Durante a revisão de desempenho, você identificou que o desenvolvedor
anterior não usou agregações no modelo de dados, portanto, agora você
quer criar algumas agregações para os dados de vendas a fim de reduzir o
tamanho do arquivo e otimizar ainda mais o desempenho.

Para visualizar o conteúdo, selecione os itens abaixo:

 Criar Agregações
Antes de começar a criar as agregações, você precisa decidir sobre
a granularidade (nível) com que deseja criá-las.

Neste exemplo, deseja agregar os dados de vendas no nível do dia. Após


decidir sobre a granularidade, a próxima etapa é decidir como você
deseja criar as agregações.

Você pode criar agregações de maneiras diferentes, e cada método levará aos
mesmos resultados, por exemplo:

o Se tiver acesso ao banco de dados, poderá criar uma tabela com a


agregação e importá-la para o Power BI Desktop.
o Se tiver acesso ao banco de dados, poderá criar uma exibição para a
agregação e importá-la para o Power BI Desktop.
o No Power BI Desktop, poderá usar o Editor do Power Query para criar
as agregações passo a passo.
Neste exemplo, você abre uma consulta no Editor do Power Query e
observa que os dados não foram agregados; ela tem mais de 999 linhas,
conforme ilustrado na captura de tela a seguir.

A captura de tela exibe o número total de linhas antes da agregação.


Você deseja agregar os dados pela coluna OrderDate e exibir
as colunas OrderQuantity e SalesAmount.
Comece selecionando Escolher Colunas na guia Página Inicial. Na janela
exibida, selecione as colunas que deseja adicionar à agregação e
pressione OK.
A captura de tela mostra como escolher colunas ao agregar dados.
Quando as colunas selecionadas forem exibidas na página, selecione a
opção Agrupar por na guia Página Inicial. Na janela exibida, selecione
a coluna segundo a qual deseja agrupar (OrderDate) e insira um nome para
a nova coluna (OnlineOrdersCount).
Selecione a opção Avançado e clique no botão Adicionar agregação para
exibir outra linha da coluna. Insira um nome para a coluna da agregação,
selecione a operação da coluna e escolha a coluna à qual deseja vincular a
agregação. Repita essas etapas até adicionar todas as agregações e
selecione OK.
A captura de tela mostra como usar o botão Agrupar por
Pode levar alguns minutos para que a agregação seja exibida, mas quando
isso ocorrer, verá como os dados foram transformados. Os dados
serão agregados em cada data e poderá ver os valores da contagem de
pedidos e a respectiva soma do valor das vendas e da quantidade do
pedido.

Captura de tela da tabela resultante após a agregação.


Selecione o botão Fechar e Aplicar para fechar o Editor do Power Query e
aplicar as alterações ao modelo de dados.
Volte para a página do Power BI Desktop e selecione o botão Atualizar para
ver os resultados. Observe a tela, pois uma breve mensagem exibirá o número
de linhas que o modelo de dados tem agora.
Esse número de linhas deve ser significativamente menor que o número com
o qual você começou. Também poderá ver esse número ao abrir o Editor
do Power Query novamente, conforme ilustrado na captura de tela a seguir.
Neste exemplo, o número de linhas foi reduzido para 30.

Captura de tela do total de linhas e colunas após a agregação.


Lembre-se de que você começou com mais de 999 linhas. O uso da agregação
reduziu significativamente o número de linhas no conjunto de dados, o que
significa que o Power BI tem menos dados para atualizar e o modelo deve ter
um desempenho melhor.
 Gerenciar agregações
Depois de ter criado as agregações, você poderá gerenciá-las no Power BI
Desktop e fazer alterações em seu comportamento, se necessário.
Você pode abrir a janela Gerenciar Agregações de qualquer exibição
no Power BI Desktop. No painel Campos, clique com o botão direito do
mouse na tabela e selecione Gerenciar agregações.

A captura de tela mostra a janela de gerenciamento de agregações.


Para cada coluna de agregação, você pode selecionar uma opção na lista
suspensa Resumo e fazer alterações na tabela de detalhes e na coluna
selecionada.

Quando terminar de gerenciar as agregações, selecione Aplicar todos.


Clique no botão para acessar o conteúdo.
Dica

Você também pode gostar