Guia de Introdução: Noções Básicas sobre o DAX em 30 Minutos

Nota:  Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Este Guia de Introdução destina-se a utilizadores que não estejam familiarizados com o PowerPivot no Excel ou com projetos de modelos tabulares criados no SQL Server Data Tools. Destina-se a fornecer-lhe uma introdução rápida e fácil sobre como pode utilizar DAX (Data Analysis Expressions) para resolver vários problemas de modelação e análise de dados. Este tópico inclui informações conceptuais, uma série de tarefas que pode efetuar e alguns questionários para testar o que aprendeu. Após concluir este tópico, deverá dominar os conceitos fundamentais mais básicos do DAX.

O que é o DAX?

O DAX é uma coleção de funções, operadores e constantes que podem ser utilizados numa fórmula ou numa expressão para calcular e devolver um ou mais valores. Por outras palavras, o DAX ajuda-o a criar informações novas a partir de dados já existentes no seu modelo.

Por que é o DAX tão importante?

É fácil criar um livro e importar alguns dados para este. É mesmo possível criar Tabelas Dinâmicas ou Gráficos Dinâmicos que apresentam informações importantes sem utilizar qualquer fórmula do DAX. Mas o que acontece se necessitar de analisar dados críticos de vendas ao longo de várias categorias de produtos e para intervalos de datas diferentes? Ou se necessitar de combinar importantes dados de inventário provenientes de várias tabelas em origens de dados diferentes? As fórmulas do DAX fornecem esta possibilidade, entre muitas outras. Aprender a criar fórmulas do DAX eficazes irá ajudá-lo a tirar o máximo partido dos seus dados. Quando obtiver as informações de que necessita, poderá começar a resolver problemas empresariais reais que afetam os seus lucros. Isto é Business Intelligence e o DAX irá ajudá-lo a dominá-la.

Pré-requisitos

Poderá já estar familiarizado com a criação de fórmulas no Microsoft Excel. Esse conhecimento será útil para compreender o DAX, mas mesmo que não tenha qualquer experiência de utilização de fórmulas do Excel, os conceitos aqui descritos ajudá-lo-ão a começar a criar fórmulas do DAX e resolver problemas de BI do mundo real imediatamente.

Vamos concentrar-se especificamente sobre fórmulas do DAX Noções sobre utilizadas nos cálculos. Já deve estar familiarizado com conceitos fundamentais de colunas calculadas e medidas (também conhecido como campos calculados), sendo que ambos descritos no PowerPivot ajuda. Também deve estar familiarizado com o PowerPivot no Excel ambiente e ferramentas de criação.

Livro de exemplo

A melhor forma de aprender a trabalhar com o DAX é criar algumas fórmulas básicas, utilizá-las com alguns dados reais e ver os resultados por si próprio. Os exemplos e as tarefas aqui contidos utilizam o livro Contoso Sample DAX Formulas.xlsx. Pode transferir o livro a partir de http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Depois de ter transferido o livro para o computador, abra-o e, em seguida, abra a janela PowerPivot.

Vamos Começar!

Vamos irá moldura DAX à volta de três conceitos fundamentais muito importantes: sintaxe, funções e contexto. Obviamente, existem outras conceitos importantes no DAX, mas Noções sobre estes três conceitos irá fornecer a melhor Fundação na qual pretende criar os seus conhecimentos do DAX.

Sintaxe

Antes de criar as suas próprias fórmulas, vamos observar a sintaxe de fórmulas do DAX. A sintaxe inclui os vários elementos que compõem uma fórmula ou, por outras palavras, o modo como a fórmula é escrita. Por exemplo, vamos observar uma fórmula simples do DAX utilizada para criar dados novos (valores) para cada linha numa coluna calculada, chamada Margin, numa tabela FactSales: (as cores do texto das fórmulas são apenas para fins de ilustração)

Fórmula de coluna calculada

A sintaxe desta fórmula inclui os seguintes elementos:

  1. O operador de sinal de igual (=) indica o início da fórmula e, quando esta fórmula for calculada, irá devolver um resultado ou um valor. Todas as fórmulas que calculam um valor irão começar com um sinal de igual.

  2. A coluna referenciada [SalesAmount] contém os valores aos quais pretendemos subtrair. Uma referência de coluna numa fórmula é sempre escrita entre parênteses retos []. Contrariamente às fórmulas do Excel, que referenciam uma célula, uma fórmula do DAX referencia sempre uma coluna.

  3. O operador matemático de subtração (-).

  4. A coluna referenciada [TotalCost] contém os valores que pretendemos subtrair aos valores existentes na coluna [SalesAmount].

