Você está na página 1de 190

Modelar dados no Power BI

Modelar dados no Power BI


- Criar um modelo de dados no
Power BI

Introdução
Concluído100 XP

 5 minutos

A criação de um modelo de dados excelente é uma das tarefas mais


importantes que um analista de dados pode executar no Microsoft Power BI. Ao
fazer esse trabalho bem, você ajuda a facilitar a compreensão dos seus dados
pelas pessoas, o que facilitará a criação de relatórios do Power BI valiosos para
eles e para você.

As páginas neste módulo são apenas instrutivas, nenhum arquivo de dados é


fornecido. Você terá a oportunidade de trabalhar com dados reais nos
laboratórios.

Um bom modelo de dados oferece os seguintes benefícios:

 A exploração de dados é mais rápida.

 As agregações são mais simples de criar.

 Os relatórios são mais precisos.

 A escrita de relatórios leva menos tempo.

 Os relatórios são mais fáceis de manter no futuro.

Fornecer uma receita pronta para o que compõe um bom modelo de dados é
difícil, pois dados são sempre diferentes e o uso deles varia. Em geral, um
modelo de dados menor é melhor porque ele é executado com mais rapidez e é
mais simples de usar. No entanto, definir o que compõe um modelo de dados
menor é igualmente problemático, porque esse é um conceito heurístico e
subjetivo.

Normalmente, um modelo de dados menor é composto de menos tabelas e


menos colunas em cada tabela do que o usuário pode ver. Se você importar
todas as tabelas necessárias de um banco de dados de vendas mas a contagem
total de tabelas for igual a 30, o usuário não achará isso intuitivo. Reduzir o
número para cinco tabelas tornará o modelo de dados mais intuitivo para os
usuários, porém, se eles abrirem uma tabela e encontrarem 100 colunas,
considerarão o uso dela pouco prático. A remoção de colunas desnecessárias
para fornecer um número mais gerenciável aumentará a probabilidade de que o
usuário leia todos os nomes de coluna. Para resumir, busque simplicidade ao
projetar seus modelos de dados.

A imagem a seguir é um modelo de dados de exemplo. As caixas contêm


tabelas de dados, em que cada item de linha dentro da caixa é uma coluna. As
linhas que conectam as caixas representam as relações entre as tabelas. Essas
relações podem ser complexas, mesmo em um modelo tão simplista. O modelo
de dados pode facilmente ficar desorganizado e a contagem total de tabelas no
modelo pode aumentar gradualmente. Para que seu modelo de dados seja
mantido simples, abrangente e preciso, é necessário um esforço constante.
As relações são definidas entre tabelas por meio de chaves primárias e
estrangeiras. As chaves primárias são colunas que identificam cada linha de
dados exclusiva e não nula. Por exemplo, se você tiver uma tabela Customers,
poderá ter um índice que identifique cada cliente único. A primeira linha terá
uma ID igual a 1, a segunda linha, uma ID igual a 2 e assim por diante. Um valor
exclusivo será atribuído a cada linha, ao qual será possível fazer referência
usando este valor simples: a chave primária. Esse processo torna-se importante
quando você está fazendo referência a linhas em uma tabela diferente, que é o
que as chaves estrangeiras fazem. As relações entre tabelas são formadas
quando você tem chaves primárias e estrangeiras em comum entre tabelas
diferentes.

O Power BI permite que as relações sejam criadas com base em tabelas com
fontes de dados diferentes, uma função poderosa que permite que você extraia
uma tabela do Microsoft Excel e outra de um banco de dados relacional. Em
seguida, você cria a relação entre essas duas tabelas e as trata como um
conjunto de dados unificado.

Agora que você aprendeu sobre as relações que compõem o esquema de


dados, poderá explorar um tipo específico de design de esquema, o esquema
em estrela, que é otimizado para alto desempenho e usabilidade.

Esquemas em estrela

É possível criar um esquema em estrela para simplificar os dados. Essa não é a


única maneira de simplificar os dados, mas é um método popular; portanto,
todo analista de dados do Power BI deve conhecê-lo. Em um esquema em
estrela, cada tabela dentro de seu conjunto de dados é definida como uma
dimensão ou uma tabela de fatos, conforme mostrado no visual a seguir.
As tabelas de fatos contêm valores de dados observacionais ou de evento:
pedidos de venda, contagens de produtos, preços, datas e horas de transação e
quantidades. As tabelas de fatos podem conter vários valores repetidos. Por
exemplo, um produto pode aparecer várias vezes em várias linhas, para clientes
diferentes em datas diferentes. É possível agregar esses valores a fim de criar
visuais. Por exemplo, um visual do total de pedidos de vendas é uma agregação
de todos os pedidos de vendas na tabela de fatos. Com as tabelas de fatos, é
comum ver colunas preenchidas com números e datas. Os números podem ser
unidades de medida, como um valor de venda, ou podem ser chaves, como
uma ID do cliente. As datas representam a hora que está sendo registrada,
como data do pedido ou data de envio.

As tabelas de dimensões contêm os detalhes sobre os dados nas tabelas de


fatos: produtos, locais, funcionários e tipos de pedido. Essas tabelas são
conectadas à tabela de fatos por meio de colunas de chave. As tabelas de
dimensões são usadas para filtrar e agrupar os dados nas tabelas de fatos. As
tabelas de dimensões, por outro lado, contêm valores exclusivos, por exemplo,
uma linha para cada produto na tabela Products e uma linha para cada cliente
na tabela Customer. Para o visual de total de pedidos de vendas, você pode
agrupar os dados para ver o total de pedidos de vendas por produto, em que
produto é um dado na tabela de dimensões.

Normalmente, as tabelas de fatos são muito maiores do que as tabelas de


dimensões, pois um número grande de eventos ocorrem em tabelas de fatos,
como vendas individuais. As tabelas de dimensões normalmente são menores
porque você está limitado ao número de itens pelos quais você pode filtrar e
agrupar. Por exemplo, um ano contém apenas um determinado número de
meses e os Estados Unidos são compostos de apenas um determinado número
de estados.

Considerando essas informações sobre tabelas de fatos e tabelas de dimensões,


você deve se perguntar como é possível criar esse visual no Power BI.

Os dados pertinentes residem em duas tabelas, Employee e Sales, conforme


mostrado no modelo de dados a seguir. Como a tabela Sales contém os valores
de pedido de venda, que podem ser agregados, ela é considerada uma tabela
de fatos. A tabela Employee contém o nome do funcionário específico, que filtra
os pedidos de venda, portanto, ela seria uma tabela de dimensões. A coluna
comum entre as duas tabelas, que é a chave primária na tabela Employee,
é EmployeeID, de modo que é possível estabelecer uma relação entre as duas
tabelas com base nessa coluna.

Ao criar essa relação, é possível criar o visual de acordo com os requisitos,


conforme mostrado na figura a seguir. Se você não estabeleceu essa relação,
mesmo mantendo em mente o elemento comum entre as duas tabelas, é mais
difícil criar seu visual.
Os esquemas de estrela e o modelo de dados subjacente são a base dos
relatórios organizados; quanto mais tempo você gastar criando essas conexões
e o design, mais fácil será criar e manter relatórios.
Trabalhar com tabelas
Concluído100 XP

 3 minutos

Quando os usuários veem menos tabelas, a experiência deles com seu modelo
de dados é bem mais agradável. Por exemplo, suponha que você importou
dezenas de tabelas de várias fontes de dados e agora o visual é exibido de
modo desordenado. Nesse caso, você precisa garantir que, antes de começar a
trabalhar com a criação de relatórios, seu modelo de dados e estrutura de
tabela sejam simplificados.

Uma estrutura de tabela simples vai:

 Ser simples de navegar devido a propriedades de coluna e de


tabela específicas e amigáveis para o usuário.

 Ter tabelas mescladas ou acrescentadas para simplificar as tabelas


em sua estrutura de dados.

 Ter relações de boa qualidade entre tabelas que fazem sentido.

As seções a seguir explicam em ainda mais detalhes como é possível trabalhar


as tabelas para garantir uma estrutura de tabela simples e legível.

Configurar o modelo de dados e criar relações entre tabelas

Supondo que você já recuperou seus dados e os limpou no Power Query,


prossiga para a guia Modelo, em que o modelo de dados está localizado. A
imagem a seguir mostra como a relação entre as tabelas Order e Sales pode ser
vista por meio da coluna OrderDate.
Para gerenciar essas relações, acesse Gerenciar Relações na faixa de opções,
em que a janela a seguir será exibida.

Nessa exibição, é possível criar, editar e excluir relações entre tabelas e também
as relações de detecção automática já existentes. Quando você carrega seus
dados no Power BI, o recurso de Detecção automática ajudará a estabelecer
relações entre colunas com nomes semelhantes. As relações podem ser inativas
ou ativas. Somente uma relação ativa pode existir entre as tabelas, o que é
discutido em um módulo futuro.

Enquanto o recurso Gerenciar Relações permite configurar relações entre


tabelas, também é possível configurar propriedades de tabela e de coluna para
garantir a organização em sua estrutura de tabela.

Configurar propriedades de tabela e de coluna

A exibição de Modelo no Power BI Desktop fornece muitas opções dentro das


propriedades de coluna que você pode exibir ou atualizar. Um método simples
para fazer com que esse menu atualize as tabelas e os campos é por Ctrl +
clique ou Shift + clique em itens nesta página.
Na guia Geral, é possível:

 Editar o nome e a descrição da coluna.

 Adicionar sinônimos que podem ser usados para identificar a


coluna quando você está usando o recurso de P e R.

 Adicionar uma coluna a uma pasta para organizar ainda mais a


estrutura da tabela.

 Ocultar ou mostrar a coluna.

Na guia Formatação, é possível:

 Alterar o tipo de dados.

 Formatar a data.

Por exemplo, suponha que as datas em sua coluna sejam formatadas, como
visto na captura de tela anterior, no formato "Quarta-feira, 14 de março de
2001". Se você quiser alterar o formato da data para "dd/mm/aaaa", selecione o
menu suspenso em Todos os formatos de data e hora e escolha o formato de
data apropriado, conforme mostrado na figura a seguir.
Depois de selecionar o formato de data apropriado, retorne para a coluna Data,
em que você verá que o formato realmente mudou, conforme mostrado na
figura a seguir.

Na guia Avançado, é possível:

 Classificar por uma coluna específica.

 Atribuir uma categoria específica aos dados.

 Resumir os dados.

 Determine se a coluna ou tabela contém valores nulos.

Além disso, o Power BI tem uma nova funcionalidade para atualizar essas
propriedades em muitas tabelas e campos, com Ctrl + clique ou Shift + clique
em itens.

Esses exemplos são apenas alguns dos muitos tipos de transformações que é
possível fazer para simplificar a estrutura da tabela. Essa etapa é importante
antes de começar a criar seus visuais para que você não precise realizar
processos repetitivos ao fazer alterações de formatação. Esse processo de
formatação e configuração de tabelas também pode ser feito no Power Query.
Criar uma tabela de data
Concluído100 XP

 9 minutos

Durante a criação do relatório no Power BI, um requisito comercial comum é


fazer cálculos com base na data e na hora. As organizações querem conhecer o
desempenho dos negócios delas ao longo de meses, trimestres, anos fiscais e
assim por diante. Por esse motivo, é crucial que esses valores orientados por
tempo sejam formatados corretamente. O Power BI detecta automaticamente as
tabelas e colunas de data; no entanto, podem ocorrer situações em que você
precisa executar etapas adicionais para obter as datas no formato que sua
organização requer.

Suponha que você esteja desenvolvendo relatórios para a equipe de vendas na


sua organização. O banco de dados contém tabelas para vendas, pedidos,
produtos e muito mais. Observe que muitas dessas tabelas, incluindo Sales e
Orders, contêm as respectivas colunas de data, conforme mostrado pelas
colunas ShipDate e OrderDate nas tabelas Sales e Orders. Você tem a tarefa de
desenvolver uma tabela do total de vendas e de pedidos por ano e por mês.
Como é possível criar um visual com várias tabelas, cada uma fazendo
referência às próprias colunas de data?

Para resolver esse problema, crie uma tabela de data comum que possa ser
usada por várias tabelas. A seção a seguir explica como é possível realizar essa
tarefa no Power BI.
Criar uma tabela de data comum

As maneiras pelas quais é possível criar uma tabela de data comum são:

 Dados de origem

 DAX

 Power Query

Dados de origem

Ocasionalmente, os bancos de dados de origem e os data warehouses já têm as


respectivas tabelas de data. Se o administrador que criou o banco de dados fez
um trabalho completo, essas tabelas podem ser usadas para executar as
seguintes tarefas:

 Identificar feriados da empresa

 Separar o ano civil e o ano fiscal

 Identificar fins de semana versus dias da semana

As tabelas de dados de origem estão maduras e prontas para uso imediato. Se


você tiver uma tabela desse tipo, coloque-a em seu modelo de dados e não use
nenhum outro método descrito nesta seção. Recomendamos que você use uma
tabela de data de origem porque ela provavelmente é compartilhada com
outras ferramentas que você talvez esteja usando, além do Power BI.

Se você não tiver uma tabela de dados de origem, use outras maneiras de criar
uma tabela de data comum.

DAX

É possível as funções DAX (Data Analysis Expression) CALENDARAUTO() ou


CALENDAR() para criar sua tabela de data comum. A função CALENDAR()
retorna um intervalo contíguo de datas com base em uma data de início e uma
de término inseridas como argumentos na função. Como alternativa, a função
CALENDARAUTO() retorna um intervalo contíguo e completo de datas que são
determinadas automaticamente com base no seu conjunto de dados. A data de
início é escolhida como a primeira data que existe em seu conjunto de dados, e
a data de término é a data mais recente que existe no seu conjunto de dados;
somam-se a elas os dados que foram populados para o mês fiscal e que,
opcionalmente, é possível incluir como um argumento na função
CALENDARAUTO(). Para os fins deste exemplo, a função CALENDAR() é usada
porque você só deseja ver os dados de 31 de maio de 2011 (o primeiro dia em
que Sales começou o respectivo acompanhamento desses dados) em diante,
incluindo os dez anos seguintes.

No Power BI Desktop, vá para a guia Tabela na faixa de opções. Selecione Nova


Tabela e, em seguida, insira a seguinte fórmula DAX:

DAXCopiar
Dates = CALENDAR(DATE(2011, 5, 31), DATE(2022, 12, 31))

Agora, você tem uma coluna de datas para usar. No entanto, essa coluna é um
pouco esparsa. Você também deseja ver colunas apenas pelo ano, pelo número
do mês, pela semana do ano e pelo dia da semana. Realize essa
selecionando Nova Coluna na faixa de opções e inserindo a equação DAX a
seguir, que recupera o ano da tabela de Data.

DAXCopiar
Year = YEAR(Dates[Date])

Execute o mesmo processo para recuperar o número do mês, o número da


semana e o dia da semana:
DAXCopiar
MonthNum = MONTH(Dates[Date])
DAXCopiar
WeekNum = WEEKNUM(Dates[Date])
DAXCopiar
DayoftheWeek = FORMAT(Dates[Date], "DDDD")

Quando você terminar, sua tabela conterá as colunas mostradas na figura a


seguir.

Você criou uma tabela de data comum usando o DAX. Esse processo adiciona
apenas a nova tabela ao modelo de dados; Você ainda precisará estabelecer
relações entre sua tabela de data e as tabelas Sales e Order e, em seguida,
marcar a tabela como a tabela de data oficial do modelo de dados. No entanto,
antes de concluir essas tarefas, considere a possibilidade de criar uma tabela de
data comum de outra maneira: usando o Power Query.

Power Query

Use a linguagem M, a linguagem de desenvolvimento usada para criar consultas


no Power Query, para definir uma tabela de data comum.

Selecione Transformar Dados no Power BI Desktop, o que o direcionará para o


Power Query. No espaço em branco do painel Consultas à esquerda, clique
com o botão direito do mouse para abrir o menu suspenso a seguir, no qual
você selecionará Nova Consulta > Consulta em Branco.
Na exibição da Nova Consulta resultante, insira a seguinte fórmula de M para
criar uma tabela de calendário:

