Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Introdução
Concluído100 XP
5 minutos
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.
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.
Esquemas em estrela
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.
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.
Na guia Formatação, é possível:
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:
Resumir os dados.
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
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
Se você não tiver uma tabela de dados de origem, use outras maneiras de criar
uma tabela de data comum.
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])
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
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.
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.
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.
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.
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’])
6 minutos
É 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
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.
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.
DAXCopiar
Path = PATH(Employee[Employee ID], Employee[Manager ID])
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 você nivelou com êxito uma hierarquia para permitir a exibição de níveis
individuais.
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.
4 minutos
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.
Alterar a granularidade de dados para criar uma relação entre duas tabelas
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.
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.
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])
5 minutos
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
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.
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.
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.
2 minutos
Dependências de relação
Por exemplo, considere que você tem esta coluna calculada Total na tabela
Sales.
45 minutos
Esta unidade inclui um laboratório a ser concluído.
Iniciar laboratório
Dica
Criar hierarquias
História do laboratório
Observação
Tarefa 1: Introdução
Importante
4. Escolha Abrir Relatório.
5. Selecione Procurar Relatórios.
8. Selecione Abrir.
9. Feche todas as janelas informativas que possam ser abertas.
14. Selecione Salvar.
Dica
Observação
17. Selecione OK.
Observação
Dica
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.
Neste exercício, você vai configurar cada tabela criando hierarquias e ocultando,
formatando e categorizando colunas.
Dica
o Grupo
o País
o Região
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
o Country-Region como País/Região
o State-Province como Estado ou Província
o City como Cidade
3. Selecione a coluna Quantity.
5. Selecione a coluna Unit Price.
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.
o Product | Standard Cost
o Sales | Cost
o Sales | Sales
8. Selecione OK.
Nesta tarefa, você criará duas medidas rápidas para calcular a margem de lucro
e o lucro.
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.
Dica
Tarefa 2: Conclusão
Aviso
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
45 minutos
Esta unidade inclui um laboratório a ser concluído.
Iniciar laboratório
Dica
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.
História do laboratório
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.
Neste exercício, você criará uma relação muitos para muitos entre as
tabelas Salesperson e Sales.
Tarefa 1: Introdução
Importante
4. Escolha Abrir Relatório.
5. Selecione Procurar Relatórios.
8. Selecione Abrir.
14. Selecione Salvar.
Nesta tarefa, você criará uma relação muitos para muitos entre as
tabelas Salesperson e Sales.
o Salesperson | Salesperson
o Sales | Sales
o Salesperson | EmployeeKey para SalespersonRegion
| EmployeeKey
o Region | SalesTerritoryKey para SalespersonRegion |
SalesTerritoryKey
11. Selecione OK.
17. Selecione OK.
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.
10. Selecione Salvar.
14. Selecione OK.
Tarefa 2: Conclusão
Aviso
Encerramento do laboratório
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
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.
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.
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:
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 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.
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.
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.
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 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
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.
A definição da medida DAX não foi alterada; ela ainda é a original, conforme
mostrado no seguinte exemplo:
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
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:
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]))
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.
Iniciar laboratório
Dica
Criar medidas
Dica
o IDFuncionário
o ChaveFuncionário
o UPN
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.
DAXCopiar
Year =
o Trimestre
o Mês
5. Para validar os cálculos, alterne para a exibição Relatório.
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.
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.
DAXCopiar
MonthKey =
o Ano
o Trimestre
o Mês
o Vendas | DataPedido
o Destinos | MêsDestino
5. Clique em OK.
Observação
Nesta tarefa, você criará medidas simples. As medidas simples agregam uma
única coluna ou tabela.
DAXCopiar
Avg Price = AVERAGE(Sales[Unit Price])
o Preço Mediano
o Preço Mín.
o Preço Máx.
o Pedidos
o Linhas de Pedidos
o Preço Mediano
o Preço Mín.
o Preço Máx.
o Pedidos
o Linhas de Pedidos
Nesta tarefa, você criará medidas adicionais que usam expressões mais
complexas.
Dica
DAXCopiar
Target =
IF(
HASONEVALUE('Salesperson (Performance)'[Salesperson]),
SUM(Targets[TargetAmount])
Dica
7. Oculte a coluna ValorDestino.
o Variância
o Margem de variância
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.
Conclusão
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]
)
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.
45 minutos
Esta unidade inclui um laboratório a ser concluído.
Iniciar laboratório
Dica
Nesta tarefa, você criará um visual de matriz para testar suas novas medidas.
Nesta tarefa, você criará várias medidas com expressões DAX que usam a
função CALCULATE() para manipular o contexto de filtro.
DAXCopiar
Sales All Region =
CALCULATE(SUM(Sales[Sales]), REMOVEFILTERS(Region))
Dica
DAXCopiar
Sales % All Region =
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(Region)
)
)
DAXCopiar
Sales % Country =
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(Region[Region])
)
)
DAXCopiar
Sales % Country =
IF(
ISINSCOPE(Region[Region]),
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(Region[Region]
)
)
)
DAXCopiar
Sales % Group =
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(
Region[Region],
Region[Country]
)
)
)
DAXCopiar
Sales % Group =
IF(
ISINSCOPE(Region[Region])
|| ISINSCOPE(Region[Country]),
DIVIDE(
SUM(Sales[Sales]),
CALCULATE(
SUM(Sales[Sales]),
REMOVEFILTERS(
Region[Region],
Region[Country]
)
)
)
)
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).
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.
DAXCopiar
Sales YoY Growth =
VAR SalesPriorYear =
CALCULATE(
SUM(Sales[Sales]),
PARALLELPERIOD(
'Date'[Date],
-12,
MONTH
)
)
RETURN
SalesPriorYear
DAXCopiar
Sales YoY Growth =
VAR SalesPriorYear =
CALCULATE(
SUM(Sales[Sales]),
PARALLELPERIOD(
'Date'[Date],
-12,
MONTH
)
)
RETURN
DIVIDE(
(SUM(Sales[Sales]) - SalesPriorYear),
SalesPriorYear
)
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.
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
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.
Você precisa examinar o modelo de dados para identificar a causa raiz dos
problemas de desempenho e fazer alterações para otimizá-lo.
13 minutos
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.
Analisar o desempenho
Examinar os resultados
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.
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.
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
Copiar
Count Customers =
CALCULATE (
DISTINCTCOUNT ( Order[ProductID] ),
FILTER ( Order, Order[OrderQty] >= 5 )
)
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.
Metadados
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.
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.
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
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.
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%
5 minutos
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.
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.
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.
8 minutos
É 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):
Otimizar o desempenho
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.
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.
5 minutos
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
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:
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.
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
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.