Ao tentar ler uma fórmula do DAX, é frequentemente útil dividir cada um dos elementos num idioma que conheça e utilize todos os dias. Por exemplo, esta fórmula pode ser lida como:

Na FactSales tabela, para cada linha da coluna calculada Margin, calcular (=) um valor subtraindo (-) os valores na [ TotalCost ] coluna dos valores existentes na [ SalesAmount ] coluna.

Vamos observar outro tipo de fórmula utilizada numa medida:

Fórmula de coluna calculada

Esta fórmula inclui os seguintes elementos de sintaxe:

  1. O nome de medida Sum of Sales Amount. Fórmulas para medidas podem incluir o nome de medida, seguido por dois pontos, seguido da fórmula de cálculo.

  2. O operador de sinal de igual (=) indica o início da fórmula de cálculo. Quando calculada, irá devolver um resultado.

  3. A função SUM adiciona todos os números existentes na coluna [SalesAmount]. Irá obter mais informações sobre as funções mais tarde.

  4. Um ou mais argumentos escritos entre parênteses (). Todas as funções necessitam pelo menos de um argumento. Um argumento transmite um valor a uma função.

  5. A tabela referenciada FactSales.

  6. A coluna referenciada [SalesAmount] na tabela FactSales. Com este argumento, a função SUM sabe em que coluna deve agregar o SUM.

Esta fórmula pode ser lida como:

Para o medida denominado Sum of Sales Amount, calcular (=) o SUM dos valores na [ SalesAmount ] coluna a FactSales tabela.

Quando colocado na zona de uma lista de campos da tabela dinâmica de colocação dos valores, esta medida calcula e devolve valores definidos por cada célula de tabela dinâmica, por exemplo, telemóveis nos EUA.

Repare que existem algumas coisas diferentes sobre esta fórmula em comparação comparada a fórmula que é utilizada da coluna calculada Margin. Em particular, podemos introduzida uma função, soma. Funções são previamente escritas fórmulas que tornam mais fácil efetuar cálculos complexos e manipulações com números, datas, horas, texto e mais. Vai aprender mais sobre as funções mais tarde.

Ao contrário da coluna calculada Margin versões anteriores, vê que a coluna [SalesAmount] foi precedida por FactSales a tabela na qual pertence a coluna. Isto é conhecido como um nome de coluna completamente qualificada em que inclui o nome da coluna precedido pelo nome da tabela. Colunas referenciadas na mesma tabela não requer o nome da tabela serão incluídas na fórmula. Isto pode tornar longas fórmulas que fazem referência muitas colunas endereço mais curtos e fácil de ler. No entanto, é aconselhável incluir sempre o nome da tabela nas fórmulas de medida, mesmo quando na mesma tabela.

Nota: Se o nome de uma tabela contiver espaços, palavras-chave reservadas ou carateres não permitidos, terá de escrever o nome da tabela entre plicas. Também tem de escrever os nomes das tabelas entre aspas se o nome contiver quaisquer carateres fora do intervalo de carateres alfanuméricos ANSI, independentemente do facto de a sua região suportar ou não o conjunto de carateres.