DAXCopiar
= List.Dates(#date(2011,05,31), 365*10, #duration(1,0,0,0))

Para seus dados de vendas, a data de início deve refletir a primeira data que
você tem em seus dados: 31 de maio de 2011. Além disso, você deseja ver as
datas dos próximos 11 anos, incluindo datas futuras. Essa abordagem garante
que, à medida que novos dados de vendas surjam, você não precise recriar essa
tabela. Também é possível alterar a duração. Nesse caso, convém ter um ponto
de dados por dia, mas também é possível incrementar por horas, minutos e
segundos. A figura a seguir mostra o resultado.
Depois de observar que teve êxito no processo, você percebe que tem uma lista
de datas em vez de uma tabela de datas. Para corrigir esse erro, acesse a
guia Transformar na faixa de opções e selecione Converter > Em Tabela.
Como o nome sugere, esse recurso converterá sua lista em uma tabela.
Também é possível renomear a coluna para DateCol.
Em seguida, adicione colunas à nova tabela para ver as datas em termos de ano,
mês, semana e dia, permitindo que você crie uma hierarquia em seu visual. Sua
primeira tarefa é alterar o tipo de coluna selecionando o ícone ao lado do nome
da coluna e, no menu suspenso resultante, selecionar o tipo Data.

Depois de concluir a seleção do tipo Data, é possível adicionar colunas para


ano, meses, semanas e dias. Acesse Adicionar Coluna, selecione o menu
suspenso em Data e, em seguida, selecione Ano, conforme mostrado na figura
a seguir.
Observe que Power BI adicionou uma coluna de todos os anos cujo pull é
efetuado de DateCol.

Conclua o mesmo processo para meses, semanas e dias. Quando você terminar
esse processo, sua tabela vai conter as colunas mostradas na figura a seguir.

Você usou com êxito o Power Query para criar uma tabela de data comum.

As etapas anteriores mostram como inserir a tabela no modelo de dados.


Agora, você precisa marcar sua tabela como a tabela de data oficial para que
Power BI possa reconhecê-la para todos os valores futuros e assegurar que a
formatação esteja correta.

Marcar como a tabela de data oficial

Sua primeira tarefa para marcar a tabela como a tabela de data oficial é
encontrar a nova tabela no painel Campos. Clique com o botão direito do
mouse no nome da tabela e selecione Marcar como tabela de data, conforme
mostrado na figura a seguir.
Ao marcar sua tabela como uma tabela de data, o Power BI executa validações
para garantir que os dados não contenham nenhum valor nulo, sejam exclusivos
e contenham valores de data contínuos durante um período. Também é
possível escolher colunas específicas em sua tabela para marcar como a data, o
que pode ser útil quando você tem muitas colunas em sua tabela. Clique com o
botão direito do mouse na tabela, selecione Marcar como tabela de data e,
em seguida, selecione Configurações de tabela de data. A janela a seguir será
exibida, na qual será possível escolher qual coluna marcar como Data.

A seleção da opção Marcar como tabela de data removerá as hierarquias


geradas automaticamente do campo Data na tabela marcada como uma tabela
de data. Para outros campos de data, a hierarquia automática ainda estará
presente até que você estabeleça uma relação entre esse campo e a tabela de
data ou até que você desative o recurso Data/Hora Automática. É possível
adicionar manualmente uma hierarquia à tabela de data comum clicando com o
botão direito do mouse nas colunas year, month, week ou day no
painel Campos e, em seguida, selecionando Nova hierarquia. Esse processo é
discutido mais adiante neste módulo.

Criar seu visual

Para criar seu visual entre as tabelas Sales e Orders, será necessário estabelecer
uma relação entre essa nova tabela de data comum e as tabelas Sales e Orders.
Como resultado, você poderá criar visuais usando a nova tabela de data. Para
concluir essa tarefa, acesse a guia Modelo > Gerenciar Relações. Ali, usando a
coluna OrderDate, é possível criar relações entre a tabela de data comum e as
tabelas Orders e Sales. A captura de tela a seguir mostra um exemplo de relação
desse tipo.

Depois de criar as relações, crie seu visual Total de Vendas e Quantidade de


Pedidos por Período de Tempo com sua tabela de data comum que você
desenvolveu usando o método DAX ou Power Query.

Para determinar o total de vendas, você precisa adicionar todas as vendas, pois
a coluna Amount na tabela Sales só examina a receita de cada venda, não a
receita total de vendas. Conclua essa tarefa usando o cálculo de medida a
seguir, que será explicado em discussões posteriores. O cálculo que você usará
ao criar essa medida é o seguinte:

DAXCopiar
#Total Sales = SUM(Sales[‘Amount’])

Depois de concluir, crie uma tabela retornando à guia Visualizações e


selecionando o visual Tabela. Você deseja ver o total de pedidos e vendas por
ano e mês, portanto, você só deseja incluir as colunas Year e Month de sua
tabela de datas, a coluna OrderQty e a medida #TotalSales. Ao aprender sobre
hierarquias, é possível também criar uma hierarquia que permite fazer uma
busca detalhada, passando de anos para meses. Neste exemplo, você pode
exibir essas informações lado a lado. Você criou com êxito um visual com uma
tabela de data comum.
Trabalhar com dimensões
Concluído100 XP

 6 minutos

Ao criar um esquema em estrela, você terá tabelas de dimensão e de fatos. As


tabelas de fatos contêm informações sobre eventos como pedidos de venda,
datas de envio, revendedores e fornecedores. As tabelas de dimensões
armazenam detalhes sobre entidades comerciais (como produtos ou tempo) e
são conectadas de volta às tabelas de fatos por meio de uma relação.

É possível usar hierarquias como uma origem para ajudar você a encontrar
detalhes em tabelas de dimensões. Essas hierarquias se formam por meio de
segmentos naturais em seus dados. Por exemplo, é possível ter uma hierarquia
de datas segmentadas em anos, meses, semanas e dias. As hierarquias são úteis
porque permitem que você faça uma busca detalhada nas especificidades de
seus dados, em vez de apenas ver os dados em um nível alto.

Hierarquias

Quando você estiver criando visuais, o Power BI inserirá automaticamente


valores do tipo de data como uma hierarquia (se a tabela não tiver sido
marcada como uma tabela de data).

Na coluna Data anterior, a data é mostrada com detalhes cada vez maiores por


ano, trimestres, meses e dias. Também é possível criar hierarquias manualmente.

Por exemplo, considere uma situação em que você deseja criar um gráfico de
barras empilhadas de Total de Vendas por Categoria e Subcategoria. Realize
essa tarefa criando uma hierarquia na tabela Product para categorias e
subcategorias. Para criar uma hierarquia, acesse o painel Campos no Power BI e
clique com o botão direito do mouse na coluna cuja hierarquia você deseja
criar. Selecione Nova hierarquia, como demonstrado na figura a seguir.
Em seguida, arraste e solte a coluna subcategoria nessa nova hierarquia que
você criou. Esta coluna será adicionada como um subnível na hierarquia.

Agora, é possível criar o visual selecionando um gráfico de barras empilhadas


no painel Visualizações. Adicione sua Hierarquia de Nome da Categoria no
campo Eixo e o Total Sales no campo Valores.
Faça uma busca detalhada no visual para exibir Category e Subcategory,
dependendo do que você deseja ver. As hierarquias permitem que você exiba
níveis crescentes de dados em uma única exibição.

Agora que você aprendeu sobre hierarquias, dê um passo além e examine


hierarquias pai/filho e a função delas em várias relações entre tabelas de fatos e
tabelas de dimensões.
Hierarquia pai/filho

No exemplo a seguir, há uma tabela Employee dentro do banco de dados que


fornece informações importantes sobre os funcionários, os gerentes deles e as
respectivas IDs. Ao examinar essa tabela, você percebe que Roy F foi repetido
várias vezes na coluna Manager. Como mostra a imagem, vários funcionários
podem ter o mesmo gerente, o que indica uma hierarquia entre gerentes e
funcionários.

A coluna Manager determina a hierarquia e, portanto, é o pai, enquanto os


"filhos" são os funcionários. Neste exemplo, o objetivo é sermos capazes de ver
todos os níveis dessa hierarquia. O Power BI não tem como padrão mostrar
todos os níveis da hierarquia, portanto, é sua responsabilidade garantir que
você veja todos os níveis dessa hierarquia ou "nivelá-la" para que seja possível
ver mais granularidade de dados.

Nivelar a hierarquia pai/filho

O processo de exibição de vários níveis filho com base em um pai de nível


superior é conhecido como nivelar a hierarquia. Nesse processo, você cria várias
colunas em uma tabela para mostrar o caminho hierárquico do pai para o filho
no mesmo registro. Você usará PATH() (uma função DAX simples que retorna
uma versão de texto do caminho gerencial para cada funcionário) e PATHITEM()
para separar esse caminho em cada nível da hierarquia gerencial.

 Importante

O DAX ainda não foi abordado, o que ocorrerá em outro módulo. Essa função
está incluída nesta seção porque ela está explicando as hierarquias. Se o uso de
DAX nessa capacidade ficar confuso, consulte o módulo DAX e, depois, retorne
a esta seção.

Enquanto estiver na tabela, vá para a guia Modelagem e selecione Nova


Coluna. Na barra de fórmulas resultante, insira a função a seguir, que cria o
caminho de texto entre o funcionário e o gerente. Essa ação cria uma coluna
calculada no DAX.

DAXCopiar
Path = PATH(Employee[Employee ID], Employee[Manager ID])

O caminho completo entre o funcionário e o gerente aparece na nova coluna,


conforme mostrado na captura de tela a seguir.

Olhando para Roger M, o caminho das IDs é 1010 | 1011 | 1013, o que significa
que um nível acima de Roger M (ID 1013) está a gerente dele, Pam H (ID 1011)
e um nível acima de Pam H está o gerente dela, Roy F (ID 1010). Nessa linha,
Roger M está na parte inferior da hierarquia, no nível filho, e Roy F está na parte
superior da hierarquia, no nível pai. Esse caminho é criado para cada
funcionário. Para nivelar a hierarquia, separe cada nível usando a função
PATHITEM.

Para exibir todos os três níveis da hierarquia separadamente, crie quatro colunas
do mesmo modo que fez anteriormente, inserindo as equações a seguir. Você
usará a função PATHITEM para recuperar o valor que reside no nível
correspondente da sua hierarquia.

 Level 1 = PATHITEM(Employee[Path],1)
 Level 2 = PATHITEM(Employee[Path],2)
 Level 3 = PATHITEM(Employee[Path],3)
Depois de concluir, observe que agora você tem todos os níveis da hierarquia
em sua tabela. Roy F está na parte superior da hierarquia e, à medida que você
passa pelos níveis 2-3, observe que os gerentes e funcionários são mapeados
uns para os outros.

Agora, crie uma hierarquia no painel Campos, como você fez anteriormente.


Clique com o botão direito do mouse em Level 1, porque esse é o primeiro
nível de hierarquia e, em seguida, selecione Nova Hierarquia. Em seguida,
arraste e solte Level 2 e Level 3 para essa hierarquia.

Agora você nivelou com êxito uma hierarquia para permitir a exibição de níveis
individuais.

Anteriormente, você considerou as dimensões que têm apenas uma relação


com uma tabela de fatos. No entanto, ocorrem situações em que a tabela de
dimensões terá várias relações com uma tabela de fatos.

Dimensões com função múltipla

As dimensões com função múltipla têm várias relações válidas com tabelas de
fatos, o que significa que a mesma dimensão pode ser usada para filtrar várias
colunas ou tabelas de dados. Como resultado, é possível filtrar os dados de
maneiras diferentes, dependendo de quais informações você precisa recuperar.
Este tópico é complexo, portanto, ele é apenas apresentado nesta seção. O uso
de dimensões com função múltipla requer funções DAX complexas que serão
discutidas em seções posteriores.

O visual anterior mostra as tabelas Calendar, Sales e Order. Calendar é a tabela


de dimensões, enquanto Sales e Order são tabelas de fatos. A tabela de
dimensões tem duas relações: uma com Sales e uma com Order. Este exemplo é
de uma dimensão de função múltipla porque a tabela Calendar pode ser usada
para agrupar dados em Sales e em Order. Se você quisesse criar um Visual no
qual a tabela Calendar referencia as tabelas Sales e Order, a tabela Calendar
funcionaria como uma dimensão de função múltipla.
Definir a granularidade de dados
Concluído100 XP

 4 minutos

A granularidade de dados é o nível de detalhe que é representado nos dados, o


que significa que quanto mais granularidade os dados tiverem, maior será o
nível de detalhe nos dados.

A granularidade de dados é um tópico importante para todos os analistas de


dados, independentemente das ferramentas do Power BI que você está usando.
A definição correta da granularidade de dados pode ter um grande impacto
sobre o desempenho e a usabilidade de seus relatórios e visuais do Power BI.

Granularidade de dados definida

Considere um cenário em que sua empresa gerencia 1.000 caminhões


semirreboque refrigerados. A cada poucos minutos, cada caminhão registra a
temperatura atual em seu interior usando um aplicativo Microsoft Azure IoT.
Essa temperatura é importante para sua organização porque, se a refrigeração
tivesse algum problema de mau funcionamento, poderia estragar toda a carga,
custando milhares de dólares. Com tantos caminhões e tantos sensores, um
volume extenso de dados é gerado todos os dias. Os usuários dos seus
relatórios não desejam ter que buscar em meio a um número grande de
registros para encontrar aqueles em que eles estão particularmente
interessados.

Como você pode alterar a granularidade dos dados para tornar o conjunto de
dados mais utilizável?

Nesse cenário, talvez você queira importar os dados usando uma média diária
para cada caminhão. Essa abordagem reduziria os registros no banco de dados
para um registro por caminhão por dia. Se você decidir que a abordagem é
aceitável o suficiente para controlar os custos e os erros, use essa granularidade
de dados. Como alternativa, selecione a última temperatura registrada ou
importe apenas os registros que estejam acima ou abaixo de um intervalo
normal de temperaturas. Qualquer um desses métodos reduzirá o total de
registros importados e, ao mesmo tempo, disponibilizará dados abrangentes e
valiosos.

Para cenários diferentes, você pode manter uma granularidade de dados


definida a cada semana, mês ou ano. Geralmente, quanto menor o número de
registros com os quais você estiver trabalhando, mais rapidamente os relatórios
e visuais funcionarão. Essa abordagem se traduz em uma taxa de atualização
mais rápida para todo o conjunto de dados, o que resulta na possibilidade de
atualizar com mais frequência.

No entanto, essa abordagem tem uma desvantagem. Se os usuários desejarem


analisar cada uma das transações, o ato de resumir a granularidade impedirá
que eles façam isso, o que pode ter um impacto negativo sobre a experiência
do usuário. É importante negociar o nível de granularidade de dados com os
usuários de relatório para que eles compreendam as implicações dessas
escolhas.

Alterar a granularidade de dados para criar uma relação entre duas tabelas

A granularidade de dados também pode ter um impacto quando você está


criando relações entre tabelas no Power BI.

Por exemplo, considere que você está criando relatórios para a equipe de
vendas na Tailwind Traders. Foi solicitado que você criasse uma matriz do total
de vendas e do orçamento total ao longo do tempo usando as tabelas Calendar,
Sales e Budget. Observe que o nível mais baixo de detalhes baseados em tempo
disponíveis na tabela Sales é por dia, por exemplo, 5/1/2020, 6/7/2020 e
6/18/2020. A tabela de orçamento só vai até o nível mensal, por exemplo, os
dados de orçamento são de 5/2020 e de 6/2020. essas tabelas têm diferentes
granularidades que precisam ser reconciliadas para que você possa criar uma
relação entre elas.

A figura a seguir mostra o modelo de dados atual.

Conforme mostrado na figura anterior, uma relação entre Budget e Calendar


está ausente. Portanto, você precisa criar essa relação antes de criar seu visual.
Se você transformar as colunas Year e Month na tabela Calendar em uma nova
coluna e fazer a mesma transformação na tabela de Budget, poderá combinar o
formato da coluna Date na tabela Calendar. Em seguida, você pode estabelecer
uma relação entre as duas colunas. Para concluir essa tarefa, você concatenará
as colunas Year e Month e, em seguida, vai alterar o formato.

Selecione Transformar Dados na faixa de opções. Em Etapas Aplicadas, no


painel direito, clique com o botão direito do mouse na última etapa e, em
seguida, selecione Inserir Próxima Etapa.

Em Adicionar Coluna, na faixa de opções Página Inicial, selecione Coluna


Personalizada. Insira a equação a seguir, que concatenará as
colunas Year e Month e, em seguida, adicione um traço entre os nomes das
colunas.

DAXCopiar
Column = Table.AddColumn(#"Renamed Columns", "Custom", each [Year] & "-"
&[Month])

Altere o tipo de dados para Data e renomeie a coluna. Sua tabela Budget deve
ser semelhante à da figura a seguir.
Agora, é possível criar uma relação entre as tabelas Budget e Calendar.

Criar uma relação entre tabelas

O Power BI detecta relações automaticamente, mas também é possível


acessar Gerenciar Relações > Nova e criar a relação na coluna Data. A relação
deve ser semelhante à da figura a seguir.

Ao concluir essa tarefa, você garante que a granularidade seja a mesma entre as
várias tabelas. Agora, você precisa criar medidas DAX para calcular Total
Sales e BudgetAmount. Acesse o painel Dados no Power BI Desktop,
selecione Nova Medida e, em seguida, crie duas medidas com as seguintes
equações:

DAXCopiar
TotalSales = SUM(Sales[Total Sales])
DAXCopiar
BudgetAmount = SUM (Budget[BudgetAmount])

Selecione o visual de tabela no painel Visualização, depois insira essas medidas


e a Data no campo Valores. Agora você atingiu a meta de criar uma matriz do
total de vendas e orçamentos ao longo do tempo.
Trabalhar com relações e
cardinalidade
Concluído100 XP

 5 minutos

Ao contrário de outros sistemas de gerenciamento de banco de dados, o Power


BI tem o conceito de direcionalidade em uma relação. Essa direcionalidade
(ou cardinalidade) desempenha um papel importante na filtragem de dados
entre várias tabelas. Quando você carrega dados, o Power BI procura
automaticamente as relações que existem nos dados, ao realizar a
correspondência entre nomes de coluna. Também é possível usar Gerenciar
Relações para editar essas opções manualmente.

Por exemplo, você recuperou muitas tabelas do banco de dados Sales, e a


imagem a seguir é um exemplo de seu modelo de dados. A Power BI detectou
automaticamente várias relações, mas você não consegue discernir o que elas
significam. Você deseja verificar se as relações refletem com precisão aquelas
que existem em seus dados.
Cardinalidade

A seguir estão tipos diferentes de cardinalidade que você encontrará no Power


BI.

Cardinalidade muitos-para-um (*:1) ou um-para-muitos (1: *):

 Descreve uma relação na qual você tem muitas instâncias de um


valor em uma coluna que estão relacionadas a apenas uma
instância exclusiva correspondente em outra coluna.

 Descreve a direcionalidade entre as tabelas de fatos e de


dimensões.

 Esse é o tipo mais comum de direcionalidade e é o padrão do


Power BI quando você está criando relações automaticamente.

Um exemplo de uma relação de um-para-muitos seria entre as tabelas


CountryName e Território, em que é possível ter muitas regiões associadas a um
país exclusivo.

Cardinalidade de um-para-um (1:1):

 Descreve uma relação na qual apenas uma instância de um valor é


comum entre duas tabelas.

 Requer valores exclusivos em ambas as tabelas.

 Não é recomendável porque essa relação armazena informações


redundantes e sugere que o modelo não foi projetado
corretamente. Combinar as tabelas é uma prática mais
recomendável.

Um exemplo de uma relação um-para-um seria se você tivesse produtos e IDs


de produto em duas tabelas diferentes. A criação de uma relação um-para-um é
redundante e essas duas tabelas devem ser combinadas.
Cardinalidade muitos-para-muitos (.):

 Descreve uma relação em que muitos valores estão em comum


entre duas tabelas.

 Não requer valores exclusivos em nenhuma das duas tabelas em


uma relação.

 Não é recomendado; a falta de valores exclusivos gera ambiguidade


e os usuários talvez não saibam qual coluna de valores está se
referindo a quê.

Por exemplo, a figura a seguir mostra uma relação muitos-para-muitos entre as


tabelas Vendas e Pedido na coluna OrderDate, porque várias vendas talvez
tenham vários pedidos associados a elas. A ambiguidade é introduzida porque é
possível que ambas as tabelas tenham a mesma data do pedido.

Direção do filtro cruzado

É possível filtrar os dados em um ou ambos os lados de uma relação.


Com uma direção única do filtro cruzado:

 Somente uma tabela em uma relação pode ser usada para filtrar os
dados. Por exemplo, a Tabela 1 pode ser filtrada pela Tabela 2, mas
a Tabela 2 não pode ser filtrada pela Tabela 1.

 Dica

Siga a direção da seta na relação entre as tabelas para saber em


qual direção o filtro fluirá. Normalmente, é conveniente que essas
setas apontem para a sua tabela de fatos.

 Para uma relação um para muitos ou muitos para um, a direção do


filtro cruzado será do lado "um", o que significa que a filtragem
ocorrerá na tabela que tem muitos valores.

Com ambas as direções de filtro cruzado ou filtragem cruzada bidirecional:

 Uma tabela em uma relação pode ser usada para filtrar a outra. Por
exemplo, uma tabela de dimensões pode ser filtrada por meio da
tabela de fatos e as tabelas de fatos podem ser filtradas por meio
da tabela de dimensões.

 O uso da filtragem cruzada bidirecional com relações muitos-para-


muitos pode resultar em um desempenho inferior.

Uma palavra de prudência sobre a filtragem cruzada bidirecional: Não habilite


as relações de filtragem cruzada bidirecional, a menos que você entenda
totalmente as ramificações de fazer isso. Habilitá-las pode levar à ambiguidade,
ao excesso de amostragem, a resultados inesperados e à degradação potencial
do desempenho.

Cardinalidade e direção do filtro cruzado

Para relações um-para-um, a única opção disponível é a filtragem cruzada


bidirecional. Os dados podem ser filtrados em ambos os lados dessa relação e
resultar em um valor distinto e não ambíguo. Por exemplo, é possível filtrar por
uma ID de produto e obter como resultado apenas um produto, bem como é
possível filtrar por um produto e obter como resultado apenas uma ID de
produto.

Para relações muitos para muitos, você pode optar por filtrar em uma única
direção ou em ambas as direções ao usar a filtragem cruzada bidirecional. A
ambiguidade associada à filtragem cruzada bidirecional é amplificada em uma
relação muitos-para-muitos, pois vários caminhos existem entre tabelas
diferentes. Se você criar uma medida, um cálculo ou um filtro, poderão ocorrer
consequências indesejadas em que, ao filtrar os dados, dependendo da relação
que o mecanismo de Power BI escolher ao aplicar o filtro, o resultado final será
diferente. Essa situação também é verdadeira para relações bidirecionais e, por
isso, você deve ter cuidado ao usá-las.

Por esse motivo, relações muitos-para-muitos e/ou relações bidirecionais são


complicadas. A menos que você tenha certeza de como seus dados são quando
agregados, esses tipos de relações abertas com várias direções de filtragem
podem introduzir vários caminhos pelos dados.

Criar relações muitos-para-muitos

Considere o cenário em que você tem a tarefa de criar um visual que examina
os orçamentos para clientes e contas. Há a possibilidade de existirem vários
clientes na mesma conta e várias contas com o mesmo cliente, portanto, você
sabe que precisa criar uma relação muitos-para-muitos.

Para criar essa relação, acesse Gerenciar Relações > Nova. Na janela resultante,


crie uma relação entre a coluna Customer ID em CustomerTable e
AccountTable. A cardinalidade é definida como muitos para muitos e o tipo de
filtro é bidirecional. No primeiro momento, você será avisado de que só deverá
usar esse tipo de relação se for esperado que nenhuma coluna tenha valores
exclusivos, porque caso contrário, você obterá valores inesperados. Como você
deseja filtrar em ambas as direções, escolha filtragem cruzada bidirecional.

Selecione OK. Você criou com êxito uma relação muitos-para-muitos.


Para obter mais informações, confira Relações muitos-para-muitos no Power BI.
Resolver desafios de modelagem
Concluído100 XP

 2 minutos

A modelagem de dados trata-se de estabelecer e manter relações para que


você possa visualizar de maneira eficaz os dados no formato que seu negócio
precisa. Ao criar essas relações, uma armadilha comum que talvez você
encontre é a formação de relações circulares.

Por exemplo, você está desenvolvendo relatórios para a equipe de vendas e


está examinando as relações entre tabelas. Em um modelo de dados mal
projetado, a Tabela 1 tem uma relação muitos-para-um com uma coluna na
Tabela 2, mas a Tabela 2 tem uma relação de um-para-muitos com a Tabela 3,
que tem sua própria relação com a Tabela 1. Essa teia de relações é difícil de
gerenciar, tornando a criação de visuais uma tarefa assustadora, pois não se tem
mais certeza sobre quais relações existem. Portanto, é importante que você
possa identificar relações circulares para que seus dados sejam utilizáveis.

Dependências de relação

Para entender as relações circulares, primeiro você precisa entender as


dependências.

Por exemplo, considere que você tem esta coluna calculada Total na tabela
Sales.

Sales[‘TotalCost] = Sales[‘Quantity’] * Sales[‘Price’]

TotalCost depende de Quantity e de Price, portanto, se uma alteração ocorrer


na quantidade ou no preço, uma alteração ocorrerá em TotalCost também. Este
exemplo descreve uma dependência de uma coluna em outras colunas, mas
também é possível ter dependências entre medidas, tabelas e relações.

Considere as relações a seguir entre dSalesPerson, fSales e dCustomer. Uma


alteração em dCustomer resultará em uma alteração em fSales, o que resultará
em alterações em dSalesPerson. Esses tipos de dependências às vezes existem
em relações.
Laboratório – Modelar dados no
Power BI Desktop, parte 1
Concluído100 XP

 45 minutos
Esta unidade inclui um laboratório a ser concluído.

Use os recursos gratuitos fornecidos no laboratório para concluir os exercícios


nesta unidade. Você não será cobrado.

Iniciar laboratório

Acessar seu ambiente

Antes de iniciar este laboratório (a menos que você esteja partindo de um


laboratório anterior), selecione Iniciar laboratório acima.

Você entrou automaticamente no seu ambiente de laboratório como data-


ai\student.

Agora você pode iniciar seu trabalho neste laboratório.

 Dica

Para encaixar o ambiente de laboratório para que ele preencha a janela,


selecione o ícone do computador na parte superior e, em seguida,
selecione Ajustar Janela ao Computador.
O tempo estimado para concluir o laboratório é de 45 minutos

Neste laboratório, você começará a desenvolver o modelo de dados. Ele


envolverá a criação de relações entre tabelas e, em seguida, a configuração de
propriedades de tabela e de coluna a fim de melhorar a usabilidade do modelo
de dados e torná-lo mais amigável. Você também criará hierarquias e criará
medidas rápidas.

Neste laboratório, você aprenderá a:

 Criar relações de modelo

 Configurar propriedades de tabela e de coluna

 Criar hierarquias

 Criar medidas rápidas

História do laboratório

Este laboratório é um dos muitos em uma série de laboratórios que foi


projetada como uma história completa da preparação de dados à publicação
como relatórios e dashboards. Você pode concluir os laboratórios em qualquer
ordem. No entanto, se você pretende trabalhar em vários laboratórios, como os
dez primeiros, sugerimos que você os faça na seguinte ordem:

1. Preparar dados no Power BI Desktop

2. Carregar dados no Power BI Desktop

3. Modelar dados no Power BI Desktop, parte 1 << Você está aqui.


Este é o laboratório do módulo atual.

4. Modelar dados no Power BI Desktop, parte 2

5. Criar cálculos DAX no Power BI Desktop, parte 1

6. Criar cálculos DAX no Power BI Desktop, parte 2

7. Criar um relatório no Power BI Desktop, parte 1

8. Criar um relatório no Power BI Desktop, parte 2

9. Criar um painel de Power BI


10. Executar a análise de dados no Power BI Desktop

11. Criar um relatório paginado do Power BI

 Observação

Cada laboratório começa com um arquivo PBIX que contém o trabalho


concluído no laboratório anterior. Se você perder seu trabalho por qualquer
motivo, poderá abrir o arquivo PBIX que inclui o progresso até esse momento.
Ele fica na pasta indicada no início do laboratório subsequente.

Exercício 1: Criar relações de modelo

Neste exercício, você criará relações de modelo.

Tarefa 1: Introdução

Nesta tarefa, você vai configurar o ambiente para o laboratório.

 Importante

Se estiver dando continuidade ao laboratório anterior (e concluiu esse


laboratório com sucesso), não conclua essa tarefa; em vez disso, continue na
próxima tarefa.

1. Para abrir o Power BI Desktop, na barra de tarefas, selecione o


atalho do Microsoft Power BI Desktop.

2. Para fechar a janela de introdução, no canto superior esquerdo da


janela, selecione X.

3. Para abrir o arquivo inicial do Power BI Desktop, selecione a guia de


faixa de opções Arquivo para abrir o modo de exibição Backstage.

4. Escolha Abrir Relatório.

5. Selecione Procurar Relatórios.

6. Na janela Abrir, procure a pasta D:\DA100\Labs\03-configure-


data-model-in-power-bi-desktop\Starter.

7. Selecione o arquivo Análise de Vendas.

8. Selecione Abrir.
9. Feche todas as janelas informativas que possam ser abertas.

10. Para criar uma cópia do arquivo, selecione a guia de faixa de


opções Arquivo para abrir o modo de exibição Backstage.

11. Selecione Salvar como.

12. Caso precise aplicar as alterações, escolha Aplicar.

13. Na janela Salvar como, procure a pasta D:\DA100\MySolution.

14. Selecione Salvar.

Tarefa 2: Criar relações de modelo

Nesta tarefa, você criará relações de modelo.

1. No Power BI Desktop, à esquerda, selecione o ícone de exibição


de Modelo.

2. Se você não vir todas as sete tabelas, role horizontalmente para a


direita e, em seguida, arraste e organize as tabelas mais próximas
para que elas possam ser vistas simultaneamente.

 Dica

Use também o controle de zoom localizado na parte inferior da


janela.

Na exibição de Modelo, você pode ver cada tabela e as relações


(conectores entre as tabelas). Atualmente, não há relações porque,
no laboratório Preparar dados no Power BI Desktop, você
desabilitou as opções de relação de carregamento de dados.

3. Para voltar à exibição de Relatório, à esquerda, selecione o ícone


de exibição de Relatório.
4. Para exibir todos os campos de tabela, no painel Campos, clique
com o botão direito do mouse em uma área vazia e, em seguida,
selecione Expandir Tudo.

5. Para criar um visual de tabela, no painel Campos, dentro da


tabela Product, selecione o campo Category.

 Observação

Os laboratórios usam uma notação abreviada para referenciar um


campo. Ela fica assim: Product | Category. Neste
exemplo, Product é o nome da tabela e Category é o nome do
campo.

6. Para adicionar uma coluna à tabela, no painel Campos, selecione o


campo Sales | Sales.

7. Observe que o visual de tabela lista quatro categorias de produto e


que o valor das vendas é o mesmo para cada uma delas e o mesmo
para o total.
O problema é que a tabela se baseia em campos de tabelas
diferentes. A expectativa é que cada categoria de produto exiba as
vendas dessa mesma categoria. No entanto, como não há uma
relação de modelo entre essas tabelas, a tabela Sales não é filtrada.
Agora, você adicionará uma relação para propagar filtros entre as
tabelas.

8. Na guia de faixa de opções Modelagem, no grupo Relações,


selecione Gerenciar Relações.

9. Na janela Gerenciar Relações, observe que nenhuma relação está


definida ainda.

10. Para criar uma relação, escolha Nova.

11. Na janela Criar Relação, na primeira lista suspensa, selecione a


tabela Product.

12. Na segunda lista suspensa (abaixo da grade de tabela Product),


selecione a tabela Sales.
13. Observe que as colunas ProductKey em cada tabela foram
selecionadas.

As colunas foram selecionadas automaticamente porque


compartilham o nome e o tipo de dados.

14. Na lista suspensa Cardinalidade, observe que a opção Um-Para-


Muitos (1:*) está selecionada.

A cardinalidade foi detectada automaticamente, porque o Power BI


entende que a coluna ProductKey da tabela Product contém
valores exclusivos. As relações um-para-muitos são a cardinalidade
mais comum, e todas as relações que você criar neste laboratório
serão desse tipo. Você trabalhará com uma cardinalidade muitos
para muitos no laboratório Modelar dados no Power BI Desktop,
parte 2.

15. Na lista suspensa Direção do Filtro Cruzado, observe que a


opção Única está selecionada.

A direção de filtro única significa que os filtros se propagam do


"lado um" para o "lado muitos". Nesse caso, isso significa que os
filtros aplicados à tabela Product serão propagados para a
tabela Sales, mas não na outra direção. Você trabalhará com uma
relação bidirecional no laboratório Modelar dados no Power BI
Desktop, parte 2.

16. Observe que a opção Tornar Essa Relação Ativa está selecionada.

As relações ativas propagarão os filtros. É possível marcar uma


relação como inativa para que os filtros não se propaguem.
Relações inativas podem existir quando há vários caminhos de
relação entre tabelas. Nesse caso, os cálculos de modelo podem
usar funções especiais para ativá-las. Você trabalhará com uma
relação inativa no laboratório Modelar dados no Power BI
Desktop, parte 2.

17. Selecione OK.

18. Na janela Gerenciar Relações, observe que a nova relação está


listada e selecione Fechar.

19. No relatório, observe que o visual de tabela foi atualizado para


exibir valores diferentes para cada categoria de produto.

Os filtros aplicados à tabela Product agora se propagam para a


tabela Sales.

20. Alterne para a exibição de Modelo e, em seguida, observe que


agora há um conector entre as duas tabelas. (Não importa se as
tabelas estão posicionadas uma ao lado da outra.)
21. No diagrama, observe que é possível interpretar a cardinalidade,
que é representada pelos indicadores 1 e *.

 Observação

A direção do filtro é representada pela ponta da seta. Uma linha


sólida representa uma relação ativa. Uma linha tracejada representa
uma relação inativa.

22. Focalize o cursor sobre a relação para revelar as colunas


relacionadas.

Há uma forma mais fácil de criar uma relação. No diagrama de


modelo, é possível arrastar e soltar colunas para criar uma relação.

23. Para criar uma relação, na tabela Reseller, arraste a


coluna ResellerKey para a coluna ResellerKey da tabela Sales.

 Dica

Às vezes, não é possível arrastar uma coluna. Se isso acontecer,


escolha outra coluna e tente novamente.

24. Crie estas duas relações de modelo:

o Region | SalesTerritoryKey para Sales | SalesTerritory
Key

o Salesperson | EmployeeKey para Sales | EmployeeKe
y
Neste laboratório, as
tabelas SalespersonRegion e Targets permanecerão
desconectadas. Há uma relação muitos para muitos entre o
vendedor e a região. Você trabalhará com esse cenário avançado no
laboratório Modelar dados no Power BI Desktop, parte 2.

25. No diagrama, coloque a tabela Sales no centro e organize as


tabelas relacionadas em volta dela. Coloque as tabelas
desconectadas ao lado.

26. Salve o arquivo do Power BI Desktop.

Exercício 2: Configurar tabelas

Neste exercício, você vai configurar cada tabela criando hierarquias e ocultando,
formatando e categorizando colunas.

Tarefa 1: Configurar a tabela Product

Nesta tarefa, você vai configurar a tabela Product.

1. Na exibição de Modelo, no painel Campos, se necessário, expanda


a tabela Product.

2. Para criar uma hierarquia, no painel Campos, clique com o botão


direito do mouse na coluna Category e selecione Criar Hierarquia.

3. No painel Propriedades (à esquerda do painel Campos), na


caixa Nome, substitua o texto por Products.
4. Para adicionar o segundo nível à hierarquia, no
painel Propriedades, na lista suspensa Hierarquia, role a página e
selecione Subcategory.

5. Para adicionar o terceiro nível à hierarquia, na lista


suspensa Hierarquia, selecione Product.

6. Para concluir o design da hierarquia,


escolha Aplicar Alterações de Nível.

 Dica

Não se esqueça de selecionar Aplicar Alterações de Nível. Ignorar


essa etapa é um erro comum.

7. No painel Campos, observe a hierarquia de Products.

8. Para revelar os níveis de hierarquia, expanda a hierarquia


de Products.
9. Para organizar as colunas em uma pasta de exibição, no
painel Campos, primeiro selecione a
coluna Background Color Format.

10. Enquanto clica na tecla CTRL, selecione a coluna Formato da Cor


da Fonte.

11. No painel Propriedades, na caixa Pasta de Exibição,


digite Formatting.

12. No painel Campos, observe que as duas colunas agora estão


dentro de uma pasta.
 Observação

As pastas de exibição são uma excelente maneira de organizar


tabelas, especialmente aquelas que contêm muitos campos.

Tarefa 2: Configurar a tabela Region

Nesta tarefa, você vai configurar a tabela Região.

1. Na tabela Região, crie uma hierarquia chamada Regiões, com estes


três níveis:

o Grupo

o País

o Região

2. Selecione a coluna Country (não o nível de hierarquia Country).

3. No painel Propriedades, expanda a seção Avançado na parte


inferior do painel e, na lista suspensa Categoria de Dados,
selecione País/Região.
 Observação

A categorização de dados pode fornecer dicas para o designer de


relatórios. Nesse caso, a categorização da coluna como país ou
região fornece informações mais precisas ao renderizar uma
visualização de mapa.

Tarefa 3: Configurar a tabela Reseller

Nesta tarefa, você vai configurar a tabela Reseller.

1. Na tabela Reseller, crie uma hierarquia chamada Resellers, com


estes dois níveis:

o Business Type

o Reseller
2. Crie uma segunda hierarquia denominada Geography, com estes
quatro níveis:

o Country-Region

o Estado/Província

o City

o Reseller

3. Categorize as seguintes três colunas:

o Country-Region como País/Região

o State-Province como Estado ou Província

o City como Cidade

Tarefa 4: Configurar a tabela Sales

Nesta tarefa, você vai configurar a tabela Sales.

1. Na tabela Sales, selecione a coluna Cost.

2. No painel Propriedades, na caixa Descrição, digite: Baseado no


custo padrão
As descrições podem ser aplicadas a tabelas, colunas, hierarquias
ou medidas. No painel Campos, o texto da descrição é revelado em
uma dica de ferramenta quando um autor de relatório posiciona o
cursor sobre o campo.

3. Selecione a coluna Quantity.

4. No painel Propriedades, dentro da seção Formatação, deslize a


propriedade Separador de Milhares para Sim.

5. Selecione a coluna Unit Price.

6. No painel Propriedades, na seção Formatação, deslize a


propriedade Casas Decimais para 2.

7. No grupo Avançado (talvez seja necessário rolar para baixo para


localizá-lo), na lista suspensa Resumir Por, selecione Média.
Por padrão, as colunas numéricas serão resumidas pela soma dos
valores em conjunto. Esse comportamento padrão não é adequado
para uma coluna como Unit Price, que representa uma taxa. A
definição do resumo padrão como média produzirá um resultado
útil e preciso.

Tarefa 5: Atualizar propriedades em massa

Nessa tarefa, você atualizará várias colunas em uma única atualização em


massa. Você usará essa abordagem para ocultar colunas e formatar valores de
coluna.

1. Ao pressionar a tecla Ctrl, selecione estas 13 colunas (abrangendo


várias tabelas):

o Product | ProductKey

o Region | SalesTerritoryKey

o Reseller | ResellerKey

o Sales | EmployeeKey

o Vendas | ProductKey

o Sales | ResellerKey

o Sales | SalesOrderNumber

o Sales | SalesTerritoryKey

o Salesperson | EmployeeID
o Salesperson | EmployeeKey

o Salesperson | UPN

o SalespersonRegion | EmployeeKey

o SalespersonRegion | SalesTerritoryKey

o Targets | EmployeeID

2. No painel Propriedades, alterne a
propriedade Está Oculto para Ativado.

As colunas foram ocultas porque elas são usadas por relações ou


por lógica de cálculo.

Você definirá a Segurança em Nível de Linha no


laboratório Modelar dados no Power BI Desktop, parte 2 usando
a coluna UPN. Você usará o SalesOrderNumber em um cálculo no
laboratório Criar cálculos DAX no Power BI Desktop, parte 1.

3. Faça uma seleção múltipla das três seguintes colunas:

o Product | Standard Cost

o Sales | Cost

o Sales | Sales

4. No painel Propriedades, na seção Formatação, defina a


propriedade Casas Decimais para 0 (zero).

Exercício 3: Examinar a interface do modelo

Neste exercício, você alternará para a exibição de Relatório e examinará a


interface do modelo.

Tarefa 1: Examinar a interface do modelo

Nesta tarefa, você alternará para o modo de exibição de relatório e examinará a


interface do modelo.

1. Alterne para a exibição Relatório.


2. No painel Campos, observe o seguinte:

o As colunas, as hierarquias e os respectivos níveis são


campos, que podem ser usados para configurar visuais
de relatório

o Somente os campos relevantes para a criação de


relatórios ficam visíveis

o A tabela SalespersonRegion não está visível porque


todos os campos dela estão ocultos

o Os campos espaciais nas tabelas Region e Reseller são


adornados com um ícone espacial

o Os campos com o símbolo sigma (Ʃ) serão resumidos


por padrão

o Uma dica de ferramenta é exibida ao focalizar o cursor


sobre o campo Sales | Cost

3. Expandir o campo Sales | OrderDate e, em seguida, observe que


ele revela uma hierarquia de data.

O campo Targets | TargetMonth apresenta uma hierarquia


semelhante. Essas hierarquias não foram criadas por você. Elas são
criadas automaticamente. No entanto, há um problema. O ano fiscal
da Adventure Works começa em 1º de julho de cada ano. No
entanto, o ano da hierarquia de data criado automaticamente
começa em 1º de janeiro de cada ano.
Agora, você desativará esse comportamento automático. No
laboratório Criar cálculos DAX no Power BI Desktop, parte 1,
você vai usar o DAX para criar uma tabela de data e configurá-la
para definir o calendário da Adventure Works.

4. Para desativar o recurso de data/hora automática, selecione a guia


de faixa de opções Arquivo para abrir o modo de exibição
Backstage.

5. À esquerda, selecione Opções e Configurações e, em seguida,


selecione Opções.

6. Na janela Opções, à esquerda, no grupo Arquivo Atual,


selecione Carregamento de Dados.

7. Na seção Inteligência de Dados Temporais, desmarque a


opção Data/Hora Automática.

8. Selecione OK.

9. No painel Campos, observe que as hierarquias de datas não estão


mais disponíveis.
Exercício 4: Criar medidas rápidas

Neste exercício, você criará duas medidas rápidas.

Tarefa 1: Criar medidas rápidas

Nesta tarefa, você criará duas medidas rápidas para calcular a margem de lucro
e o lucro.

1. No painel Campos, clique com o botão direito do mouse na


tabela Sales e selecione Nova Medida Rápida.

2. Na janela Medidas Rápidas, na lista suspensa Cálculo e dentro do


grupo Operações Matemáticas, selecione Subtração.
3. Na janela Medidas rápidas, no painel Campos, expanda a
tabela Sales.

4. Arraste o campo Sales para a caixa Valor Base.

5. Arraste o campo Cost para a caixa Valor para Subtrair.


6. Selecione OK.

Uma medida rápida cria o cálculo para você. Elas são fáceis e
rápidas de serem criadas para cálculos simples e comuns. Você
criará medidas sem usar essa ferramenta no laboratório Criar
cálculos DAX no Power BI Desktop, parte 1.

7. No painel Campos, dentro da tabela Sales, observe a nova medida.

O ícone de calculadora é apresentado nas medidas.

8. Para renomear a medida, clique com o botão direito do mouse nela


e selecione Renomear.

 Dica

Para renomear um campo, você também pode clicar duas vezes


nele ou selecioná-lo e pressionar F2.
9. Renomeie a medida para Lucro e, em seguida, pressione Enter.

10. Na tabela Sales, adicione uma segunda medida rápida, com base


nos seguintes requisitos:

o Usar a operação matemática Divisão

o Definir o Numerador para o campo Sales | Profit

o Definir o Denominador para o campo Sales | Sales

o Renomear a medida como Profit Margin

11. Verifique se a medida Profit Margin medida está selecionada e, em


seguida, na faixa de opções de contexto Ferramentas de Medida,
defina o formato como Percentual, com duas casas decimais.

12. Para testar as duas medidas, primeiro selecione o visual de tabela


na página do relatório.

13. No painel Campos, selecione as duas medidas.


14. Selecione e arraste a guia correta para ampliar o visual de tabela.

15. Verifique se as medidas produzem um resultado razoável e que


esteja formatado corretamente.

Tarefa 2: Conclusão

Nesta tarefa, você concluirá o laboratório.

1. Para remover a tabela, selecione a variável (clicando nela) e


pressione a tecla Excluir.

2. Salve o arquivo do Power BI Desktop.


3. Caso precise aplicar as consultas, clique em Aplicar Mais Tarde.

4. Se você pretende iniciar o próximo laboratório, pode manter o


Power BI Desktop aberto.

 Aviso

Se você deixar o laboratório aberto, ele atingirá o tempo limite


dentro de uma a quatro horas. Seu trabalho no módulo atual do
laboratório será perdido. Mas, do segundo laboratório em diante,
cada laboratório inclui um arquivo PBIX que contém o trabalho de
todos os que foram concluídos anteriormente, para que você não
precise recomeçar.

Você vai aprimorar o modelo de dados configurando uma relação muitos para
muitos e a Segurança em Nível de Linha no laboratório Modelar dados no
Power BI Desktop, parte 2.

Encerramento do laboratório

Para encerrar este laboratório, selecione o botão Concluído no canto inferior


direito desta janela de instrução.
Laboratório – Modelar dados no
Power BI Desktop, parte 2
Concluído100 XP

 45 minutos
Esta unidade inclui um laboratório a ser concluído.

Use os recursos gratuitos fornecidos no laboratório para concluir os exercícios


nesta unidade. Você não será cobrado.

Iniciar laboratório

Acessar seu ambiente

Antes de iniciar este laboratório (a menos que você esteja partindo de um


laboratório anterior), selecione Iniciar laboratório acima.

Você entrou automaticamente no seu ambiente de laboratório como data-


ai\student.

Agora você pode iniciar seu trabalho neste laboratório.

 Dica

Para encaixar o ambiente de laboratório para que ele preencha a janela,


selecione o ícone do computador na parte superior e, em seguida,
selecione Ajustar Janela ao Computador.
O tempo estimado para concluir o laboratório é de 45 minutos

Neste laboratório, você criará uma relação muitos para muitos entre as
tabelas Salesperson e Sales. Você também vai impor a segurança em nível de
linha para garantir que cada vendedor só possa analisar dados de vendas para
as regiões atribuídas a ele.

Neste laboratório, você aprenderá a:

 Configurar relações de muitos-para-muitos

 Impor a Segurança em Nível de Linha

História do laboratório

Este laboratório é um dos muitos em uma série de laboratórios que foi


projetada como uma história completa da preparação de dados à publicação
como relatórios e dashboards. Você pode concluir os laboratórios em qualquer
ordem. No entanto, se você pretende trabalhar em vários laboratórios, como os
dez primeiros, sugerimos que você os faça na seguinte ordem:

1. Preparar dados no Power BI Desktop

2. Carregar dados no Power BI Desktop

3. Modelar dados no Power BI Desktop, parte 1

4. Modelar dados no Power BI Desktop, parte 2 << Você está aqui.


Este é o laboratório do módulo atual.

5. Criar cálculos DAX no Power BI Desktop, parte 1

6. Criar cálculos DAX no Power BI Desktop, parte 2

7. Criar um relatório no Power BI Desktop, parte 1

8. Criar um relatório no Power BI Desktop, parte 2

9. Criar um painel de Power BI

10. Executar a análise de dados no Power BI Desktop

11. Criar um relatório paginado do Power BI

 Observação
Cada laboratório começa com um arquivo PBIX que contém o trabalho
concluído no laboratório anterior. Se você perder seu trabalho por qualquer
motivo, poderá abrir o arquivo PBIX que inclui o progresso até esse momento.
Ele fica na pasta indicada no início do laboratório subsequente.

Exercício 1: Criar uma relação muitos para muitos

Neste exercício, você criará uma relação muitos para muitos entre as
tabelas Salesperson e Sales.

Tarefa 1: Introdução

Nesta tarefa, você vai configurar o ambiente para o laboratório.

 Importante

Se estiver dando continuidade ao laboratório anterior (e concluiu esse


laboratório com sucesso), não conclua essa tarefa. Em vez disso, continue na
próxima tarefa.

1. Para abrir o Power BI Desktop, na barra de tarefas, selecione o


atalho do Microsoft Power BI Desktop.

2. Para fechar a janela de introdução, no canto superior esquerdo da


janela, selecione X.

3. Para abrir o arquivo inicial do Power BI Desktop, selecione a guia de


faixa de opções Arquivo para abrir o modo de exibição Backstage.

4. Escolha Abrir Relatório.

5. Selecione Procurar Relatórios.

6. Na janela Abrir, navegue para a pasta D:\DA100\Labs\04-


configure-data-model-in-power-bi-desktop-advanced\Starter.

7. Selecione o arquivo Análise de Vendas.

8. Selecione Abrir.

9. Feche todas as janelas informativas que possam ser abertas.

10. Para criar uma cópia do arquivo, selecione a guia de faixa de


opções Arquivo para abrir o modo de exibição Backstage.
11. Selecione Salvar como.

12. Caso precise aplicar as alterações, escolha Aplicar.

13. Na janela Salvar como, procure a pasta D:\DA100\MySolution.

14. Selecione Salvar.

Tarefa 2: Criar uma relação muitos para muitos

Nesta tarefa, você criará uma relação muitos para muitos entre as
tabelas Salesperson e Sales.

1. No Power BI Desktop, na exibição de Relatório, no painel Campos,


selecione os dois seguintes campos para criar um visual de tabela:

o Salesperson | Salesperson

o Sales | Sales

Os laboratórios usam uma notação abreviada para referenciar um


campo. Ela fica assim: Salesperson | Salesperson. Neste
exemplo, Salesperson é o nome da tabela e Salesperson é o nome
do campo.

A tabela exibe as vendas feitas por vendedor. No entanto, há outra


relação entre vendedores e vendas. Alguns vendedores pertencem
a uma, duas ou possivelmente mais regiões de vendas. Além disso,
as regiões de vendas podem ter vários vendedores atribuídos a
elas.

Do ponto de vista do gerenciamento de desempenho, as vendas de


um vendedor (com base nas regiões atribuídas) precisam ser
analisadas e comparadas com as metas de vendas. No próximo
exercício, você criará relações para dar suporte a essa análise.

2. Observe que Michael Blythe vendeu quase US$ 9 milhões.

3. Alterne para a exibição de Modelo.

4. Arraste a tabela SalespersonRegion para posicioná-la entre as


tabelas Region e Salesperson.

5. Use a técnica de arrastar e soltar para criar estas duas relações de


modelo:

o Salesperson | EmployeeKey para SalespersonRegion 
| EmployeeKey

o Region | SalesTerritoryKey para SalespersonRegion | 
SalesTerritoryKey

A tabela SalespersonRegion pode ser considerada uma tabela de


ponte.

6. Alterne para a exibição de Relatório e observe que o visual não foi


atualizado. O resultado de vendas de Michael Blythe não foi
alterado.

7. Volte para a exibição de Modelo e, partindo da tabela Salesperson,


siga as direções de filtro de relação (ponta de seta).

Considere que a tabela Salesperson filtra a tabela Sales. Ela


também filtra a tabela SalespersonRegion, mas não continua
propagando filtros para a tabela Region. (A ponta da seta está
virada para a direção errada.)
8. Para editar a relação entre as tabelas Region e SalespersonRegion,
clique duas vezes na relação.

9. Na janela Editar Relação, na lista suspensa Direção do filtro


cruzado, selecione Ambas.

10. Marque a caixa de


seleção Aplicar Filtro de Segurança em Ambas as Direções.

Essa configuração garantirá que a filtragem bidirecional seja


aplicada quando a Segurança em Nível de Linha estiver sendo
imposta. Você vai configurar uma função de segurança no próximo
exercício.

11. Selecione OK.

12. Observe que a relação tem uma ponta de seta dupla.


13. Alterne para a exibição de Relatório e observe que os valores de
vendas não foram alterados.

O problema agora está relacionado ao fato de que há dois


caminhos possíveis de propagação de filtros entre as
tabelas Salesperson e Sales. Essa ambiguidade é resolvida
internamente, com base em uma avaliação do "número mínimo de
tabelas". Para ser claro, você não deve criar modelos com esse tipo
de ambiguidade. O problema será resolvido em uma parte posterior
deste laboratório e após a conclusão do laboratório Criar cálculos
DAX no Power BI Desktop, parte 1.

14. Alterne para a exibição de Modelo.

15. Para forçar a propagação do filtro por meio da tabela de ponte,


clique duas vezes na relação entre as tabelas Salesperson e Sales.

16. Na janela Editar Relação, desmarque a caixa de


seleção Tornar Esta Relação Ativa.

17. Selecione OK.

A propagação do filtro agora segue o único caminho ativo.

18. No diagrama, observe que a relação inativa é representada por uma


linha tracejada.

19. Alterne para a exibição de Relatório e observe que as vendas de


Michael Blythe agora são de quase US$ 22 milhões.
20. Observe também que as vendas de cada vendedor, se adicionadas,
excederão o total da tabela.

Essa é uma observação de uma relação muitos para muitos, devido


à contagem dupla, tripla etc. de resultados de vendas regionais.
Considere o caso de Davi Barros, o segundo vendedor listado. O
valor de vendas dele é igual ao valor de vendas total. Esse é o
resultado correto, simplesmente porque ele é o diretor de vendas;
as vendas dele são medidas pelas vendas de todas as regiões.

Embora a relação muitos para muitos esteja funcionando agora,


ainda não é possível analisar as vendas feitas por um vendedor
(porque a relação está inativa). Você poderá reativar a relação
quando introduzir uma tabela calculada que represente o vendedor
para análise de desempenho (das respectivas regiões) no
laboratório Criar cálculos DAX no Power BI Desktop, parte 1.

21. Alterne para a exibição de Modelagem e, em seguida, no diagrama,


selecione a tabela Salesperson.

22. No painel Propriedades, na caixa Nome, substitua o texto


por Salesperson (Performance).

A tabela renomeada agora reflete a finalidade dela: ela é usada para


relatar e analisar o desempenho de vendedores com base nas
vendas das regiões de vendas atribuídas a eles.
Tarefa 3: Criar uma relação com a tabela Targets

Nesta tarefa, você criará uma relação com a tabela Targets

1. Criar uma relação da


coluna Salesperson (Performance) | EmployeeID e da
coluna Targets | EmployeeID.

2. Na exibição de Relatório, adicione o campo Targets | Target para o


visual de tabela.

3. Amplie o visual de tabela para revelar todos os dados.

Agora, é possível visualizar as vendas e as metas. Mas tome


cuidado, por dois motivos. Primeiro, não há nenhum filtro em um
período de tempo e, portanto, as metas também incluem valores
futuros de meta. Segundo, as metas não são aditivas, portanto, o
total não deve ser exibido. Elas podem ser desabilitadas usando
uma propriedade de formatação visual ou removidas usando a
lógica de cálculo. Você seguirá a segunda abordagem criando uma
medida de meta no laboratório Criar cálculos DAX no Power BI
Desktop, parte 2, que retornará BLANK quando mais de um
vendedor for filtrado.

Exercício 2: Impor a Segurança em Nível de Linha

Neste exercício, você vai impor a Segurança em Nível de Linha para garantir que
um vendedor só possa ver as vendas feitas nas regiões atribuídas a ele.
Tarefa 1: Impor a Segurança em Nível de Linha

Nesta tarefa, você vai impor a Segurança em Nível de Linha para garantir que
um vendedor só possa ver as vendas feitas nas regiões atribuídas a ele.

1. Alterne para a exibição Dados.

2. No painel Campos, selecione a tabela Salesperson (Performance).

3. Examine os dados, observando que Michael Blythe (EmployeeKey


281) tem um valor UPN igual a: michael-blythe@adventureworks.com

Lembre-se de que Michael Blythe foi atribuído a três regiões de


vendas: Nordeste dos EUA, EUA Central e Sudeste dos EUA.

4. Alterne para a exibição Relatório.

5. Na guia de faixa de opções Modelagem, no grupo Segurança,


selecione Gerenciar Funções.

6. Na janela Gerenciar Funções, selecione Criar.

7. Na caixa Funções, substitua o texto selecionado pelo nome da


função, Vendedores, e clique em ENTER.

8. Para atribuir um filtro à tabela Salesperson (Performance),


selecione o ícone de reticências (…) e escolha Adicionar filtro |
[UPN].
9. Na caixa Expressão DAX de Filtro de Tabela, modifique a
expressão substituindo Valor por USERPRINCIPALNAME().

USERPRINCIPALNAME() é uma função DAX (Data Analysis


Expressions) que retorna o nome do usuário autenticado. Isso
significa que a tabela Salesperson (Performance) será filtrada pelo
nome UPN do usuário que consultar o modelo.

10. Selecione Salvar.

11. Para testar a função de segurança, na guia de faixa de


opções Modelagem, no grupo Segurança, selecione Exibir como.

12. Na janela Exibir como funções, selecione o item Outro Usuário e,


na caixa correspondente, insira: michael-blythe@adventureworks.com

13. Selecione a função Vendedores.


Essa configuração resulta no uso da função Vendedores e na
representação do usuário com o nome de Mateus Rodrigues.

14. Selecione OK.

15. Observe a faixa amarela acima da página do relatório, descrevendo


o contexto de segurança do teste.

16. No visual de tabela, observe que só o


vendedor Michael Blythe está listado.

17. Para interromper o teste, no lado direito da faixa amarela,


selecione Parar de Exibir.

Quando o arquivo do Power BI Desktop for publicado no serviço do


Power BI, você precisará concluir uma tarefa de pós-publicação para
mapear entidades de segurança para a função Vendedores. Você
não fará isso neste laboratório.

18. Para excluir a função, na guia de faixa de opções Modelagem, no


grupo Segurança, selecione Gerenciar Funções.

Você não trabalhará mais com a Segurança em Nível de Linha nos


laboratórios.

19. Na janela Gerenciar Funções, selecione Excluir.


20. Quando precisar confirmar a exclusão, selecione Sim e Excluir.

21. Selecione Salvar.

Tarefa 2: Conclusão

Nesta tarefa, você concluirá o laboratório.

1. Salve o arquivo do Power BI Desktop.

2. Caso precise aplicar as consultas, selecione Aplicar Mais Tarde.

3. Se você pretende iniciar o próximo laboratório, pode manter o


Power BI Desktop aberto.

 Aviso

Se você deixar o laboratório aberto, ele atingirá o tempo limite


dentro de uma a quatro horas. Seu trabalho no módulo atual do
laboratório será perdido. Mas, do segundo laboratório em diante,
cada laboratório inclui um arquivo PBIX que contém o trabalho de
todos os que foram concluídos anteriormente, para que você não
precise recomeçar.

Você vai aprimorar o modelo de dados com cálculos usando o DAX no


laboratório Criar cálculos DAX no Power BI Desktop, parte 2.

Encerramento do laboratório

Para encerrar este laboratório, selecione o botão Concluído no canto inferior


direito desta janela de instrução.
Resumo
Concluído100 XP
 1 minuto

Você aprendeu sobre a modelagem de dados no Power BI, o que inclui tópicos
como criação de tabelas de data comuns, aprendizado sobre relações muitos-
para-muitos e configuração dessas relações, resolução de relações circulares,
criação de esquemas em estrela e muito mais. Essas habilidades são cruciais
para o kit de ferramentas do usuário do Power BI, para que seja mais fácil criar
visuais e entregar seus elementos de relatório a outras equipes. Com essa base,
agora você tem a capacidade de explorar as várias nuances do modelo de
dados.
Introdução à criação de medidas
usando DAX no Power BI

Introdução ao DAX
Concluído100 XP

 10 minutos

DAX (Data Analysis Expressions) é uma linguagem de programação usada no


Microsoft Power BI para criar colunas calculadas, medidas e tabelas
personalizadas. É uma coleção de funções, operadores e constantes que pode
ser usada em uma fórmula ou expressão para calcular e retornar um ou mais
valores. Você pode usar o DAX para resolver vários problemas de cálculo e
análise de dados que podem ajudar a criar novas informações por meio de
dados que já estejam em seu modelo.

No Power BI, você pode usar diferentes funções e técnicas de cálculo para criar
medidas ou colunas calculadas. Essencialmente, você conseguirá obter o
mesmo resultado usando essas técnicas; no entanto, o importante é saber como
e quando aplicá-las. Com uma compreensão básica de quando e como usar
qual técnica, você poderá criar modelos de dados robustos e de alto
desempenho.

Ao final deste módulo, você saberá como: 

 Compilar medidas rápidas.

 Criar colunas calculadas.

 Usar DAX para compilar medidas.


 Descobrir de que modo o contexto afeta as medidas DAX.

 Usar a função CALCULATE para manipular filtros.

 Implementar a inteligência de dados temporais usando o DAX.

Usar colunas calculadas

O DAX permite que você aumente os dados que obtém de diferentes fontes de
dados criando uma coluna calculada que não existia originalmente na fonte de
dados. Esse recurso deve ser usado com moderação, o que será explicado mais
adiante neste módulo.

Por exemplo, suponha que você esteja importando dados de um banco de


dados que contém transações de vendas. Cada transação de vendas individual
tem as seguintes colunas: ID do Pedido, ID do Produto, Quantidade e Preço
Unitário. Observe que não existe uma coluna para o valor total das vendas de
cada pedido.

 Observação

Este módulo não se refere à visualização de dados, mas ela é apresentada para
demonstrar como o DAX funciona. Para obter mais informações, confira o
roteiro de aprendizagem Visualizar dados no Power BI.  

A figura a seguir mostra como a forma inicial dos dados é exibida em um visual
de tabela do Power BI.
Você pode começar a usar o DAX criando uma coluna calculada que multiplica
o preço unitário pela quantidade. A coluna calculada criará um valor para cada
linha chamada Preço Total. Crie a coluna selecionando o botão de reticências
(...) na tabela da lista Campos e, em seguida, selecionando Nova coluna.
Uma nova fórmula DAX é exibida na barra de fórmulas abaixo da faixa de
opções na parte superior.

Você pode substituir o texto padrão "Column =" pelo seguinte texto de
exemplo:

Total Price = 'Sales OrderDetails'[Quantity] * 'Sales OrderDetails'[Unit


Price]
O valor no lado esquerdo do sinal de igual é o nome da coluna. O texto no lado
direito do sinal de igual é a expressão DAX. Essa simples expressão DAX usa o
valor de quantidade e o multiplica pelo valor de preço unitário de cada linha
individual. Ela produzirá um valor para cada registro na tabela. Se você arrastar
a nova coluna da lista Campos para o visual, verá os novos valores.

A captura de tela anterior mostra que o DAX está calculando corretamente e


exibindo os resultados desejados.

As colunas calculadas são materializadas na extensão de arquivo .pbix do Power


BI. Isso significa que, sempre que você adiciona uma coluna calculada, aumenta
o tamanho do arquivo geral. Ter um excesso de colunas calculadas reduzirá o
desempenho e fará com que você alcance mais cedo o tamanho máximo de
arquivo do Power BI.

Criar uma coluna personalizada

Há três maneiras de criar uma coluna personalizada no Power BI:

 Crie a coluna na consulta de origem ao obter os dados, por


exemplo, adicionando o cálculo a uma exibição em um banco de
dados relacional.
 Crie uma coluna personalizada no Power Query.

 Crie uma coluna calculada usando DAX no Power BI.

Você pode criar uma coluna calculada ao efetuar pull dos dados obtidos em
uma fonte de dados. Cada fonte de dados teria uma técnica diferente para
concluir essa ação. Por exemplo, se você efetuasse pull de dados de uma fonte
de dados relacional usando uma exibição escrita na linguagem SQL, ela seria
semelhante ao seguinte exemplo:

Copiar
CREATE VIEW OrdersWithTotalPrice
AS
SELECT unitprice, qty, unitprice * qty as TotalPrice
FROM sales.salesorders

O uso da linguagem SQL é uma maneira eficiente de criar uma coluna, pois faria
com que a fonte de dados realizasse os cálculos para você. No Power BI, a
coluna calculada apareceria como qualquer outra coluna.

Você também pode usar o Power Query para criar uma coluna personalizada.

A caixa de diálogo Coluna personalizada usa a linguagem M para criar a coluna.


A linguagem M está fora do escopo deste módulo.

A terceira maneira de criar uma coluna calculada é usando DAX no Power BI,
como demonstrado anteriormente.
Quando você cria uma coluna calculada usando DAX, não é necessário atualizar
o conjunto de dados para ver a nova coluna. Nos outros métodos, você
precisaria atualizar para ver as alterações. Esse processo pode ser demorado
caso você esteja trabalhando com muitos dados. No entanto, é um problema
irrelevante porque, após a criação das colunas, elas raramente são alteradas.

A coluna calculada DAX não é compactada tão bem como os outros métodos.
Os outros tipos de coluna são compactados, o que torna o arquivo .pbix menor
e agiliza o desempenho.

Em geral, quanto mais cedo você puder criar uma coluna, melhor. Não é
considerada uma prática ideal usar o DAX para cálculos se você puder usar um
mecanismo diferente.

Além disso, uma maneira de evitar o uso de uma coluna calculada é usar uma
das funções X, como SUMX, COUNTX, MINX e assim por diante. As funções X
estão além do escopo deste módulo; no entanto, permitem criar medidas que
reconheçam os dados em linhas individuais e calculem totais com base nos
totais da linha. Essas funções são chamadas de funções de iterador porque,
embora sejam usadas em medidas, elas iteram nas linhas individuais para fazer
seus cálculos. Uma função X terá um desempenho melhor e usará menos
espaço em disco do que uma coluna calculada. Para obter mais informações
sobre funções X, confira a documentação da Microsoft.

Usar medidas

As colunas calculadas são úteis quando você precisa operar linha por linha. No
entanto, outras situações podem exigir um método mais simples. Por exemplo,
considere uma situação em que você deseja uma agregação que opere em todo
o conjunto de dados e você precisa do total de vendas de todas as linhas. Além
disso, você quer dividir e analisar os dados com base em outros critérios, como
o total de vendas por ano, por funcionário ou por produto.

Para realizar essas tarefas, você usaria uma medida. É possível criar uma medida
sem escrever código DAX; o Power BI o escreverá quando você criar uma
medida rápida.

Existem muitas categorias de cálculos disponíveis e maneiras de modificar cada


cálculo para atender às suas necessidades. Outra vantagem é que você pode ver
o DAX implementado pela medida rápida e, ao mesmo tempo, iniciar ou
expandir seu conhecimento sobre DAX.
Criar uma medida rápida

Para criar uma medida rápida no Power BI Desktop, clique com o botão direito
do mouse ou selecione o botão de reticências (...) ao lado de qualquer item no
painel Campos e selecione Nova medida rápida no menu exibido. A
tela Medidas rápidas será exibida.

Na janela Medidas rápidas, você pode selecionar o cálculo desejado e os


campos nos quais o cálculo deve ser efetuado. Por exemplo, você pode
selecionar um cálculo e a coluna na qual deseja fazer operações. O Power BI cria
a medida DAX e a exibe para você. Essa abordagem pode ser uma maneira útil
de aprender a sintaxe DAX.
Para obter mais informações, confira a documentação  Usar medidas rápidas
para cálculos comuns.

Criar uma medida

As medidas são usadas em algumas das análises de dados mais comuns.

Para continuar com o cenário anterior, convém criar uma medida que totalize
sua nova coluna para todo o conjunto de dados. Semelhante à forma como
criou uma coluna calculada, você pode ir para a lista Campos, clicar nas
reticências de três pontos no campo selecionado e selecionar Nova medida.

O texto será exibido na barra de fórmulas abaixo da faixa de opções.

Você pode substituir o texto "Medida =" pelo seguinte texto:

Total Sales = sum('Sales OrderDetails'[Total Price])

A nova medida agora aparecerá na lista de Campos.

Ao arrastar Vendas Totais para a superfície de design do relatório, você verá o


total de vendas de toda a organização em um gráfico de colunas.
Diferenças entre uma coluna calculada e uma medida

A diferença fundamental entre uma coluna calculada e uma medida é que uma
coluna calculada cria um valor para cada linha em uma tabela. Por exemplo, se a
tabela tiver 1.000 linhas, ela terá 1.000 valores na coluna calculada. Os valores
de colunas calculadas são armazenados no arquivo .pbix do Power BI. Cada
coluna calculada aumentará o espaço usado nesse arquivo, o que possivelmente
aumentará o tempo de atualização.

As medidas são calculadas sob demanda. O Power BI calcula o valor correto


quando o usuário o solicita. No cenário anterior, em que você arrastou a
medida Total de Vendas para o relatório, o Power BI calculou o total correto e
exibiu o visual. As medidas não são adicionadas ao espaço em disco geral do
arquivo .pbix do Power BI.

As medidas são calculadas com base nos filtros usados pelo usuário do
relatório. Esses filtros são combinados para criar o contexto do filtro.
Entender o contexto
Concluído100 XP
 10 minutos

O modo como o contexto afeta as medidas DAX é um conceito difícil de


entender. Os visuais a seguir demonstrarão como o contexto afeta as medidas
DAX, para que você possa ver de que modo elas interagem juntas.

Os três visuais a seguir usam exatamente a mesma medida DAX: Total de


Vendas.

Embora cada visual use a mesma medida DAX e, portanto, a mesma fórmula
DAX, os visuais produzem resultados diferentes. Por exemplo, o primeiro visual
mostra a medida Total de Vendas para todo o conjunto de dados. Neste
conjunto de dados, o Total de Vendas é de US$ 1,35 milhão. No segundo visual,
o Total de Vendas é dividido por ano. Por exemplo, em 2014, o Total de Vendas
é de US$ 0,23 milhão. No terceiro visual, o Total de Vendas é detalhado por ID
do produto.

Com o Power BI, embora a medida tenha sido definida apenas uma vez, poderá
ser usada nesses visuais de maneiras diferentes. Cada total é preciso e gerado
rapidamente. É o contexto de como a medida DAX é usada que calcula os totais
com precisão.

As interações entre visuais também alteram a forma como a medida DAX é


calculada. Por exemplo, se você selecionar o segundo visual e, em seguida,
selecionar 2015, os resultados aparecerão conforme mostrado na captura de
tela a seguir.
A seleção de 2015 no segundo visual alterou o contexto de filtro da medida
DAX. Isso modificou o primeiro visual, deixando-o igual às vendas de 2015: US$
0,66 milhão. Também dividiu o Total de Vendas por ID do Produto, mas mostra
apenas os resultados para 2015. Esses cálculos mudaram rapidamente na
memória e exibiram os resultados de uma maneira altamente interativa para o
usuário.

A definição da medida DAX não foi alterada; ela ainda é a original, conforme
mostrado no seguinte exemplo:

Total Sales = sum('Sales OrderDetails'[Total Price])

Esse cenário é uma maneira simples de explicar como o contexto funciona com
o DAX. Muitos outros fatores afetam o modo como as fórmulas DAX são
avaliadas. Segmentações de Dados, filtros de página e outros elementos podem
afetar o cálculo e a exibição de uma fórmula DAX.
Usar a função Calculate
Concluído100 XP
 10 minutos

A função CALCULATE no DAX é uma das mais importantes que um analista de


dados pode aprender. O nome da função não descreve adequadamente tudo o
que se destina a fazer.

A função CALCULATE é o método de criação de uma medida DAX que


substituirá certas partes do contexto usadas para expressar o resultado correto.

Por exemplo, se você deseja criar uma medida que sempre calcule o total de
vendas de 2015, independentemente de qual ano seja selecionado em qualquer
outro visual no Power BI, crie uma medida parecida com a seguinte amostra:

Total Sales for 2015 = CALCULATE(SUM('Sales OrderDetails'[Total Price]),


YEAR('Sales OrderDetails'[orderdate]) = 2015)

Observe que a medida é nomeada como Total de Vendas de 2015. Quando


você usa a função CALCULATE para substituir o contexto, convém nomear a
medida de modo que ela descreva exatamente como você a está substituindo.
Neste exemplo, CALCULATE está agregando a coluna Preço Total, exatamente
como você fez na medida anterior. No entanto, em vez de operar em todo o
conjunto de dados enquanto usa o que o contexto do filtro solicita, você está
substituindo o contexto do filtro para o ano de 2015. Não importa o ano
selecionado como um filtro para outros relatórios, você sempre obterá o total
para 2015 usando essa medida; todos os outros filtros ainda se aplicam. O
exemplo a seguir mostra esse conceito em ação.

Se as duas medidas forem adicionadas ao visual anterior, elas serão


semelhantes à captura de tela a seguir.
Conforme mostrado na captura de tela anterior, o valor em Total de Vendas
ainda é de US$ 1,35 milhão, enquanto o total de vendas de 2015 é de US$ 0,66
milhão.

Se você adicionar o outro visual ao relatório, como fez anteriormente e, em


seguida, selecionar 2015, os resultados serão parecidos com a imagem a seguir.
Se você selecionar 2016, o total de vendas para 2015 permanecerá em US$ 0,66
milhão.
Observe que agora as duas medidas têm o mesmo valor. Se você filtrasse por
qualquer outro critério, incluindo região, funcionário ou produto, o contexto do
filtro ainda seria aplicado às duas medidas. É apenas o filtro de ano que não se
aplica a essa medida.
Usar relacionamentos de forma eficaz
Concluído100 XP
 12 minutos

Outra função DAX que permite substituir o comportamento padrão é


USERELATIONSHIP.

Considere o exemplo de modelo de dados a seguir.

A captura de tela anterior mostra um relacionamento estabelecido entre as


colunas  Date ** e ** OrderDate, como mostrado pelas linhas destacadas que
conectam as duas. A linha sólida entre as duas tabelas indica que esse é o
relacionamento ativo. Isso significa que, por padrão, qualquer segmentação na
tabela de data em que as medidas dos dados de Vendas são exibidas estará na
coluna OrderDate. Há uma relação tracejada entre as colunas Date e ShipDate,
indicando que essa é uma relação inativa. Esse relacionamento nunca será
usado, a menos que seja explicitamente declarado em uma medida.

O objetivo é criar o relatório a seguir, no qual você tem dois visuais: Vendas por
data de envio e Vendas por data do pedido.
Esses visuais mostram as vendas ao longo do tempo, mas o primeiro é por data
do pedido e o segundo é por data de envio, de modo que, embora ambos
sejam datas, um ponto de dados diferente é associado a eles para obter os dois
conjuntos de dados no mesmo visual.

Para criar essa medida para Vendas por data de envio, você pode usar a função
DAX USERELATIONSHIP(). Essa função é usada para especificar um
relacionamento a ser usado em um cálculo específico e é feita sem substituir
nenhum relacionamento existente. É um recurso benéfico que permite aos
desenvolvedores fazer cálculos adicionais em relacionamentos inativos
substituindo o relacionamento ativo padrão entre duas tabelas em uma
expressão DAX, como mostrado no seguinte exemplo:
Sales by Ship Date = CALCULATE(Sum(Sales[TotalPrice]),
USERELATIONSHIP(Sales[ShipDate],'Calendar'[Date]))

Agora, você poderá criar o segundo visual.


Criar medidas semiaditivas
Concluído100 XP
 10 minutos

Em situações em que você não quer o comportamento de avaliação padrão no


Power BI, é possível usar as funções CALCULATE e/ou USERELATIONSHIP. No
entanto, há mais circunstâncias em que não convém empregar o
comportamento padrão. Uma dessas situações é quando há um problema
semiaditivo a ser resolvido. As medidas padrão são conceitos simples, que
podem usar as funções SUM, AVERAGE, MIN e MAX. Até o momento, SUM está
sendo usado para a medida Total de Vendas.

Ocasionalmente, somar uma medida não faz sentido, como quando você está
realizando contagens de inventário em um depósito. Por exemplo, se na
segunda-feira você tivesse 100 bicicletas e na terça-feira tivesse 125, não as
somaria para indicar que tinha 225 bicicletas entre esses dois dias. Nesse caso,
se você quiser saber os níveis de estoque de março, precisará dizer para o
Power BI não adicionar a medida, mas usar o último valor do mês de março e
atribuí-lo a qualquer visual.

Você pode usar a função CALCULATE para concluir a ação, junto à função
LastDate, como mostrado no seguinte exemplo:

Copiar
Last Inventory Count =
CALCULATE (
SUM ( 'Warehouse'[Inventory Count] ),
LASTDATE ( 'Date'[Date] ))

Essa abordagem impedirá que SUM cruze todas as datas. Em vez disso, você
usará a função SUM apenas na última data do período, criando efetivamente
uma medida semiaditiva.
Lab – Introdução ao DAX no Power BI
Desktop
Concluído100 XP

 45 minutos
Esta unidade inclui um laboratório a ser concluído.

Use os recursos gratuitos fornecidos no laboratório para concluir os exercícios


nesta unidade. Você não será cobrado.

Iniciar laboratório

Acessar seu ambiente

Antes de iniciar este laboratório (a menos que você esteja partindo de um


laboratório anterior), selecione Iniciar laboratório acima.

Você entrou automaticamente no seu ambiente de laboratório como data-


ai\student.

Agora você pode iniciar seu trabalho neste laboratório.

 Dica

Para encaixar o ambiente de laboratório para que ele preencha a janela,


selecione o ícone do computador na parte superior e, em seguida,
selecione Ajustar Janela ao Computador.
Neste laboratório, você criará tabelas e colunas calculadas e medidas simples
usando DAX (Data Analysis Expressions).

Neste laboratório, você aprenderá a:

 Criar tabelas calculadas

 Criar colunas calculadas

 Criar medidas

Exercício 1: criar tabelas calculadas

Neste exercício, você criará duas tabelas calculadas. A primeira será a


tabela Vendedor, para permitir um relacionamento direto entre ela e a
tabela Vendas. O segundo será a tabela Data.

Abra o arquivo inicial Sales Analysis.pbix, encontrado na


pasta D:\DA100\Labs\05-create-dax-calculations-in-power-bi-
desktop\Starter.

Tarefa 1: criar a tabela Vendedor

Nesta tarefa, você criará a tabela Vendedor (relacionamento direto


com Vendas).

1. No Power BI Desktop, na exibição Relatório, na faixa de


opções Modelagem dentro do grupo Cálculos, clique em Nova
Tabela.

2. Na barra de fórmulas (que é aberta diretamente abaixo da faixa de


opções ao criar ou editar cálculos), digite Vendedor =,
pressione Shift+Enter, digite "Vendedor (Desempenho)" e
pressione Enter.
Para sua conveniência, todas as definições DAX neste laboratório
podem ser copiadas do
arquivo D:\DA100\Lab06A\Assets\Snippets.txt.

Uma tabela calculada é criada inserindo primeiro o nome da tabela,


seguido pelo símbolo de igual (=), seguido por uma fórmula DAX
que retorna uma tabela. O nome da tabela não pode existir no
modelo de dados.

A barra de fórmulas dá suporte à inserção de uma fórmula DAX


válida. Ela inclui recursos como preenchimento automático,
IntelliSense e codificação por cores, permitindo que você insira a
fórmula com rapidez e precisão.

Esta definição de tabela cria uma cópia da tabela Vendedor


(Desempenho). Ela copia somente os dados, no entanto,
propriedades como visibilidade, formatação etc. não são copiadas.

 Dica

Recomendamos inserir "espaço em branco" (ou seja, retornos de


carro e tabulações) no layout das fórmulas em um formato intuitivo
e de fácil leitura — especialmente quando as fórmulas são longas e
complexas. Para inserir um retorno de carro, pressione Shift+Enter.
O "espaço em branco" é opcional.

3. No painel Campos, observe que o ícone de tabela tem um ícone de


calculadora também (indicando uma tabela calculada).

As tabelas calculadas são definidas usando uma fórmula DAX que


retorna uma tabela. É importante entender que as tabelas
calculadas aumentam o tamanho do modelo de dados, pois
materializam e armazenam valores. Elas são recalculadas sempre
que as dependências de fórmulas são atualizadas, como será o caso
neste modelo de dados quando novos valores de data (futuros)
forem carregados nas tabelas.

Ao contrário das tabelas provenientes do Power Query, as tabelas


calculadas não podem ser usadas para carregar dados de fontes de
dados externas. Elas só podem transformar dados com base no que
já foi carregado no modelo de dados.

4. Alterne para a exibição Modelo.

5. Observe que a tabela Vendedor está disponível (tome cuidado, ela


pode estar oculta na exibição – role horizontalmente para localizá-
la).

6. Crie um relacionamento da coluna Vendedor |


ChaveFuncionário com a coluna Vendas | ChaveFuncionário.

7. Clique com o botão direito do mouse no relacionamento inativo


entre as tabelas Vendedor (Desempenho) e Vendas e
selecione Excluir.

8. Quando você for solicitado a confirmar a exclusão, clique


em Excluir.

9. Na tabela Vendedor, faça a multisseleção das seguintes colunas e


oculte-as:

o IDFuncionário

o ChaveFuncionário

o UPN

10. No diagrama, selecione a tabela Vendedor.


11. No painel Propriedades, na caixa Descrição, digite: Vendedor
relacionado a uma venda

Lembre-se de que descrições aparecem como dicas de ferramentas


no painel Campos quando o usuário passa o cursor sobre uma
tabela ou um campo.

12. Para a tabela Vendedor (Desempenho), defina a descrição


como: Vendedor relacionado às regiões.

Agora o modelo de dados fornece duas alternativas durante a


análise de vendedores. A tabela Vendedor permite analisar as
vendas feitas por um vendedor, enquanto a tabela Vendedor
(Desempenho) permite analisar as vendas realizadas nas regiões
de vendas atribuídas ao vendedor.

Tarefa 2: criar a tabela Data

Nesta tarefa, você criará a tabela Data.

1. Alterne para a exibição Dados.

2. Na guia da faixa de opções Página Inicial, dentro do


grupo Cálculos, clique em Nova Tabela.

3. Na barra de fórmulas, digite o seguinte e pressione Enter:

DAXCopiar
Date =
CALENDARAUTO(6)
A função CALENDARAUTO() retorna uma tabela de coluna única
composta pelos valores de datas. O comportamento "automático"
examina todas as colunas de data do modelo de dados para
determinar os valores de data mais antigos e mais recentes
armazenados no modelo de dados. Em seguida, cria uma linha para
cada data dentro desse intervalo, estendendo o intervalo em
qualquer direção para garantir o armazenamento de anos
completos de dados.

Essa função pode usar um único argumento opcional, que é o


número do último mês de um ano. Quando omitido, o valor é 12, o
que significa que dezembro é o último mês do ano. Nesse caso, é
inserido 6, o que significa que junho é o último mês do ano.

4. Observe a coluna de valores de data.

Se a coluna não aparecer, no painel Campos, selecione uma tabela


diferente e selecione a tabela Data.

As datas mostradas são formatadas usando as configurações


regionais dos EUA (ou seja, mm/dd/aaaa).

5. No canto inferior esquerdo, na barra de status, observe as


estatísticas de tabela, confirmando que foram geradas 1.826 linhas
de dados, o que representa cinco anos completos de dados.

Tarefa 3: criar colunas calculadas

Nesta tarefa, você adicionará mais colunas para habilitar a filtragem e o


agrupamento por períodos diferentes. Você também criará uma coluna
calculada para controlar a ordem de classificação de outras colunas.
1. Na faixa de opções contextual Ferramentas da Tabela, dentro do
grupo Cálculos, clique em Nova Coluna.

2. Na barra de fórmulas, digite o seguinte e pressione Enter:

DAXCopiar
Year =

"FY" & YEAR('Date'[Date]) + IF(MONTH('Date'[Date]) > 6, 1)

Uma coluna calculada é criada inserindo primeiro o nome da


coluna, seguido pelo símbolo de igual (=), seguido por uma fórmula
DAX que retorna um resultado de valor único. O nome da coluna
não pode existir na tabela.

A fórmula usa o valor de ano da data, mas adiciona um ao valor de


ano quando o mês é posterior a junho. É assim que são calculados
os anos fiscais do Adventure Works.

3. Verifique se a nova coluna foi adicionada.

4. Use as definições de arquivo de snippets para criar estas duas


colunas calculadas para a tabela Data:

o Trimestre
o Mês
5. Para validar os cálculos, alterne para a exibição Relatório.

6. Para criar uma página de relatório, na parte inferior esquerda, clique


no ícone de adição.

7. Para adicionar um visual da matriz à nova página de relatório, no


painel Visualizações, selecione o tipo de visual da matriz.

 Dica

Você pode passar o cursor sobre cada ícone para revelar uma dica
de ferramenta que descreve o tipo de visual.
8. No painel Campos, dentro da tabela Data, arraste o
campo Ano para a caixa Linhas.

9. Arraste o campo Mês até a caixa Linhas, diretamente abaixo do


campo Ano.

10. Ao lado do visual da matriz, clique no ícone de seta dupla bifurcada


(que expandirá todos os anos em um nível).

11. Observe que os anos se expandem para meses e que os meses são
classificados em ordem alfabética, em vez de cronologicamente.
Por padrão, os valores de texto são classificados em ordem
alfabética, os números são classificados do menor para o maior, e
as datas são classificadas da mais antiga para a mais recente.

12. Para personalizar a ordem de classificação do campo Mês, alterne


para a exibição Dados.

13. Adicione a coluna ChaveMês à tabela Data. Essa fórmula calcula


um valor numérico para cada combinação de ano/mês.

DAXCopiar
MonthKey =

(YEAR('Date'[Date]) * 100) + MONTH('Date'[Date])

14. Na exibição Dados, verifique se a nova coluna contém valores


numéricos (por exemplo, 201707 para julho de 2017 etc.).

15. No painel Campos, verifique se o campo Mês está selecionado


(quando selecionado, ele terá um plano de fundo cinza escuro).
16. Na faixa de opções contextual Ferramentas de Coluna, dentro do
grupo Classificar, clique em Classificar por Coluna e
selecione ChaveMês.

17. No visual da matriz, observe que os meses agora estão classificados


cronologicamente.

Tarefa 4: concluir a tabela Data

Nesta tarefa, você concluirá o design da tabela Data ocultando uma coluna e


criando uma hierarquia. Em seguida, você criará relacionamentos para as
tabelas Vendas e Destinos.

1. Alterne para a exibição Modelo.

2. Na tabela Data, oculte a coluna ChaveMês.


3. Na tabela Data, crie uma hierarquia chamada Fiscal, com estes três
níveis:

o Ano
o Trimestre
o Mês

4. Crie estas duas relações de modelo:

o Data | Data para Vendas | DataPedido


o Data | Data para Destino | MêsDestino

5. Oculte estas duas colunas:

o Vendas | DataPedido
o Destinos | MêsDestino

Tarefa 5: marcar a tabela Data

Nesta tarefa, você marcará a tabela Data como uma tabela de data.

1. Alternar para a exibição Relatório.

2. No painel Campos, selecione a tabela Data (não o campo).

3. Na faixa de opções contextual Ferramentas de Tabela, dentro do


grupo Calendários, clique em Marcar como Tabela de Data e
selecione Marcar como Tabela de Data.
4. Na janela Marcar como Tabela de Data, na lista suspensa Coluna
de Data, selecione Data.

5. Clique em OK.

6. Salve o arquivo do Power BI Desktop.

O Power BI Desktop agora entende que essa tabela define a data


(hora). Isso é importante quando se baseia em cálculos de
inteligência de dados temporais. Você trabalhará com cálculos de
inteligência de dados temporais no Lab 06B.

 Observação

Essa abordagem de design para uma tabela de data é adequada


quando você não tem uma tabela de data em sua fonte de dados.
Caso você tenha acesso a um data warehouse, seria apropriado
carregar dados de data da sua tabela de dimensões de data, em vez
de "redefinir" a lógica de data em seu modelo de dados.
Exercício 2: criar medidas

Neste exercício, você criará e formatará várias medidas.

Tarefa 1: criar medidas simples

Nesta tarefa, você criará medidas simples. As medidas simples agregam uma
única coluna ou tabela.

1. Na exibição Relatório, na Página 2, no painel Campos, arraste o


campo Vendas | Preço Unitário para a seção Valores no visual da
matriz.

Lembre-se de que, no Lab 05A, você definiu a coluna Preço


Unitário para resumir por Média. O resultado que você vê no visual
da matriz é o preço unitário médio mensal.

2. No painel de campos de visuais (localizado abaixo do


painel Visualizações), na caixa Valores, observe que Preço
Unitário está listado.

3. Clique na seta para baixo de Preço Unitário e observe as opções


de menu disponíveis.
As colunas numéricas visíveis permitem que os autores de relatório
decidam no tempo de design como uma coluna será resumida (ou
não). Isso pode resultar em relatórios inadequados. Alguns
modeladores de dados não gostam de deixar as coisas ao acaso e
optam por ocultar essas colunas e expor a lógica de agregação
definida por medidas. Essa é a abordagem que você executará
agora neste laboratório.

4. Para criar uma medida, no painel Campos, clique com o botão


direito do mouse na tabela Vendas e selecione Nova Medida.
5. Na barra de fórmulas, adicione a seguinte definição de medida:

DAXCopiar
Avg Price = AVERAGE(Sales[Unit Price])

6. Adicione a medida Preço Médio à seção Valores no visual da


matriz.

7. Observe que ela produz o mesmo resultado que a coluna Preço


Unitário (mas com formatação diferente).

8. Na caixa Valores, abra o menu de contexto do campo Preço


Médio e observe que não é possível alterar a técnica de agregação.
9. Use as definições de arquivo de snippets para criar as cinco
medidas a seguir para a tabela Vendas:

o Preço Mediano
o Preço Mín.
o Preço Máx.
o Pedidos
o Linhas de Pedidos

A função DISTINCTCOUNT() usada na medida Pedidos contará os


pedidos apenas uma vez (ignorando duplicatas). A função
COUNTROWS() usada na medida Linhas de Pedidos funciona em
uma tabela. Nesse caso, o número de pedidos é calculado contando
os valores distintos da coluna NúmeroPedidosVendas, enquanto o
número de linhas do pedido é simplesmente o número de linhas da
tabela (cada linha é uma linha de um pedido).

10. Alterne para a exibição Modelo e selecione as quatro medidas de


preço: Preço Médio, Preço Máximo, Preço Mediano e Preço
Mínimo.

11. Para a seleção de várias medidas, configure os seguintes requisitos:

o Definir o formato para duas casas decimais


o Atribuir uma pasta de exibição chamada Preços
12. Oculte a coluna Preço Unitário.

Agora, a coluna Preço Unitário não está disponível para autores de


relatório. Eles devem usar a medida que você adicionou ao modelo.
Essa abordagem de design garante que os autores de relatório não
agreguem preços de forma inadequada, por exemplo, somando-os.

13. Faça a seleção múltipla de medidas de Pedidos e Linhas de


pedidos e configure os seguintes requisitos:

o Definir o formato para usar o separador de milhar


o Atribuir a uma pasta de exibição chamada Contagens

14. Na exibição Relatório, na caixa Valores do visual da matriz, clique


no X do campo Preço Unitário para removê-lo.
15. Aumente o tamanho do visual da matriz para preencher a largura e
a altura da página.

16. Adicione estas cinco novas medidas ao visual da matriz:

o Preço Mediano
o Preço Mín.
o Preço Máx.
o Pedidos
o Linhas de Pedidos

17. Verifique se os resultados parecem razoáveis e se estão formatados


corretamente.

Tarefa 2: criar medidas adicionais

Nesta tarefa, você criará medidas adicionais que usam expressões mais
complexas.

1. Na exibição Relatório, selecione Página 1.

2. Examine o visual da tabela, observando o total da coluna Destino.


Somar os valores de destino não faz sentido, pois esses valores são
definidos para cada vendedor com base em suas atribuições da
região de vendas. Um valor de destino só deve ser mostrado
quando um único vendedor é filtrado. Agora, você implementará
uma medida para fazer exatamente isso.

3. No visual da tabela, remova o campo Destino.

4. Renomear a coluna Destinos | Destino como Destinos |


ValorDestino.

 Dica

Há várias maneiras de renomear a coluna na exibição Relatório: No


painel Campos, você pode clicar com o botão direito do mouse na
coluna e, em seguida, selecionar Renomear – ou clicar duas vezes
na coluna ou pressionar F2.

Você está prestes a criar uma medida chamada Destino. Não é


possível ter uma coluna e uma medida na mesma tabela com o
mesmo nome.

5. Crie a seguinte medida na tabela Destinos:

DAXCopiar
Target =

IF(

HASONEVALUE('Salesperson (Performance)'[Salesperson]),

SUM(Targets[TargetAmount])

A função HASONEVALUE() testa se é filtrado um único valor na


coluna Vendedor. Se ela for true, a expressão retornará a soma dos
valores de destino (apenas para esse vendedor). Se for false, será
retornado EM BRANCO.

6. Formate a medida de Destino para zero casas decimais.

 Dica

Você pode usar a faixa de opções contextual Ferramentas de


Medida.

7. Oculte a coluna ValorDestino.

8. Adicione a medida Destino ao visual da tabela.

9. Observe que o total da coluna Destino está EM BRANCO agora.


10. Use as definições de arquivo de snippets para criar as duas medidas
a seguir para a tabela s:

o Variância
o Margem de variância

11. Formate a medida de Variância para zero casas decimais.

12. Formate a medida Margem de variância como uma porcentagem


com duas casas decimais.

13. Adicione as medidas Variância e Margem de variância ao visual


da tabela.

14. Amplie o visual da tabela para que todos os valores sejam exibidos.
Embora pareça que todos os vendedores não estão atingindo o
destino, lembre-se de que as medidas ainda não foram filtradas por
um período específico. Você produzirá relatórios de desempenho
de vendas que são filtrados por um período selecionado pelo
usuário no Lab 07A.

15. No canto superior direito do painel Campos, recolha e então


expanda o painel.

Recolher e reabrir o painel redefine o conteúdo.

16. Observe que a tabela Destinos agora aparece na parte superior da


lista.

As tabelas que compõem apenas as medidas visíveis são listadas


automaticamente na parte superior da lista.

Conclusão

Nesta tarefa, você concluirá o laboratório.

1. Salve o arquivo do Power BI Desktop.


2. Deixe o Power BI Desktop aberto.

No próximo laboratório, você aprimorará o modelo de dados com cálculos mais


avançados usando DAX.
Trabalhar com inteligência de dados
temporais
Concluído100 XP
 10 minutos

Todos os analistas de dados precisarão lidar com o tempo. As datas são


importantes, portanto, recomendamos que você crie ou importe a tabela de
datas. Essa abordagem ajudará a simplificar os cálculos de data e hora no DAX.

Embora alguns cálculos de tempo sejam simples de fazer no DAX, outros são
mais difíceis. Por exemplo, a captura de tela a seguir mostra o que acontecerá
se você quiser exibir um total acumulado.

Observe que o total aumenta a cada mês, mas é redefinido com a mudança de
ano. Em outras linguagens de programação, esse resultado pode ser muito
complicado, geralmente envolvendo muitas variáveis e loops no código. O DAX
torna o processo bem simples, como mostrado no seguinte exemplo:

Copiar
YTD Total Sales = TOTALYTD
(
SUM('Sales OrderDetails'[Total Price])
, Dates[Date]
)

A medida Total de Vendas do Ano usa uma função DAX integrada chamada


TOTALYTD. Essa função utiliza um argumento para o tipo de cálculo. Você pode
usar a função SUM para obter o Preço Total, como feito em todo o módulo. O
segundo argumento que você deseja operar é o campo Datas. Você pode usar
a tabela Datas e adicionar essa medida ao visual para obter o resultado do total
acumulado que está procurando. Você pode usar todas as funções com YTD,
MTD e QTD de forma semelhante.

Outro exemplo de trabalho com tempo seria comparar as vendas atuais com as
vendas de um período anterior. Por exemplo, se você quiser ver o total de
vendas do mês ao lado do total de vendas do mês anterior, deverá inserir a
definição de medida DAX como mostrado no seguinte exemplo:

Copiar
Total Sales Previous Month = CALCULATE
(
sum('Sales OrderDetails'[Total Price])
, PREVIOUSMONTH(Dates[Date])
)

Essa medida usa a função CALCULATE, indicando que você está substituindo o
contexto para avaliar a expressão da forma que deseja. Você está somando o
Preço Total, como feito em todo o módulo. No segundo argumento, você usa
PREVIOUSMONTH para a substituição, informando ao Power BI que,
independentemente do mês padrão, o sistema deve substituí-lo pelo mês
anterior.

A captura de tela a seguir mostra os resultados em um visual de tabela.


Quando você analisa os meses lado a lado, pode observar que o total de vendas
de julho se compara ao total de vendas de junho.
Laboratório – inteligência de dados
temporais e medidas no DAX
Concluído100 XP

 45 minutos
Esta unidade inclui um laboratório a ser concluído.

Use os recursos gratuitos fornecidos no laboratório para concluir os exercícios


nesta unidade. Você não será cobrado.

Iniciar laboratório

Acessar seu ambiente

Antes de iniciar este laboratório (a menos que você esteja partindo de um


laboratório anterior), selecione Iniciar laboratório acima.

Você entrou automaticamente no seu ambiente de laboratório como data-


ai\student.

Agora você pode iniciar seu trabalho neste laboratório.

 Dica

Para encaixar o ambiente de laboratório para que ele preencha a janela,


selecione o ícone do computador na parte superior e, em seguida,
selecione Ajustar Janela ao Computador.
Neste laboratório, você criará medidas com expressões DAX envolvendo
manipulação de contexto de filtro.

Neste laboratório, você aprenderá a:

 Usar a função CALCULATE () para manipular o contexto do filtro

 Usar as funções de Inteligência de dados temporais

Exercício 1: Trabalhar com contexto de filtro

Neste exercício, você criará medidas com expressões DAX envolvendo


manipulação de contexto de filtro.

Abra o arquivo inicial do laboratório, encontrado na


pasta D:\DA100\Lab06B\starter.

Tarefa 1: Criar um visual de matriz

Nesta tarefa, você criará um visual de matriz para testar suas novas medidas.

1. No modo de relatório do Power BI Desktop, crie uma página de


relatório.

2. Na Página 3, adicione um visual de matriz.


3. Redimensione o visual da matriz de modo a preencher a página
inteira.

4. Para configurar os campos de visuais da matriz, no painel Campos,


arraste a hierarquia de Região | Regiões e solte-a dentro do visual.

5. Adicione também o campo Venda | Vendas.

6. Para expandir toda a hierarquia, no canto superior direito do visual


da matriz, clique no ícone de seta bifurcada duas vezes.

Lembre-se de que a hierarquia de Regiões possui os níveis


de Grupo, País e Região.

7. Para formatar o visual, abaixo do painel de Visualizações,


selecione Formatar.
8. Na caixa de Pesquisa, digite Nível.

9. Defina a propriedade Layout de nível como Desativada.

10. Verifique se o visual da matriz tem quatro cabeçalhos de coluna.


Na Adventure Works, as regiões de vendas são organizadas em
grupos, países e regiões. Todos os países, exceto os Estados Unidos,
têm apenas uma região, que recebe o mesmo nome do país. Como
os Estados Unidos são um grande território de vendas, ele é
dividido em cinco regiões.

Você criará várias medidas neste exercício, depois as testará


adicionando-as ao visual da matriz.

Tarefa 2: Manipular o contexto de filtro

Nesta tarefa, você criará várias medidas com expressões DAX que usam a
função CALCULATE() para manipular o contexto de filtro.

1. Na exibição Relatório, na faixa Modelagem, dentro do


grupo Cálculos, clique em Nova medida para adicionar uma
medida "Vendas de todas as regiões" à tabela Vendas.

2. Use a seguinte expressão para criar a medida:


Para sua conveniência, todas as definições DAX neste laboratório
podem ser copiadas do
arquivo D:\DA100\Lab06B\Assets\Snippets.txt.

DAXCopiar
Sales All Region =
CALCULATE(SUM(Sales[Sales]), REMOVEFILTERS(Region))

A função CALCULATE() é uma função poderosa usada para


manipular o contexto do filtro. O primeiro argumento usa uma
expressão ou medida (uma medida é apenas uma expressão
nomeada). Os argumentos subsequentes permitem modificar o
contexto do filtro.

A função REMOVEFILTERS() remove os filtros ativos. Ela pode não


remover nenhum argumento ou usar uma tabela, uma coluna ou
várias colunas como seu argumento.

Nesta fórmula, a medida avalia a soma da coluna Vendas em um


contexto de filtro modificado, que remove todos os filtros aplicados
à tabela Região.

3. Na barra de fórmulas, copie a expressão do arquivo Snippets.txt e


pressione Inserir. Isso cria a medida na tabela Vendas. Examine a
lista de campos no painel Campos da tabela Vendas e você verá a
medida Vendas de todas as regiões.

4. Marque a medida Vendas de todas as regiões no


painel Campos para adicionar a medida ao visual da matriz.
5. Observe que a medida Vendas de todas as regiões calcula o total
de vendas de todas as regiões por região, país (subtotal) e grupo
(subtotal).

Essa medida ainda não entregou um resultado útil. Quando as


vendas de um grupo, país ou região são divididas por esse valor, é
gerada uma taxa útil conhecida como "porcentagem do total geral".

6. No painel Campos, verifique se a medida Vendas de todas as


regiões está selecionada e, na barra de fórmulas, substitua o nome
da medida e a fórmula pela seguinte fórmula:

 Dica

Para substituir a fórmula existente, primeiro copie o snippet. Em


seguida, clique dentro da barra de fórmulas e
pressione CTRL+A para selecionar todo o texto. Em seguida,
pressione CTRL+V para colar o snippet e substituir o texto
selecionado. Em seguida, pressione Enter.

DAXCopiar
Sales % All Region =
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(Region)
)
)

