Este Início Rápido destina-se a utilizadores novos a Power Pivot no Excel ou projetos de modelo em tabela criados no SQL Server Data Tools. Destina-se a dar-lhe uma introdução rápida e fácil sobre como pode utilizar o DAX (Data Analysis Expressions) para resolver uma série de problemas analíticos e de modelação de dados básicos. Este tópico inclui informações conceptuais, uma série de tarefas que pode concluir e alguns questionários para testar o que aprendeu. Depois de concluir este tópico, deve ter uma boa compreensão dos conceitos fundamentais mais básicos no DAX.
O que é o DAX?
O DAX é uma coleção de funções, operadores e constantes que podem ser utilizadas numa fórmula, ou expressão, para calcular e devolver um ou mais valores. Dito de forma mais simples, o DAX ajuda-o a criar novas informações a partir de dados já existentes no seu modelo.
Porque é que o DAX é tão importante?
É fácil criar um livro e importar alguns dados para o mesmo. Pode até criar tabelas dinâmicas ou gráficos dinâmicos que apresentem informações importantes sem utilizar fórmulas DAX. Mas e se precisar de analisar dados de vendas críticos em várias categorias de produtos e para intervalos de datas diferentes? Em alternativa, precisa de combinar dados de inventário importantes de várias tabelas em diferentes origens de dados? As fórmulas DAX também fornecem esta capacidade e muitas outras capacidades importantes. Aprender a criar fórmulas DAX eficazes irá ajudá-lo a tirar o máximo partido dos seus dados. Quando obtém as informações de que precisa, pode começar a resolver problemas empresariais reais que afetam a sua linha de fundo. Isto é Business Intelligence e o DAX irá ajudá-lo a chegar lá.
Pré-requisitos
Poderá já estar familiarizado com a criação de fórmulas no Microsoft Excel. Esse conhecimento será útil na compreensão do DAX, mas mesmo que não tenha experiência com fórmulas do Excel, os conceitos aqui descritos irão ajudá-lo a começar a criar fórmulas DAX e a resolver problemas de BI no mundo real imediatamente.
Vamos concentrar-nos especificamente na compreensão das fórmulas DAX utilizadas nos cálculos. Já deve estar familiarizado com conceitos fundamentais de colunas calculadas e medidas (também conhecidos como campos calculados), ambos descritos no Power Pivot Ajuda. Também deve estar familiarizado com a Power Pivot no ambiente e ferramentas de criação do Excel.
Livro de Exemplo
A melhor forma de aprender DAX é criar algumas fórmulas básicas, utilizá-la com alguns dados reais e ver os resultados por si próprio. Os exemplos e as tarefas aqui utilizados utilizam o livro da Formulas.xlsx DAX de Exemplo da Contoso. Pode transferir o livro a partir de http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Depois de transferir o livro para o seu computador, abra-o e, em seguida, abra a janela Power Pivot.
Vamos começar!
Vamos enquadrar o DAX em torno de três conceitos fundamentais muito importantes: Sintaxe, Funções e Contexto. Claro que existem outros conceitos importantes no DAX, mas compreender estes três conceitos proporcionará a melhor base para criar as suas competências DAX.
Sintaxe
Antes de criar as suas próprias fórmulas, vamos ver a sintaxe da fórmula DAX. A sintaxe inclui os vários elementos que compõem uma fórmula ou, mais simplesmente, como a fórmula é escrita. Por exemplo, vamos analisar uma fórmula DAX simples utilizada para criar novos dados (valores) para cada linha numa coluna calculada, denominada Margem, numa tabela FactSales: (as cores do texto da fórmula são apenas para fins ilustrativos)
A sintaxe desta fórmula inclui os seguintes elementos:
-
O operador de sinal de igual (=) indica o início da fórmula e, quando esta fórmula é calculada, devolverá um resultado ou valor. Todas as fórmulas que calculam um valor começarão com um sinal de igual.
-
A coluna referenciada [SalesAmount] contém os valores dos quais queremos subtrair. Uma referência de coluna numa fórmula está sempre entre parênteses retos []. Ao contrário das fórmulas do Excel que referenciam uma célula, uma fórmula DAX referencia sempre uma coluna.
-
O operador matemático de subtração (-).
-
A coluna referenciada [TotalCost] contém os valores que queremos subtrair dos valores na coluna [SalesAmount].
Ao tentar compreender como ler uma fórmula DAX, muitas vezes é útil dividir cada um dos elementos numa linguagem que pensa e fala todos os dias. Por exemplo, pode ler esta fórmula como:
Na tabela FactSales, para cada linha na coluna calculada Margem, calcule (=) um valor ao subtrair (-) valores na coluna [TotalCost] dos valores na coluna [SalesAmount].
Vamos analisar outro tipo de fórmula, que é utilizado numa medida:
Esta fórmula inclui os seguintes elementos de sintaxe:
-
O nome da medida Soma do Montante de Vendas. As fórmulas para medidas podem incluir o nome da medida, seguido de dois pontos, seguido da fórmula de cálculo.
-
O operador de sinal de igual (=) indica o início da fórmula de cálculo. Quando calculado, devolverá um resultado.
-
A função SOMA soma todos os números na coluna [SalesAmount]. Irá saber mais sobre as funções mais tarde.
-
Os parênteses () rodeiam um ou mais argumentos. Todas as funções requerem, pelo menos, um argumento. Um argumento transmite um valor a uma função.
-
A tabela referenciada FactSales.
-
A coluna referenciada [SalesAmount] na tabela FactSales. Com este argumento, a função SOMA sabe em que coluna agregar uma SOMA.
Pode ler esta fórmula como:
Para a medida denominada Soma do Montante de Vendas, calcule (=) a SOMA dos valores na coluna [ SalesAmount ] na tabela FactSales .
Quando colocada na zona pendente Valores numa Lista de Campos de Tabela Dinâmica, esta medida calcula e devolve valores definidos por cada célula na tabela dinâmica, por exemplo, Telemóveis nos EUA.
Repare que existem alguns aspetos diferentes nesta fórmula em comparação com a fórmula que utilizámos para a coluna calculada Margem. Em particular, introduzimos uma função, SOMA. As funções são fórmulas pré-escritas que tornam mais fácil efetuar cálculos e manipulações complexos com números, datas, hora, texto e muito mais. Irá saber mais sobre as funções mais tarde.
Ao contrário da coluna calculada Margem anterior, vê que a coluna [SalesAmount] foi precedida pela tabela FactSales na qual a coluna pertence. Isto é conhecido como um nome de coluna completamente qualificado, na medida em que inclui o nome da coluna precedido pelo nome da tabela. As colunas referenciadas na mesma tabela não requerem que o nome da tabela seja incluído na fórmula. Isto pode tornar as fórmulas longas que referenciam muitas colunas mais curtas e fáceis de ler. No entanto, é uma boa prática incluir sempre o nome da tabela nas fórmulas de medida, mesmo quando estiver na mesma tabela.
Nota: Se o nome de uma tabela contiver espaços, palavras-chave reservadas ou carateres não permitidos, tem de colocar o nome da tabela entre plicas. Também tem de incluir nomes de tabela entre aspas se o nome contiver carateres fora do intervalo de carateres alfanuméricos ANSI, independentemente de a região suportar ou não o conjunto de carateres.
É muito importante que as suas fórmulas tenham a sintaxe correta. Na maioria dos casos, se a sintaxe não estiver correta, será devolvido um erro de sintaxe. Noutros casos, a sintaxe pode estar correta, mas os valores devolvidos podem não ser o esperado. Power Pivot (e o SQL Server Data Tools) inclui o IntelliSense; uma funcionalidade utilizada para criar fórmulas sintaticamente corretas ajudando-o a selecionar os elementos corretos.
Vamos criar uma fórmula simples. Esta tarefa irá ajudá-lo a compreender melhor a sintaxe da fórmula e como a funcionalidade IntelliSense na barra de fórmulas pode ajudá-lo.
Tarefa: criar uma fórmula simples para uma coluna calculada
-
Se ainda não estiver na janela Power Pivot, no Excel, no friso Power Pivot, clique em Power Pivot Janela.
-
Na janela Power Pivot, clique na tabela FactSales (separador).
-
Desloque-se para a coluna mais à direita e, em seguida, no cabeçalho da coluna, clique em Adicionar Coluna.
-
Clique na barra de fórmulas na parte superior da janela do estruturador de modelos.
O cursor aparece agora na barra de fórmulas. A barra de fórmulas é onde pode escrever uma fórmula para uma coluna calculada ou um campo calculado.
Vamos analisar os três botões à esquerda da barra de fórmulas.
Quando o cursor está ativo na barra de fórmulas, esses três botões ficam ativos. O botão mais à esquerda, o X, é simplesmente um botão cancelar. Clique no mesmo. O cursor já não aparece na barra de fórmulas e o botão cancelar e o botão de marca de verificação já não aparecem. Clique novamente na barra de fórmulas. O botão cancelar e o botão de marca de verificação reaparecem agora. Isto significa que está pronto para começar a introduzir uma fórmula.
O botão de marca de verificação é o botão verificar fórmula. Não faz muito até introduzir uma fórmula. Voltaremos a isso daqui a pouco.
Clique no botão Fx . Verá que é apresentada uma nova caixa de diálogo; a caixa de diálogo Inserir Função. A caixa de diálogo Inserir Função é a forma mais fácil de começar a introduzir uma fórmula DAX. Vamos adicionar uma função a uma fórmula quando criarmos uma medida um pouco mais tarde, mas, por agora, não precisa de adicionar uma função à fórmula de coluna calculada. Feche a caixa de diálogo Inserir Função.
-
Na barra de fórmulas, escreva um sinal de igual =e, em seguida, escreva um parêntese reto de abertura [. Verá que é apresentada uma pequena janela com todas as colunas na tabela FactSales. Este é o IntelliSense em ação.
Uma vez que as colunas calculadas são sempre criadas na tabela ativa em que se encontra, não é necessário preceder o nome da coluna com o nome da tabela. Vá em frente e desloque-se para baixo e, em seguida, faça duplo clique em [QuantidadeDeVendas]. Também pode deslocar para o nome da coluna que pretende e, em seguida, premir a Tecla de Tabulação.
O cursor está agora ativo à direita de [SalesQuantity].
-
Escreva um espaço e, em seguida, escreva um operador de subtração - (um sinal de subtração) e, em seguida, escreva outro espaço.
-
Agora, escreva outro parêntese reto de abertura [. Desta vez, selecione a coluna [ReturnQuantity] e, em seguida, prima Enter.
Se receber um erro, observe cuidadosamente a sintaxe. Se necessário, compare-a com a fórmula na coluna calculada Margem descrita anteriormente.
Depois de premir Enter para concluir a fórmula, a palavra Calcular aparece na barra de estado ao longo da parte inferior da janela Power Pivot. Vai rapidamente, apesar de calcular novos valores para mais de três milhões de linhas.
-
Clique com o botão direito do rato no cabeçalho da coluna e mude o nome da coluna NetSales.
Já está! Acabou de criar uma fórmula DAX simples, mas muito poderosa. Para cada linha na tabela FactSales, a fórmula NetSales calcula um valor ao subtrair o valor na coluna [ReturnQuantity] do valor na coluna [SalesQuantity]. Repare como acabamos de dizer "Para cada linha". Este é um vislumbre de outro conceito muito importante no DAX; contexto de linha. Irá saber mais sobre o contexto de linha mais tarde.
Algo realmente importante a compreender ao escrever um operador numa fórmula DAX é o tipo de dados nos argumentos que está a utilizar. Por exemplo, se escrevesse a seguinte fórmula, = 1 & 2, o valor devolvido seria um valor de texto de "12". Isto deve-se ao facto de o operador de e comercial (&) se destinar à concatenação de texto. O DAX interpreta esta fórmula para ler: Calcular um resultado ao utilizar o valor 1 como texto e adicionar o valor 2 como texto. Agora, se escrever = 1 + 2, o DAX lê esta fórmula como: Calcular um resultado ao utilizar o valor numérico 1 e ao adicionar o valor numérico 2. O resultado é, naturalmente, "3", um valor numérico. O DAX calcula os valores resultantes consoante o operador na fórmula, não com base no tipo de dados das colunas utilizadas no argumento. Os tipos de dados no DAX são muito importantes, mas fora do âmbito deste Guia de Introdução. Para saber mais sobre tipos de dados e operadores em fórmulas DAX, consulte Referência da DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) no Books Online.
Vamos tentar outra. Desta vez, irá criar uma medida ao escrever a fórmula e ao utilizar o IntelliSense. Não se preocupe muito se não compreender totalmente a fórmula. O importante aqui é aprender a criar uma fórmula com vários elementos em conjunto na sintaxe correta.
Tarefa: Criar uma fórmula de medida
-
Na tabela FactSales , clique em qualquer célula vazia na Área de Cálculo. Esta é a área de células vazias imediatamente abaixo de uma tabela na janela Power Pivot.
-
Na barra de fórmulas, escreva o nome Vendas do Trimestre Anterior:.
-
Escreva um sinal de igual = para iniciar a fórmula de cálculo.
-
Escreva as primeiras letras CAL e, em seguida, faça duplo clique na função que pretende utilizar. Nesta fórmula, quer utilizar a função CALCULATE .
-
Escreva um parêntese de abertura ( para iniciar os argumentos a serem transmitidos para a função CALCULATE.
Repare que depois de escrever os parênteses de abertura, o IntelliSense mostra-lhe os argumentos necessários para a função CALCULATE. Irá aprender um pouco sobre os argumentos.
-
Escreva as primeiras letras da tabela FactSales e, em seguida, na lista pendente, faça duplo clique em FactSales[Vendas].
-
Escreva uma vírgula (,) para especificar o primeiro filtro e, em seguida, escreva PRE e, em seguida, faça duplo clique na função PREVIOUSQUARTER .
Depois de selecionar a função PREVIOUSQUARTER, é apresentado outro parêntese de abertura, que indica que é necessário outro argumento; desta vez, para a função PREVIOUSQUARTER.
-
Escreva as primeiras letras Dim e, em seguida, faça duplo clique em DimDate[DateKey].
-
Feche o argumento que está a ser transmitido para a função PREVIOUSQUARTER e a função CALCULATE ao escrever dois parênteses de fecho )).
A sua fórmula deverá ter o seguinte aspeto:
Vendas do Trimestre Anterior:=CALCULATE(FactSales[Vendas], PREVIOUSQUARTER(DimDate[DateKey]))
-
Clique no botão verificar fórmula na barra de fórmulas para validar a fórmula. Se receber um erro, verifique cada elemento da sintaxe.
Foste tu! Acabou de criar uma medida com o DAX e não é fácil. O que esta fórmula irá fazer é calcular o total de vendas do trimestre anterior, consoante os filtros aplicados numa Tabela Dinâmica ou gráfico dinâmico.
Acabou de ser apresentado a vários aspetos importantes das fórmulas DAX. Primeiro, esta fórmula incluía duas funções. Repare que a função PREVIOUSQUARTER está aninhada como um argumento transmitido para a função CALCULATE . As fórmulas DAX podem conter até 64 funções aninhadas. É improvável que uma fórmula contenha tantas funções aninhadas. Na verdade, tal fórmula seria muito difícil de criar e depurar, e provavelmente também não seria muito rápida.
Nesta fórmula, também utilizou filtros. Os filtros restringem o que será calculado. Neste caso, selecionou um filtro como argumento, que na verdade é outra função. Irá saber mais sobre os filtros mais tarde.
Por fim, utilizou a função CALCULATE. Esta é uma das funções mais poderosas do DAX. À medida que cria modelos de dados e cria fórmulas mais complexas, provavelmente utilizará esta função muitas vezes. Discutir a função CALCULATE está fora do âmbito deste Início Rápido, mas à medida que o seu conhecimento sobre o DAX aumenta, preste especial atenção a este.
Nota: Normalmente, para utilizar funções de Análise de Tempo em fórmulas DAX, tem de especificar uma coluna de data exclusiva utilizando a caixa de diálogo Marcar como Tabela de Datas. No livro Samples.xlsx fórmula DAX da Contoso, a coluna DateKey na tabela DimDate é selecionada como a coluna de data exclusiva.
Crédito Extra
Pode estar a perguntar: "Qual é a fórmula DAX mais simples que posso criar?" Bem, a resposta a isso é "a fórmula que não tens de fazer". E é exatamente isso que pode fazer ao utilizar uma função de agregação padrão numa medida. Quase todos os modelos de dados precisam de filtrar e calcular dados agregados. Por exemplo, a função SOMA na medida Soma do Montante de Vendas que viu anteriormente é utilizada para somar todos os números numa coluna específica. O DAX inclui várias outras funções que também agregam valores. Pode criar fórmulas automaticamente com agregações padrão com a funcionalidade Soma Automática.
Tarefa de Crédito Adicional: criar uma fórmula de medida com a funcionalidade Soma Automática
-
Na tabela FactSales, desloque-se para a coluna ReturnQuantity e, em seguida, clique no cabeçalho da coluna para selecionar toda a coluna.
-
No separador Base , no friso , no grupo Cálculos, clique no botão Soma Automática .
Clique na seta para baixo junto a Soma Automática e, em seguida, clique em Média (repare nas outras funções de agregação padrão que também pode utilizar).
Imediatamente, é criada uma nova medida com o nome Average of ReturnQuantity: seguido da fórmula =AVERAGE([ReturnQuantity]).
Não foi assim tão fácil? Claro que nem todas as fórmulas que criar serão tão simples. No entanto, ao utilizar a funcionalidade Soma Automática, pode criar fórmulas rápidas e fáceis através de cálculos de agregação padrão.
Isto deve dar-lhe uma boa compreensão da sintaxe utilizada nas fórmulas DAX. Também lhe foram apresentadas algumas funcionalidades muito interessantes, como o IntelliSense e o AutoSum, para o ajudar a criar fórmulas rápidas, fáceis e precisas. Claro que há muito mais que pode aprender sobre sintaxe. Um bom local para saber mais é a Referência da DAX ou sqL Books Online.
Sintaxe QuickQuiz
-
O que faz este botão na barra de fórmulas?
-
O que rodeia sempre um nome de coluna numa fórmula DAX?
-
Como escreveria uma fórmula para o seguinte:
na tabela DimProduct, para cada linha na coluna calculada UnitMargin, calcularia um valor ao subtrair valores na coluna UnitCost dos valores na colunaUnitPrice?
As respostas são fornecidas no final deste tópico.
Funções
As funções são fórmulas predefinidas que executam cálculos com valores específicos, denominados argumentos, numa determinada ordem ou estrutura. Os argumentos podem ser outras funções, outra fórmula, referências de coluna, números, texto, valores lógicos como VERDADEIRO ou FALSO ou constantes.
O DAX inclui as seguintes categorias de funções: Data e Hora, Informações, Lógica, Matemática, Estatística, Texto e Funções de Análise de Tempo. Se estiver familiarizado com funções em fórmulas do Excel, muitas das funções no DAX serão semelhantes a si; No entanto, as funções DAX são exclusivas das seguintes formas:
-
Uma função DAX referencia sempre uma coluna completa ou uma tabela. Se quiser utilizar apenas valores específicos de uma tabela ou coluna, pode adicionar filtros à fórmula.
-
Se precisar de personalizar cálculos numa base linha a linha, o DAX fornece funções que lhe permitem utilizar o valor de linha atual ou um valor relacionado como um tipo de argumento, para realizar cálculos que variam contextualmente. Irá saber mais sobre o contexto mais tarde.
-
O DAX inclui muitas funções que devolvem uma tabela em vez de um valor. A tabela não é apresentada, mas é utilizada para fornecer entrada a outras funções. Por exemplo, pode obter uma tabela e, em seguida, contar os valores distintos na mesma ou calcular somas dinâmicas entre tabelas ou colunas filtradas.
-
O DAX inclui uma variedade de funções de análise de tempo. Estas funções permitem-lhe definir ou selecionar intervalos de datas e efetuar cálculos dinâmicos com base nos mesmos. Por exemplo, pode comparar somas entre períodos paralelos.
Por vezes, é difícil saber quais as funções que poderá ter de utilizar numa fórmula. Power Pivot, e o estruturador de modelos tabulares no SQL Server Data Tools, incluem a funcionalidade Inserir Função, uma caixa de diálogo que o ajuda a selecionar funções por categoria e fornece breves descrições para cada função.
Vamos criar uma nova fórmula que inclua uma função que irá selecionar com a funcionalidade Inserir Função:
Tarefa: Adicionar uma função a uma fórmula com a Função Insert
-
Na tabela FactSales, desloque-se para a coluna mais à direita e, em seguida, no cabeçalho da coluna, clique em Adicionar Coluna.
-
Na barra de fórmulas, escreva um sinal de igual, =.
-
Clique no botão Inserir Função . Esta ação abre a caixa de diálogo Inserir Função .
-
Na caixa de diálogo Inserir Função , clique na caixa de listagem Selecionar uma categoria . Por predefinição, Está selecionado Tudo e todas as funções na categoria Todos estão listadas abaixo. São muitas funções, pelo que vai querer filtrar as funções para facilitar a localização do tipo de função que procura.
-
Para esta fórmula, quer devolver alguns dados que já existem noutra tabela. Para tal, vai utilizar uma função na categoria Filtro. Clique na categoria Filtro e, em seguida, em Selecionar uma função, desloque-se para baixo e faça duplo clique na função RELATED. Clique em Ok para fechar a caixa de diálogo Inserir Função .
-
Utilize o IntelliSense para o ajudar a encontrar e selecionar a coluna DimChannel[ChannelName].
-
Feche a fórmula e, em seguida, prima Enter.
-
Depois de premir Enter para concluir a fórmula, a palavra Calcular aparece na barra de estado ao longo da parte inferior da janela Power Pivot. Agora verá que acabou de criar uma nova coluna na tabela FactSales com informações de canal da tabela DimChannel.
-
Mude o nome da coluna Canal.
A sua fórmula deverá ter o seguinte aspeto: =RELATED(DimChannel[ChannelName])
Acabou de ser apresentado a outra função muito importante no DAX, a função RELATED . A função RELATED devolve valores de outra tabela. Pode utilizar RELATED desde que exista uma relação entre a tabela em que se encontra e a tabela que contém os valores que pretende obter. Claro que a função RELATED tem imensas possibilidades. Neste caso, agora pode incluir o canal de vendas para cada venda na tabela FactSales. Agora, pode ocultar a tabela DimChannel da lista de campos da Tabela Dinâmica, tornando mais fácil navegar e ver apenas as informações mais importantes de que realmente precisa. Tal como a função CALCULATE descrita anteriormente, a função RELATED é muito importante e provavelmente irá utilizá-la muitas vezes.
Como pode ver, as funções no DAX podem ajudá-lo a criar fórmulas muito poderosas. Na verdade, só abordámos as noções básicas das funções. À medida que as suas competências da DAX melhoram, irá criar fórmulas com várias funções diferentes. Um dos melhores locais para aprender detalhes sobre todas as funções DAX está na Referência da DAX (Data Analysis Expressions).
QuickQuiz das Funções
-
O que é que uma função referencia sempre?
-
Uma fórmula pode conter mais do que uma função?
-
Que categoria de funções utilizaria para concatenar duas cadeias de texto numa cadeia?
As respostas são fornecidas no final deste tópico.
Contexto
O contexto é um dos conceitos da DAX mais importantes a compreender. Existem dois tipos de contexto no DAX; contexto de linha e contexto de filtro. Primeiro, vamos analisar o contexto de linha.
Contexto de Linha
O contexto de linha é mais facilmente considerado como a linha atual. Por exemplo, lembre-se da coluna calculada Margem que viu anteriormente quando aprendeu sobre sintaxe? A fórmula =[SalesAmount] - [TotalCost] calcula um valor na coluna Margem para cada linha na tabela. Os valores de cada linha são calculados a partir de valores em duas outras colunas, [SalesAmount] e [TotalCost] na mesma linha. O DAX pode calcular os valores de cada linha na coluna Margem porque tem o contexto: Para cada linha, utiliza valores na coluna [TotalCost] e subtrai-os dos valores na coluna [SalesAmount].
Na célula selecionada apresentada abaixo, o valor 49,54 $ na linha atual foi calculado ao subtrair o valor $51,54 na coluna [TotalCost] do valor $101,08 na coluna [SalesAmount].
O contexto de linha não se aplica apenas às colunas calculadas. O contexto de linha também se aplica sempre que uma fórmula tem uma função que aplica filtros para identificar uma única linha numa tabela. A função aplicará inerentemente um contexto de linha para cada linha da tabela sobre a qual está a filtrar. Este tipo de contexto de linha aplica-se mais frequentemente a medidas.
Contexto de Filtro
O contexto de filtro é um pouco mais difícil de compreender do que o contexto de linha. Pode pensar mais facilmente no contexto de filtro como: Um ou mais filtros aplicados num cálculo que determina um resultado ou valor.
O contexto de filtro não existe em vez do contexto de linha; em vez disso, aplica-se para além do contexto de linha. Por exemplo, para restringir ainda mais os valores a incluir num cálculo, pode aplicar um contexto de filtro que não só especifica o contexto de linha, como também especifica apenas um determinado valor (filtro) nesse contexto de linha.
O contexto de filtro é facilmente visto em Tabelas Dinâmicas. Por exemplo, quando adiciona TotalCost à área Valores e, em seguida, adiciona Ano e Região à Linha ou Colunas, está a definir um contexto de filtro que seleciona um subconjunto de dados com base num determinado ano e região.
Porque é que o contexto de filtro é tão importante para o DAX? Uma vez que, embora o contexto de filtro possa ser aplicado mais facilmente ao adicionar etiquetas de colunas e linhas e segmentações de dados numa tabela dinâmica, o contexto de filtro também pode ser aplicado numa fórmula DAX ao definir um filtro através de funções como ALL, RELATED, FILTER, CALCULATE, por relações e por outras medidas e colunas. Por exemplo, vamos ver a seguinte fórmula numa medida denominada StoreSales:
É evidente que esta fórmula é mais complexa do que algumas das outras fórmulas que viu. No entanto, para compreender melhor esta fórmula, podemos decompo-la, tal como fizemos com outras fórmulas.
Esta fórmula inclui os seguintes elementos de sintaxe:
-
O nome da medida StoreSales, seguido de dois pontos :.
-
O operador de sinal de igual (=) indica o início da fórmula.
-
A função CALCULATE avalia uma expressão, como um argumento, num contexto que é modificado pelos filtros especificados.
-
Os parênteses () rodeiam um ou mais argumentos.
-
Uma medida [Vendas] na mesma tabela que uma expressão. A medida Vendas tem a fórmula: =SOMA(FactSales[SalesAmount]).
-
Uma vírgula (,) separa cada filtro.
-
A coluna referenciada e um valor específico, DimChannel[ChannelName] ="Store", como um filtro.
Esta fórmula irá garantir que apenas os valores de vendas, definidos pela medida Vendas, como um filtro, são calculados apenas para linhas na coluna DimChannel[ChannelName] com o valor "Store", como um filtro.
Como pode imaginar, ser capaz de definir o contexto de filtro numa fórmula tem uma capacidade imensa e poderosa. Ser capaz de referenciar apenas um determinado valor numa tabela relacionada é apenas um desses exemplos. Não se preocupe se não compreender completamente o contexto imediatamente. À medida que cria as suas próprias fórmulas, compreenderá melhor o contexto e por que motivo é tão importante no DAX.
QuickQuiz de Contexto
-
Quais são os dois tipos de contexto?
-
O que é o contexto de filtro?
-
O que é o contexto de linha?
As respostas são fornecidas no final deste tópico.
Resumo
Agora que tem uma compreensão básica dos conceitos mais importantes no DAX, pode começar a criar fórmulas DAX para colunas calculadas e medidas por conta própria. O DAX pode, de facto, ser um pouco complicado de aprender, mas existem muitos recursos disponíveis para si. Depois de ler este tópico algumas vezes e experimentar algumas das suas próprias fórmulas, pode saber mais sobre outros conceitos e fórmulas DAX que podem ajudá-lo a resolver os seus próprios problemas empresariais. Existem muitos recursos DAX disponíveis para si no Power Pivot Ajuda, SQL Server Books Online, documentos técnicos e blogues da Microsoft e principais profissionais de BI. O Wiki do Centro de Recursos da DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) é um ótimo local para começar. A Referência do DAX (Data Analysis Expressions) também é um excelente recurso. Certifique-se de que o guarda nos seus Favoritos.
O DAX no documento técnico Modelo Tabular de BI, disponível para transferência (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) fornece uma análise mais detalhada dos conceitos aqui apresentados, bem como de muitos outros conceitos e fórmulas avançados. Este documento técnico também utiliza o mesmo exemplo da Contoso DAX Formulas.xlsx livro que já tem.
Respostas QuickQuiz
Sintaxe:
-
Abre a funcionalidade Inserir Função.
-
Parênteses retos [].
-
=[PreçoUnitário] - [UnitCost]
Funções:
-
Uma tabela e uma coluna.
-
Sim. Uma fórmula pode conter até 64 funções aninhadas.
Contexto:
-
Contexto de linha e contexto de filtro.
-
Um ou mais filtros num cálculo que determina um único valor.
-
A linha atual.