É muito importante que as fórmulas tenham a sintaxe correta. Na maior parte dos casos, se a sintaxe não estiver correta, será devolvido um erro de sintaxe. Noutros casos, a sintaxe poderá estar correta, mas os valores devolvidos poderão não ser os esperados. O PowerPivot (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 ajudá-lo-á a compreender melhor a sintaxe das fórmulas e o modo como a funcionalidade IntelliSense da barra de fórmulas poderá ajudá-lo.

Tarefa: Criar uma fórmula simples para uma coluna calculada

  1. Se ainda não está na janela PowerPivot, no Excel, no friso do PowerPivot, clique em Janela do PowerPivot.

  2. Na janela PowerPivot, clique na tabela FactSales (separador).

  3. Desloque-se para a coluna mais à direita e, no cabeçalho da coluna, clique em Adicionar Coluna.

  4. Clique na barra de fórmulas existente na parte superior da janela do estruturador de modelos.

    Barra de Fórmulas do PowerPivot

    O cursor aparece agora na barra de fórmulas. A barra de fórmulas é o local onde pode introduzir uma fórmula para uma coluna calculada ou um campo calculado.

    Vamos observar os três botões localizados do lado esquerdo da barra de fórmulas.

    Formula bar

    Quando o cursor está ativo na barra de fórmulas, estes três botões ficam ativos. O botão mais à esquerda, o X, é apenas um botão de cancelar. Clique nele. O cursor deixa de aparecer na barra de fórmulas e o botão cancelar e o botão de marca de verificação deixam de aparecer. Clique na barra de fórmulas novamente. O botão cancelar e o botão de marca de verificação reaparecem. Isto significa que está pronto para começar a introduzir uma fórmula.

    O botão de marca de verificação destina-se a verificar as fórmulas. Este botão não tem grande utilidade até ter introduzido uma fórmula. Regressaremos a ele um pouco mais tarde.

    Clique no botão Fx . Verá que é apresentada uma caixa de diálogo Novo; caixa de diálogo Inserir função. A caixa de diálogo Inserir função é a forma mais fácil para começar a introduzir uma fórmula DAX. Adicionaremos uma função numa fórmula quando criamos uma medida um pouco mais tarde, mas por agora, é necessário adicionar uma função para a fórmula de coluna calculada. Ir para a frente e feche a caixa de diálogo Inserir função.

  5. Na barra de fórmulas, escreva um sinal de igual =e, em seguida, escreva um parêntese reto de abertura [. Verá que é apresentada uma janela pequena com todas as colunas da tabela FactSales. Isto é o IntelliSense em ação.

    Visto 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. Desloque-se para baixo e faça duplo clique em [SalesQuantity]. Também poderá deslocar-se para o nome da coluna pretendida e, em seguida, premir a tecla de Tabulação.

    O cursor está agora ativo à direita da [SalesQuantity].

  6. Escreva um espaço e, em seguida, introduza um operador de subtração - (um sinal de subtração) e outro espaço.

  7. Agora, escreva outro Parêntese Reto de abertura [. Desta vez, selecione a [ReturnQuantity] coluna e, em seguida, prima Enter.

    Se obtiver um erro, observe cuidadosamente a sintaxe. Se for necessário, compare-a com a fórmula existente na coluna calculada Margin descrita anteriormente.

    Depois de premir Enter para concluir a fórmula, a palavra A calcular aparece na barra de estado na parte inferior da janela PowerPivot. Esta palavra desaparece rapidamente, mesmo que tenha acabado de calcular valores novos para mais de três milhões de linhas.

  8. Clique com o botão direito do rato no cabeçalho da coluna e mude o nome desta para NetSales.

Já está! Que acabou de criar uma fórmula DAX simple e poderoso muito. Para cada linha na tabela FactSales, a fórmula NetSales calcula um valor subtraindo o valor na coluna [ReturnQuantity] do valor na coluna [SalesQuantity]. Repare como podemos apenas disse "para cada linha". Esta é uma antevisão do outro conceito muito importante no DAX; contexto de linha. Vai aprender mais sobre contexto de linha mais tarde.

Algo realmente importantes para compreender ao escrever um operador numa fórmula DAX é o tipo de dados nos argumentos que está a utilizar. Por exemplo, se fosse a escrever a fórmula seguinte, = 1 e 2, o valor devolvido seria um valor de texto de "12". Isto é porque o operador ' e ' comercial (&) para concatenação de texto. DAX interpreta esta fórmula para ler: calcular um resultado ao efetuar o valor 1 como texto e adicionar o valor 2 como texto. Agora, se fosse escrever = 1 + 2, DAX lê esta fórmula como: calcular um resultado ao efetuar o valor numérico 1 e adicione o valor numérico 2. O resultado é claramente "3", um valor numérico. DAX calcula valores resultante consoante o operador na fórmula, não com base no tipo de dados de colunas utilizadas no argumento. Tipos de dados no DAX são muito importante, mas fora do âmbito neste guia. Para saber mais sobre tipos de dados e operadores em fórmulas do DAX, consulte a referência DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) no Books Online.

Vamos experimentar outro. Desta vez, irá criar uma medida escrevendo a fórmula e utilizando o IntelliSense. Não se preocupe demasiado se totalmente não compreender a fórmula. É importante é aqui saber como criar uma fórmula utilizando vários elementos em conjunto na sintaxe correta.

Tarefa: Criar uma fórmula de medida

  1. 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 PowerPivot.

Área de Cálculo do PowerPivot

  1. Na barra de fórmulas, escreva o nome Previous Quarter Sales.

  2. Escreva um sinal de igual = para iniciar a fórmula de cálculo.

  3. Comece a escrever CAL e, em seguida, faça duplo clique na função que pretende utilizar. Nesta fórmula, pretende utilizar a função CALCULATE.

  4. Introduza um parêntese de abertura ( para iniciar os argumentos a transmitir à função CALCULATE.

    Note que, depois de escrever o parêntese de abertura, o IntelliSense mostra os argumentos necessários para a função CALCULATE. Irá obter mais informações sobre os argumentos um pouco mais tarde.

  5. Escreva as primeiras letras da tabela FactSales e, em seguida, na lista pendente, faça duplo clique em FactSales[Vendas].

  6. Escreva uma vírgula (,) para especificar o primeiro filtro, escreva PRE e, em seguida, faça duplo clique na função PREVIOUSQUARTER.

    Após selecionar a função PREVIOUSQUARTER, é apresentado outro parêntese de abertura, indicando que é necessário outro argumento; desta vez, para a função PREVIOUSQUARTER.

  7. Escreva as primeiras letras Dim e, em seguida, faça duplo clique em DimDate[Chavededata].

  8. Feche o argumento que está a ser transmitido à função PREVIOUSQUARTER e a função CALCULATE escrevendo dois parênteses de fecho)).

    Neste momento, a sua fórmula deverá ter o aspeto seguinte:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Clique no botão verificar fórmula na barra de fórmulas para validar a fórmula. Se obtiver um erro, verifique cada elemento de sintaxe.

Fez! Que acabou de criar uma medida de DAX e não fácil uma em que a utilizar. O que vai fazer esta fórmula é calcular o total de vendas do trimestre anterior, dependendo os filtros aplicados numa tabela dinâmica ou gráfico dinâmico.

Apenas foram introduzidas a vários aspetos importantes de fórmulas do DAX. Em primeiro lugar, esta fórmula incluída duas funções. Repare que a função PREVIOUSQUARTER está aninhada como argumento transmitido à função CALCULATE . Fórmulas do DAX podem conter até 64 funções aninhadas. Não é provável que uma fórmula nunca iria conter tantas funções aninhadas. Na verdade, essa fórmula seria muito difícil criar e depurar e provavelmente seria muito rápida quer.

Nesta fórmula, também utilizou filtros. Os filtros restringem o que será calculado. Neste caso, selecionou um filtro como um argumento, que é na realidade outra função. Irá obter mais informações sobre filtros mais tarde.

Finalmente, utilizou a função CALCULATE. Esta é uma das funções mais poderosas do DAX. À medida que for criando modelos de dados e fórmulas mais complexas, é provável que utilize esta função muitas vezes. Discutir a função CALCULATE está fora do âmbito deste Guia de Introdução mas, à medida que for aumentando os seus conhecimentos sobre o DAX, preste atenção especial a esta função.

Nota: Normalmente, para utilizar as funções de Análise de Tempo em fórmulas do DAX, tem de especificar uma coluna de data exclusiva utilizando a caixa de diálogo Marcar como Tabela de Data. No livro Contoso DAX Formula Samples.xlsx, a coluna DateKey da tabela DimDate está selecionada como coluna de data exclusiva.

Crédito Adicional

Poderá estar a perguntar: 'O que é a fórmula DAX mais simples que pode criar'? Bem, a resposta que é 'a fórmula que não tem de'. E, que é exatamente o que pode fazer utilizando uma função de agregação padrão numa medida. Necessita de praticamente qualquer modelo de dados filtrar e calcular dados agregado. Por exemplo, a função de soma na medida Sum of Sales Amount que viu anterior é utilizada para somar todos os números numa coluna específico. A linguagem DAX inclui outras funções que agregam valores também. Pode criar automaticamente através de agregações padrão, utilizando a funcionalidade de soma automática de fórmulas.

Tarefa de crédito adicional: Criar uma fórmula de medida utilizando a funcionalidade de soma automática

  1. Na tabela FactSales, desloque-se para a coluna ReturnQuantity e, em seguida, clique no cabeçalho da coluna para selecionar toda a coluna.

  2. No separador base , no Friso, no grupo cálculos , clique no botão Soma automática .

Soma Automática no PowerPivot

Clique na seta para baixo junto a Soma automática e, em seguida, clique em média (aviso de funções de agregação padrão também pode utilizar,).

Imediatamente, uma nova medida é criada com o nome da média de ReturnQuantity: seguido a fórmula = AVERAGE([ReturnQuantity]).

Não podia ser mais fácil! Obviamente, nem todas as fórmulas criadas serão tão simples. No entanto, utilizando a funcionalidade Soma Automática, é possível criar fórmulas de modo rápido e fácil utilizando cálculos de agregação padrão.

Isto deverá permitir-lhe dominar a sintaxe utilizada nas fórmulas do DAX. Ficou também a conhecer algumas funcionalidades fantásticas, como o IntelliSense e a Soma Automática, que o ajudarão a criar fórmulas rápidas, fáceis e exatas. É óbvio que poderá aprender muito mais sobre a sintaxe. Um bom local para obter mais informações é a Referência do DAX ou o SQL Books Online.

Questionário rápido sobre sintaxe

  1. O que faz este botão na barra de fórmulas?
    botão Função

  2. O que rodeia sempre o nome de uma coluna numa fórmula do DAX?

  3. Como pretende escrever uma fórmula para o seguinte:
    na DimProduct tabela, para cada linha da UnitMargin coluna calculada, calcular um valor subtraindo valores na CustoUnitário coluna a partir de valores na da colunaUnitPrice ?

As respostas são fornecidas no final deste tópico.

Funções

As funções são fórmulas predefinidas que efetuam cálculos utilizando valores específicos, chamados argumentos, especificados numa ordem ou estrutura específica. Os argumentos podem ser outras funções, outra fórmula, referências de coluna, números, texto e valores lógicos, como TRUE ou FALSE, ou constantes.

DAX inclui as seguintes categorias das 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 irão aparecer semelhantes ao que; No entanto, as funções do DAX são exclusivas das seguintes formas:

  • Uma função do DAX referencia sempre uma coluna ou tabela completa. Se pretende utilizar apenas valores específicos de uma tabela ou coluna, pode adicionar filtros à fórmula.

  • Se necessitar de personalizar os cálculos numa base linha a linha, o DAX fornece funções que lhe permitem utilizar o valor da linha atual ou um valor relacionado como um tipo de argumento, para efetuar cálculos que variam em função do contexto. Irá obter mais informações 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 para outras funções. Por exemplo, poderá obter uma tabela e contar os valores distintos existentes nesta, ou calcular somas dinâmicas em tabelas ou colunas filtradas.

  • A linguagem DAX inclui uma variedade de funções de análise de tempo. Estas funções permitem-lhe definir ou selecione intervalos de datas e efetuar cálculos dinâmicos com base nos mesmos. Por exemplo, pode comparar somas em períodos paralelos.

Por vezes é difícil saber que funciona, poderá ter de utilizar uma fórmula. PowerPivot e o designer de modelo de tabela no ferramentas de dados do SQL Server, incluem a funcionalidade Inserir função, uma caixa de diálogo que ajuda a seleccionar funções por categoria e fornece breves descrições para cada função.

Inserir Função

Vamos criar uma nova fórmula que inclui uma função que irá selecionar utilizando a funcionalidade Inserir Função:

Tarefa: Adicionar uma função numa fórmula utilizando a Inserir função

  1. Na tabela FactSales, desloque-se para a coluna mais à direita e, em seguida, no cabeçalho da coluna, clique em Adicionar coluna.

  2. Na barra de fórmulas, escreva um sinal de igual, =.

  3. Clique no botão Inserir função. Inserir Função Esta ação abre a caixa de diálogo Inserir função.

  4. Na caixa de diálogo Inserir função, clique na caixa de lista Selecione uma categoria. Por predefinição, todos os está selecionada e todas as funções na categoria de todos os estão indicadas abaixo. Muitas funções, que é, pelo que pretende filtrar as funções para que seja mais fácil de localizar o tipo de função que procura.

  5. Para esta fórmula que pretende devolver alguns dados que já existem na outra tabela. Para que, passar para utilizar uma função na categoria de filtro. Seguir em frente e clique na categoria de filtro e, em seguida, em selecionar uma função, desloque para baixo e faça duplo clique sobre a função relacionada. Clique em Ok para fechar a caixa de diálogo Inserir função.

  6. Utilize o IntelliSense para o ajudar a localizar e selecionar a coluna DimChannel [ChannelName].

  7. Feche a fórmula e prima Enter.

  8. Depois de premir Enter para completar a fórmula, a palavra calcular aparece na barra de estado na parte inferior da janela do PowerPivot. Agora irá ver que que acabou de criar uma nova coluna na tabela FactSales com informações de canal a partir da tabela DimChannel.

  9. Mudar o nome da coluna para Channel.

    Sua fórmula deverá ter este aspeto: =RELATED(DimChannel[ChannelName])

Apenas foram introduzidas para outra função muito importante no DAX, a função relacionado . A função relacionada devolve valores da outra tabela. Pode utilizar relacionado desde há uma relação entre a tabela que se encontra atualmente e a tabela que contém os valores que pretende obter. Obviamente, a função relacionada tem possibilidades grande. 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 que necessita realmente. Assim como a função CALCULATE descrita anteriormente, a função relacionada é muito importante e provavelmente serão utilizá-lo muitas vezes.

Como pode ver, funções no DAX podem ajudar a criar fórmulas muito poderosas. Vamos realmente apenas processadas sobre os princípios básicos de funções. Tal como a melhorar o seus conhecimentos DAX, irá criar fórmulas utilizando muitas das funções diferentes. Uma das melhores locais para saber mais detalhes sobre todas as funções do DAX é na referência (DAX Data Analysis Expressions).

Questionário rápido sobre funções

  1. O que referencia sempre uma função?

  2. Uma fórmula pode conter mais de uma função?

  3. Que categoria de funções deve utilizar para concatenar duas cadeias de texto numa cadeia?

As respostas são fornecidas no final deste tópico.

Contexto

Contexto é um dos conceitos DAX mais importantes para compreender. Existem dois tipos de contexto no DAX; contexto de linha e contexto de filtro. Vamos abordar contexto de linha pela primeira vez.

Contexto de Linha

Para facilitar, pense no contexto de linha como a linha atual. Por exemplo, lembra-se da coluna calculada Margin que viu anteriormente quando aprendeu o que é a sintaxe? A fórmula = [SalesAmount] - [TotalCost] calcula um valor na coluna Margin para cada linha da tabela. Os valores de cada linha são calculados a partir dos valores existentes em duas outras colunas, [SalesAmount] e [TotalCost], na mesma linha. O DAX pode calcular os valores para cada linha da coluna Margin porque conhece o contexto: para cada linha, utiliza os valores existentes na coluna [TotalCost] e subtrai-os dos valores existentes na coluna [SalesAmount].

Na célula selecionada mostrada abaixo, o valor $49,54 existente na linha atual foi calculado subtraindo o valor $51,54 existente na coluna [TotalCost] do valor $101,08 existente na coluna [SalesAmount].

Contexto de linha no PowerPivot

Contexto de linha apenas não se aplica aos colunas calculadas. Contexto de linha também se aplica sempre que uma fórmula tem uma função que se aplica filtros para identificar uma única linha numa tabela. A função implicitamente aplicará um contexto de linha para cada linha da tabela através da qual é filtragem. Este tipo de contexto de linha aplica-se com mais frequência para medidas.

Contexto de Filtro

O contexto de filtro é um pouco mais difícil de compreender que o contexto de linha. Pode mais facilmente pensar no contexto de filtro como um ou mais filtros aplicados a um cálculo que determina um resultado ou valor.

O contexto de filtro não existe em substituição do contexto de linha; em vez disso, é aplicado adicionalmente ao contexto de linha. Por exemplo, para reduzir os valores a incluir num cálculo, pode aplicar um contexto de filtro que especifique não apenas o contexto de linha, mas também apenas um valor específico (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 Year e Region a Linhas ou Colunas, está a definir um contexto de filtro que seleciona um subconjunto de dados baseado num ano e numa região específicos.

Porque é que é contexto de filtro DAX tão importante? Uma vez que, enquanto o contexto de filtro mais facilmente pode ser aplicado ao Adicionar coluna e etiquetas de linha e segmentações de dados numa tabela dinâmica, contexto de filtro também pode ser aplicado numa fórmula do DAX, pelo que define um filtro utilizando funções como tudo, relacionado, FILTRAR, calcular, por relações, e por outras medidas e colunas. Por exemplo, vamos ver a seguinte fórmula numa medida denominada StoreSales:

Fórmula

Esta fórmula é obviamente mais complexa do que qualquer uma das fórmulas que já viu até agora. No entanto, para compreender melhor esta fórmula, poderemos dividi-la, tal como fizemos com outras fórmulas.

Esta fórmula inclui os seguintes elementos de sintaxe:

  1. O nome de medida StoreSales, seguido por dois pontos:.

  2. O operador de sinal de igual (=) indica o início da fórmula.

  3. A função CALCULATE avalia uma expressão, como um argumento, num contexto modificado pelos filtros especificados.

  4. Um ou mais argumentos escritos entre parênteses ().

  5. Uma medida [Sales] na mesma tabela como uma expressão. A medida de vendas tem a fórmula: = SUM(FactSales[SalesAmount]).

  6. Um ponto e vírgula (,) separa cada filtro.

  7. A coluna referenciada e um valor específico, DimChannel [ChannelName] = "Store", como um filtro.

Esta fórmula irá garantir apenas valores de vendas, definidos pela medida de vendas, como um filtro, são calculados apenas para linhas, na coluna DimChannel [ChannelName] com o valor "Store", como um filtro.

Como pode imaginar, o facto se ser possível definir o contexto de filtro numa fórmula tem uma capacidade imensa e poderosa. Poder referenciar apenas um valor específico numa tabela relacionada é apenas um por exemplo disto. Não se preocupe se não compreender imediatamente o que é o contexto. À medida que for criando fórmulas personalizadas, irá compreender melhor o que é o contexto e o motivo pelo qual é tão importante no DAX.

Questionário rápido sobre contexto

  1. Quais são os dois tipos de contexto?

  2. O que é contexto de filtro?

  3. O que é contexto de linha?

As respostas são fornecidas no final deste tópico.

Resumo

Agora que tem um Noções básicas sobre dos conceitos mais importantes no DAX, pode começar a criar fórmulas para colunas e medidas calculadas do DAX. DAX facto pode ser um pouco difícil saber mais, mas existem muitos recursos disponíveis para si. Depois de leitura através deste tópico algumas vezes e experiências com algumas das suas próprias fórmulas, pode saber mais sobre outros conceitos de DAX e fórmulas que podem ajudar a resolver problemas do seu próprio negócio. Existem muitos recursos do DAX disponíveis para o utilizador na PowerPivot ajuda, SQL Server Books Online, documentos técnicos e blogues da Microsoft e profissionais de BI à esquerda. Wiki de centro de recursos do DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) é um ótimo local para começar. A referência de expressões de análise de dados (DAX) também é um ótimo recurso. Certifique-se de que guarde-o no seus favoritos.

O documento DAX no Modelo Tabular de BI, disponível para transferência (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x816) oferece uma visão mais detalhada sobre os conceitos apresentados aqui, bem como sobre muitos outros conceitos e fórmulas avançados. Este documento também utiliza o livro Contoso DAX Sample Formulas.xlsx.

Respostas do questionário rápido

Sintaxe:

  1. Abre a funcionalidade Inserir Função.

  2. Parênteses Retos [].

  3. = [PreçoUnitário] - [CustoUnitário]

Funções:

  1. Uma tabela e uma coluna.

  2. Sim. Uma fórmula pode conter até 64 funções aninhadas.

  3. Funções de texto.

Contexto:

  1. Contexto de linha e contexto de filtro.

  2. Um ou mais filtros num cálculo que determina um único valor.

  3. A linha atual.

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×