A medida foi renomeada para refletir com precisão a fórmula


atualizada. A função DIVIDE() divide a medida Vendas (não
modificada pelo contexto de filtro) pela medida Vendas em um
contexto modificado que remove todos os filtros aplicados à
tabela Região.

7. No visual de matriz, observe que a medida foi renomeada e que


agora valores diferentes são mostrados para cada grupo, país e
região.

8. Formate a medida % de vendas de todas as regiões como uma


porcentagem com duas casas decimais.

9. No visual da matriz, revise os valores da medida % de vendas de


todas as regiões.

10. Adicione outra medida à tabela Vendas, com base na seguinte


expressão, e formate-a como uma porcentagem:

DAXCopiar
Sales % Country =
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(Region[Region])
)
)

11. Observe que a fórmula da medida % de vendas por país difere


ligeiramente da fórmula da medida % de vendas de todas as
regiões.

A diferença é que o denominador modifica o contexto de filtro


removendo os filtros na coluna Region da tabela Region, não
todas as colunas da tabela Region. Isso significa que todos os
filtros aplicados às colunas grupo ou país são preservados. Isso gera
um resultado que representa as vendas como uma porcentagem do
país.

12. Adicione a medida % de vendas por país ao visual da matriz.

13. Observe que apenas as regiões dos Estados Unidos produzem um


valor que não é 100%.

Lembre-se de que somente os Estados Unidos têm várias regiões.


Todos os outros países têm uma única região, o que explica porque
todos eles têm 100%.

14. Para melhorar a legibilidade dessa medida no visual, substitua a


medida % de vendas por país por esta fórmula aprimorada.

DAXCopiar
Sales % Country =
IF(
ISINSCOPE(Region[Region]),
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(Region[Region]
)
)
)

Inserida na função IF(), a função ISINSCOPE() é usada para testar se


a coluna região é o nível em uma hierarquia. Quando ela tem o
valor true, a função DIVIDE() é avaliada. A ausência de uma parte
falsa significa que a função retorna o valor em branco quando a
coluna região não está no escopo.

15. Observe que a medida % de vendas por país agora retorna um


valor apenas quando a região está no escopo.

16. Adicione outra medida à tabela Vendas, com base na seguinte


expressão, e formate-a como uma porcentagem:

DAXCopiar
Sales % Group =
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(
Region[Region],
Region[Country]
)
)
)

Para alcançar vendas como uma porcentagem de grupo, dois filtros


podem ser aplicados para remover de maneira eficiente os filtros
em duas colunas.

17. Adicione a medida % de vendas por grupo ao visual da matriz.

18. Para melhorar a legibilidade dessa medida no visual, substitua a


medida % de vendas por grupo por esta fórmula aprimorada.

DAXCopiar
Sales % Group =
IF(
ISINSCOPE(Region[Region])
|| ISINSCOPE(Region[Country]),
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(
Region[Region],
Region[Country]
)
)
)
)

19. Observe que a medida % de vendas por grupo agora retorna um


valor apenas quando a região ou o país estão no escopo.

20. Em uma exibição Modelo, coloque as três novas medidas em uma


pasta de exibição nomeada Índices.

21. Salve o arquivo do Power BI Desktop.

As medidas adicionadas à tabela Vendas modificaram o contexto


de filtro para gerar uma navegação hierárquica. Observe que o
padrão para alcançar o cálculo de um subtotal requer a remoção de
algumas colunas do contexto de filtro e, para chegar no total geral,
todas as colunas devem ser removidas.

Exercício 2: Usar inteligência de dados temporais

Neste exercício, você criará uma medida de vendas YTD (desde o início do ano)
e uma medida de crescimento YoY (ano a ano).

Tarefa 1: Criar uma medida YTD

Nesta tarefa, você criará uma medida de vendas YTD.

1. Na exibição Relatório, na Página 2, observe o visual da matriz que


apresenta várias medidas com anos e meses agrupados nas linhas.

2. Adicione uma medida à tabela Vendas, com base na seguinte


expressão, e formate-a para zero casas decimais:
DAXCopiar
Sales YTD =
TOTALYTD(SUM(Sales[Sales]), 'Date'[Date], "6-30")

A função TOTALYTD() avalia uma expressão – neste caso, a soma da


coluna Vendas – de acordo com determinada coluna de data. A
coluna de data deve pertencer a uma tabela de data marcada como
uma tabela de data. A função também pode usar um terceiro
argumento opcional representando a última data de um ano. A
ausência dessa data significa que 31 de dezembro é a última data
do ano. Na Adventure Works, junho é o último mês do ano,
portanto, o argumento "6-30" é usado.

3. Adicione o campo Vendas e a medida Vendas YTD ao visual da


matriz.

4. Observe o acúmulo de valores de vendas durante o ano.

A função TOTALYTD() executa a manipulação de filtro,


especificamente manipulação de filtros de tempo. Por exemplo,
para computar vendas YTD para setembro de 2017 (terceiro mês do
ano fiscal), todos os filtros na tabela Data são removidos e
substituídos por um novo filtro de datas que começa no início do
ano (1º de julho de 2017) e estende-se até a última data do período
dentro do contexto (30 de setembro de 2017).

 Observação
Muitas funções de inteligência de dados temporais estão
disponíveis em DAX para dar suporte a manipulações de filtros de
tempo comuns.

Tarefa 2: Criar uma medida de crescimento YoY

Nesta tarefa, você criará uma medida de crescimento YoY.

1. Adicione uma medida à tabela Vendas, com base na seguinte


expressão:

DAXCopiar
Sales YoY Growth =
VAR SalesPriorYear =
CALCULATE(
SUM(Sales[Sales]),
PARALLELPERIOD(
'Date'[Date],
-12,
MONTH
)
)
RETURN
SalesPriorYear

A fórmula da medida Crescimento de vendas YoY declara uma


variável. As variáveis podem ser úteis para simplificar a lógica da
fórmula e são mais eficientes quando uma expressão precisa ser
avaliada diversas vezes dentro da fórmula (o que é o caso da lógica
de crescimento YoY). As variáveis são declaradas por um nome
exclusivo, e a expressão de medida deve ser emitida depois da
palavra-chave RETURN.

A variável SalesPriorYear recebe uma expressão que calcula a soma


da coluna Vendas em um contexto modificado que usa a função
PARALLELPERIOD() para deslocar 12 meses para trás de cada data
no contexto de filtro.

2. Adicione a medida Crescimento de vendas YoY ao visual da


matriz.

3. Observe que a nova medida retorna um valor em branco para os


primeiros 12 meses (não foram registradas vendas antes do ano
fiscal de 2017).

4. Observe que o valor da medida de Crescimento de vendas ano a


ano para julho de 2017 é o valor de Vendas para julho de 2018.
Agora que a "parte difícil" da fórmula foi testada, você pode
substituir a medida pela fórmula final que computa o resultado de
crescimento.

5. Para completar a medida, substitua a medida Crescimento de


vendas YoY por esta fórmula, formatando-a como uma
porcentagem com duas casas decimais:

DAXCopiar
Sales YoY Growth =
VAR SalesPriorYear =
CALCULATE(
SUM(Sales[Sales]),
PARALLELPERIOD(
'Date'[Date],
-12,
MONTH
)
)
RETURN
DIVIDE(
(SUM(Sales[Sales]) - SalesPriorYear),
SalesPriorYear
)

6. Na fórmula, na cláusula RETURN, observe que a variável é


referenciada duas vezes.

7. Verifique que o crescimento YoY para Julho de 2018 é


de 392,83%.
Isso significa que as vendas de julho de 2018 ($2.411.559)
representam um aumento de cerca de 400% (quase 4x) em relação
às vendas realizadas no ano anterior ($489.328).

8. Em uma exibição Modelo, coloque as duas novas medidas em uma


pasta de exibição chamada Inteligência de dados temporais.

9. Salve o arquivo do Power BI Desktop.


O DAX inclui muitas funções de inteligência de dados temporais
para facilitar a implementação de manipulações de filtro de tempo
em cenários de negócios comuns. Este exercício conclui o
desenvolvimento do modelo de dados.

Exercício 3: Publicar o arquivo do Power BI Desktop

Neste exercício, você publicará o arquivo do Power BI Desktop no Power BI.

 Observação

O exercício a seguir exigirá que você faça logon no serviço do Power BI. Você
pode usar sua conta existente ou criar uma conta de avaliação antes de iniciar
esta parte do laboratório.

Tarefa 1: Publicar o arquivo

Nesta tarefa, você publicará o arquivo do Power BI Desktop no Power BI.

1. Salve o arquivo do Power BI Desktop.

2. Para publicar o arquivo, na guia de faixa de opções Página Inicial,


dentro do grupo Compartilhar, clique em Publicar.

3. Na janela Publicar no Power BI, selecione o workspace de Análise


de Vendas.
4. Clique em Selecionar.

5. Quando o arquivo tiver sido publicado com êxito, clique


em Entendi.

6. Feche o Power BI Desktop.

7. No Edge, no serviço do Power BI, no painel Navegação (localizado


à esquerda), examine o conteúdo do seu workspace de Análise de
Vendas.

A publicação adicionou um relatório e um conjunto de dados. Se


você não os encontrar, pressione F5 para recarregar o navegador e
expanda o workspace novamente.

O modelo de dados foi publicado para se tornar um conjunto de


dados. O relatório, usado para testar seus cálculos de modelo, foi
adicionado como um relatório. Esse relatório não é obrigatório.
Portanto, você o excluirá agora.
8. Passe o cursor sobre o relatório de Análise de Vendas, clique nas
reticências verticais (…) e selecione Remover.

9. Quando você for solicitado a confirmar a exclusão, clique


em Excluir.
Resumo
Concluído100 XP
 3 minutos

Esse módulo iniciou sua jornada para entender o DAX. Você aprendeu a criar
colunas e medidas DAX simples, viu como elas funcionam e como escolher
quando fazer uma ou outra. Você aprendeu sobre contexto e como substituí-lo
pela função CALCULATE e sobre a inteligência de dados temporais e as medidas
semiaditivas. O domínio do DAX exigirá esforço e tempo, mas este módulo
forneceu um ótimo começo.
Introdução à otimização de
desempenho
Concluído100 XP
 3 minutos

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.

Você poderá descobrir 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, 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, o mau desempenho é resultado direto de
um modelo de dados inadequado, do mau uso da linguagem DAX (Data
Analysis Expressions) ou de uma combinação de ambos. O processo de elaborar
um modelo de dados de bom desempenho pode ser entediante e, geralmente,
é subestimado. No entanto, 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.
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
Concluído100 XP

 13 minutos

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.
Para otimizar o desempenho, primeiro você precisa 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, você pode tomar
medidas para resolver esses problemas e, assim, aprimorar o desempenho.

Identificar gargalos de desempenho no relatório

Para que seus relatórios tenham 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, você pode aprimorar ainda mais o modelo
analisando os planos de consulta e as dependências e, assim, fazendo
alterações para otimizar o desempenho.

Examine as medidas e consultas no modelo de dados para garantir que você


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, você pode se concentrar no maior
gargalo primeiro e pode estabelecer uma lista de prioridades para solucionar os
outros problemas.

Analisar o desempenho

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.

 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,
você 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 você 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, selecione 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.
Para obter informações mais detalhadas, confira Usar o Performance Analyzer
para examinar o desempenho do elemento de relatório.

Examinar os resultados

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.

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.
Os resultados do teste de análise ajudam você a entender o comportamento do
modelo de dados e a identificar os elementos que precisa otimizar. Você 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.

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.

Resolver problemas e otimizar o desempenho

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. Considere 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. Considere se você
realmente precisa de todos esses dados no visual. Talvez você 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.

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.

Por exemplo, selecione Copiar Consulta para copiar a fórmula de cálculo para a


área de transferência e cole-a no DAX Studio. Depois disso, você pode 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.

Copiar
Count Customers =
CALCULATE (
DISTINCTCOUNT ( Order[ProductID] ),
FILTER ( Order, Order[OrderQty] >= 5 )
)

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


experiência para identificar onde estão os problemas de desempenho. Você
também pode 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.

Copiar
Count Customers =
CALCULATE (
DISTINCTCOUNT ( Order[ProductID] ),
KEEPFILTERS (Order[OrderQty] >= 5 )
)

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.

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.

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.

As opções do Power Query incluem:

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

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

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

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

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

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

o Perfil da coluna – mostra mais estatísticas para a coluna


e um gráfico mostrando a distribuição dos itens
exclusivos.
 Observação

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 1.000 linhas > Criação de perfil de coluna com base em todo o
conjunto de dados.

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, vá


até Arquivo > Opções e configurações > Opçõ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
Concluído100 XP

 4 minutos

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

 Legibilidade aprimorada – as variáveis, que têm nomes curtos e


autodescritivos, são usadas no lugar de expressões ambíguas e com
muitas palavras. Talvez você ache mais fácil ler e entender as
fórmulas quando as variáveis são usadas.

 Depuração simplificada – você pode usar variáveis para depurar


uma fórmula e testar expressões, o que pode ser útil durante a
solução de problemas.

 Complexidade reduzida – as variáveis não exigem o uso das


funções DAX EARLIER ou EARLIEST, que são difíceis de entender.
Essas funções eram necessárias antes da introdução das variáveis e
foram escritas em expressões complexas que introduziam novos
contextos de filtro. Agora que você pode usar variáveis em vez
dessas funções, é possível escrever menos fórmulas complexas.

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

DAXCopiar
Sales YoY Growth =
DIVIDE (
( [Sales] - CALCULATE ( [Sales], PARALLELPERIOD ( 'Date'[Date], -12,
MONTH ) ) ),
CALCULATE ( [Sales], PARALLELPERIOD ( 'Date'[Date], -12, MONTH ) )
)

Com variável

DAXCopiar
Sales YoY Growth =
VAR SalesPriorYear =
CALCULATE ( [Sales], PARALLELPERIOD ( 'Date'[Date], -12, MONTH ) )
VAR SalesVariance =
DIVIDE ( ( [Sales] - SalesPriorYear ), SalesPriorYear )
RETURN
SalesVariance

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

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.

DAXCopiar
Sales YoY Growth % =
VAR SalesPriorYear = CALCULATE([Sales], PARALLELPERIOD('Date'[Date], -12,
MONTH))
VAR SalesPriorYear% = DIVIDE(([Sales] - SalesPriorYear), SalesPriorYear)
RETURN SalesPriorYear%

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
Concluído100 XP

 5 minutos

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.

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.

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. As opções de cardinalidade no Power BI são:

 Muitos para um (*:1) – 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.

 Um para um (1:1) – nesse tipo de relação, a coluna de uma tabela


tem apenas uma instância de um valor específico e a outra tabela
relacionada tem apenas uma instância de um valor específico.

 Um para muitos (1:*) – nesse tipo de relação, a coluna em uma


tabela tem apenas uma instância de um valor específico e a outra
tabela relacionada pode ter mais de uma instância de um valor.

 Muitos para muitos (:) – com modelos compostos, você pode


estabelecer uma relação de muitos para muitos entre as tabelas,
que remove os requisitos de valores exclusivos nas tabelas. Ela
também remove soluções alternativas anteriores, como introduzir
novas tabelas somente para estabelecer relações.
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.

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

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
Concluído100 XP

 8 minutos

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.

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.

Para obter informações mais detalhadas, confira Diretrizes de modelo do


DirectQuery no Power BI Desktop.

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

 É adequado em casos em que os dados mudam com frequência e


relatórios quase em tempo real são necessários.

 Pode lidar com um grande volume de dados sem a necessidade de


agregar previamente.

 Aplica restrições de soberania de dados para atender a requisitos


legais.

 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:

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

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

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

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

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

 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
garantir que esteja 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:

 Desempenho – conforme discutido anteriormente, a experiência


geral do usuário depende muito do desempenho da fonte de dados
subjacente.

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

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

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

 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 P
e R não têm suporte. Além disso, o uso do recurso Explorar no Excel
provavelmente levará a um desempenho mais lento.

Para obter informações mais detalhadas sobre as limitações do uso do


DirectQuery, confira Implicações do uso do DirectQuery.
Agora que 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.

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.

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:

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

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

Personalizar as opções de redução de consulta

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 Arquivo > Opções e configurações > Opçõ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:

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


para aplicar as alterações quando estiver pronto

o Adicionar um botão Aplicar ao painel de filtros para


aplicar as alterações de uma vez (versão prévia)
Criar e gerenciar agregações
Concluído100 XP

 5 minutos

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:
 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.

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

 Se você tiver um modelo de dados grande, as agregações poderão


ajudar a reduzir e manter o tamanho do modelo.

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

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, você 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:

 Se tiver acesso ao banco de dados, você poderá criar uma tabela


com a agregação e importá-la para o Power BI Desktop.
 Se tiver acesso ao banco de dados, você poderá criar uma exibição
para a agregação e importá-la para o Power BI Desktop.

 No Power BI Desktop, você pode 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.

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.
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.
Pode levar alguns minutos para que a agregação seja exibida, mas quando isso
ocorrer, você verá como os dados foram transformados. Os dados serão
agregados em cada data e você poderá ver os valores da contagem de pedidos
e a respectiva soma do valor das vendas e da quantidade do pedido.

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. Você também pode 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.

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

Para obter informações mais detalhadas sobre como criar e gerenciar


agregações, confira Usar agregações no Power BI Desktop.
Resumo
Concluído100 XP
 2 minutos

No cenário deste módulo, um dos modelos de dados do Power BI Desktop de


sua organização era ineficiente e estava causando problemas. Os usuários
estavam insatisfeitos com o desempenho do relatório e o tamanho do arquivo
do modelo era muito grande e, portanto, ele estava sobrecarregando os
recursos da organização.

Pediram a você que examine o modelo de dados para identificar a causa dos
problemas de desempenho e faça alterações para otimizar o desempenho e
reduzir o tamanho do modelo.
O Power BI Desktop fornece uma variedade de ferramentas e recursos para você
analisar e otimizar o desempenho dos modelos de dados. Você iniciou o
processo de otimização usando o Performance Analyzer e outras ferramentas
para examinar o desempenho de medidas, relações e visuais e fez
aprimoramentos com base nos resultados da análise. Em seguida, você usou
variáveis para escrever cálculos menos complexos e mais eficientes. Depois,
você observou com mais detalhes a distribuição da coluna e reduziu a
cardinalidade de suas relações. Nessa fase, o modelo de dados estava mais
otimizado. Você considerou como a situação seria diferente se a organização
usasse um modelo do DirectQuery e identificou como otimizar o desempenho
no Power BI Desktop e no banco de dados de origem. Por fim, você usou
agregações para reduzir significativamente o tamanho do modelo de dados.

Se o Power BI Desktop não oferecesse a oportunidade de otimizar modelos de


dados ineficientes, você precisaria gastar muito tempo em suas diferentes
fontes de dados para aprimorar os dados nelas. Em particular, sem
o Performance Analyzer, você não teria identificado as causas dos problemas
de desempenho nos relatórios nem os gargalos nas consultas que precisavam
ser eliminados. Como resultado, os usuários ficariam frustrados e desmotivados
e poderiam evitar o uso dos relatórios.

Agora que você otimizou o relatório, os usuários podem acessar os dados de


que precisam com maior rapidez, tornando-se mais produtivos e tendo maior
satisfação no trabalho. A redução feita no tamanho do arquivo do modelo
aliviará a sobrecarga sobre os recursos, trazendo uma variedade de benefícios
para a organização. Você concluiu com êxito a tarefa que recebeu.

Usar o Performance Analyzer para examinar o desempenho do elemento de


relatório

Aplicar data/hora automática no Power BI Desktop

Técnicas de redução de dados para a modelagem de importação

Diretrizes de modelo do DirectQuery no Power BI Desktop

Usar agregações no Power BI Desktop

Você também pode gostar