Cenários DAX no PowerPivot

Esta secção fornece ligações a exemplos que demonstram a utilização de fórmulas DAX nos seguintes cenários.

  • Realização de cálculos complexos

  • Trabalhar com texto e datas

  • Valores condicionais e testes de erros

  • Usando inteligência do tempo

  • Ranking e valores de comparação

Neste artigo

Introdução

Visite o DAX Resource Center Wiki onde pode encontrar todo o tipo de informações sobre o DAX, incluindo blogs, amostras, whitepapers e vídeos fornecidos por profissionais líderes da indústria e microsoft.

Cenários: Realização de Cálculos Complexos

As fórmulas DAX podem realizar cálculos complexos que envolvem agregações personalizadas, filtragem e o uso de valores condicionais. Esta secção fornece exemplos de como começar com cálculos personalizados.

Criar cálculos personalizados para uma Tabela Dinâmica

CALCULAR e CALCULARQUADRO são funções poderosas e flexíveis que são úteis para definir campos calculados. Estas funções permitem alterar o contexto em que o cálculo será realizado. Também pode personalizar o tipo de agregação ou operação matemática para realizar. Consulte os seguintes tópicos, por exemplo.

Aplicar um filtro a uma fórmula

Na maioria dos locais onde uma função DAX toma uma tabela como argumento, normalmente pode passar numa tabela filtrada, quer utilizando a função FILTER em vez do nome da mesa, quer especificando uma expressão de filtro como um dos argumentos de função. Os seguintes tópicos fornecem exemplos de como criar filtros e como os filtros afetam os resultados das fórmulas. Para mais informações, consulte Filter Data em Fórmulas DAX.

A função FILTER permite especificar os critérios do filtro utilizando uma expressão, enquanto as outras funções são concebidas especificamente para filtrar valores em branco.

Remova os filtros seletivamente para criar uma relação dinâmica

Ao criar filtros dinâmicos em fórmulas, pode facilmente responder a questões como:

  • Qual foi a contribuição das vendas do produto atual para o total das vendas do exercício?

  • Quanto é que esta divisão contribuiu para os lucros totais de todos os anos de exploração, em comparação com outras divisões?

As fórmulas que utiliza num PivotTable podem ser afetadas pelo contexto PivotTable, mas pode alterar seletivamente o contexto adicionando ou removendo filtros. O exemplo no tema ALL mostra-lhe como fazê-lo. Para encontrar o rácio de vendas para um revendedor específico sobre as vendas para todos os revendedores, cria-se uma medida que calcula o valor para o contexto atual dividido pelo valor para o contexto ALL.

O tópico ALLEXCEPT fornece um exemplo de como limpar filtros seletivamente numa fórmula. Ambos os exemplos explicam como os resultados mudam dependendo do design da Tabela Pivot.

Para outros exemplos de como calcular rácios e percentagens, consulte os seguintes tópicos:

Usando um valor de um loop exterior

Além de utilizar valores do contexto atual nos cálculos, o DAX pode utilizar um valor a partir de um ciclo anterior na criação de um conjunto de cálculos relacionados. O tópico seguinte fornece uma passagem de como construir uma fórmula que referencia um valor a partir de um loop exterior. A função EANTERIOR suporta até dois níveis de laços aninhados.

Para saber mais sobre o contexto de linha e tabelas relacionadas, e como usar este conceito em fórmulas, consulte Context in DAX Formulas.

Cenários: Trabalhar com Texto e Datas

Esta secção fornece ligações a tópicos de referência DAX que contêm exemplos de cenários comuns envolvendo trabalhar com texto, extrair e compor valores de data e hora, ou criar valores com base numa condição.

Criar uma coluna chave por concatenação

Power Pivot não permite chaves compostas; portanto, se tiver chaves compostas na sua fonte de dados, poderá ter de as combinar numa única coluna de teclas. O tópico seguinte fornece um exemplo de como criar uma coluna calculada com base numa chave composta.

Componha uma data com base em peças de data extraídas de uma data de texto

Power Pivot usa um tipo de dados de data/hora do Servidor SQL para trabalhar com datas; portanto, se os seus dados externos contiverem datas formatadas de forma diferente -- por exemplo, se as suas datas forem escritas num formato de data regional que não seja reconhecido pelo motor de dados Power Pivot, ou se os seus dados utilizarem chaves de substituição integer -- poderá ter de utilizar uma fórmula DAX para extrair as peças da data e, em seguida, compor as peças numa representação de data/hora válida.

Por exemplo, se tiver uma coluna de datas que tenham sido representadas como um inteiro e depois importadas como uma cadeia de texto, pode converter a cadeia para um valor de data/hora utilizando a seguinte fórmula:

=DATA(DIREITO([Valor1],4),ESQUERDA([Valor1],2),MID[[Valor1],2))

Valor1

Resultado

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Os seguintes tópicos fornecem mais informações sobre as funções utilizadas para extrair e compor datas.

Defina uma data personalizada ou formato de número

Se os seus dados contiverem datas ou números que não estejam representados num dos formatos de texto padrão do Windows, pode definir um formato personalizado para garantir que os valores são manuseados corretamente. Estes formatos são utilizados na conversão de valores em cordas, ou a partir de cordas. Os seguintes tópicos também fornecem uma lista detalhada dos formatos pré-definidos que estão disponíveis para trabalhar com datas e números.

Alterar os tipos de dados usando uma fórmula

Em Power Pivot, o tipo de dados da saída é determinado pelas colunas de origem, e não é possível especificar explicitamente o tipo de dados do resultado, uma vez que o tipo de dados ideal é determinado por Power Pivot. No entanto, pode utilizar as conversões implícitas do tipo de dados realizadas por Power Pivot para manipular o tipo de dados de saída. 

  • Para converter uma data ou uma corda numérão para um número, multiplique por 1.0. Por exemplo, a fórmula seguinte calcula a data atual menos 3 dias e, em seguida, produz o valor inteiro correspondente.

    =(HOJE()-3)*1.0

  • Para converter uma data, número ou valor cambial numa corda, concatenar o valor com uma corda vazia. Por exemplo, a seguinte fórmula retorna a data de hoje como uma corda.

    ="& HOJE()

As seguintes funções também podem ser utilizadas para garantir a dispor de um determinado tipo de dados:

Converter números reais em inteiros

Cenário: Valores Condicionais e Testes para Erros

Tal como o Excel, o DAX tem funções que permitem testar valores nos dados e devolver um valor diferente com base numa condição. Por exemplo, pode criar uma coluna calculada que rotule os revendedores como Preferred ou Value dependendo do valor anual de venda. Funções que os valores de teste também são úteis para verificar a gama ou o tipo de valores, para evitar erros de dados inesperados de quebrar cálculos.

Criar um valor com base numa condição

Pode utilizar condições de IF aninhadas para testar valores e gerar novos valores condicionalmente. Os seguintes tópicos contêm alguns exemplos simples de processamento condicional e valores condicional:

Teste de erros dentro de uma fórmula

Ao contrário do Excel, não pode ter valores válidos numa linha de coluna calculada e valores inválidos noutra linha. Ou seja, se houver um erro em qualquer parte de uma coluna Power Pivot, toda a coluna é sinalizada com um erro, de modo a que tenha sempre de corrigir erros de fórmula que resultem em valores inválidos.

Por exemplo, se criar uma fórmula que se divide por zero, pode obter o resultado infinito, ou um erro. Algumas fórmulas também falharão se a função encontrar um valor em branco quando espera um valor numérico. Enquanto está a desenvolver o seu modelo de dados, o melhor é permitir que os erros apareçam para que possa clicar na mensagem e resolver problemas com o problema. No entanto, ao publicar livros de trabalho, deve incorporar o manuseamento de erros para evitar que valores inesperados falhem.

Para evitar erros de devolução numa coluna calculada, utiliza uma combinação de funções lógicas e de informação para testar erros e devolver sempre valores válidos. Os seguintes tópicos fornecem alguns exemplos simples de como fazê-lo no DAX:

Cenários: Utilização da Inteligência do Tempo

As funções de inteligência do tempo DAX incluem funções para ajudá-lo a recuperar datas ou datas que variam a partir dos seus dados. Em seguida, pode utilizar essas datas ou intervalos de datas para calcular valores em períodos semelhantes. As funções de inteligência do tempo também incluem funções que funcionam com intervalos de data padrão, para permitir comparar valores ao longo de meses, anos ou trimestres. Também pode criar uma fórmula que compare valores para a primeira e última data de um período especificado.

Para obter uma lista de todas as funções de inteligência do tempo, consulte funções de inteligência do tempo (DAX). Para obter dicas sobre como utilizar as datas e os horários de forma eficaz numa análise Power Pivot, consulte Datas no Power Pivot.

Calcular as vendas cumulativas

Os seguintes tópicos contêm exemplos de como calcular os saldos de fecho e abertura. Os exemplos permitem criar saldos em diferentes intervalos, como dias, meses, trimestres ou anos.

Comparar valores ao longo do tempo

Os seguintes tópicos contêm exemplos de como comparar somas em diferentes períodos de tempo. Os períodos de tempo padrão suportados pelo DAX são meses, trimestres e anos.

Calcular um valor sobre uma gama de datas personalizada

Consulte os seguintes tópicos, por exemplo, de como recuperar gamas de datas personalizadas, como os primeiros 15 dias após o início de uma promoção de vendas.

Se utilizar funções de inteligência do tempo para recuperar um conjunto personalizado de datas, pode utilizar esse conjunto de datas como entrada para uma função que executa cálculos, para criar agregados personalizados durante períodos de tempo. Consulte o seguinte tópico como um exemplo de como fazê-lo:

  • FUNÇÃO PARALLELPERIOD

    Nota: Se não precisar especificar um intervalo de datas personalizada, mas estiver a trabalhar com unidades contabilísticas padrão, como meses, quartos ou anos, recomendamos que efetue cálculos utilizando as funções de inteligência do tempo concebidas para o efeito, tais como TOTALQTD, TOTALMTD, TOTALQTD, etc.

Cenários: Ranking e Comparação de Valores

Para mostrar apenas o número de itens de topo n numa coluna ou PivotTable, tem várias opções:

  • Pode utilizar as funcionalidades do Excel 2010 para criar um filtro Top. Também pode selecionar uma série de valores superiores ou inferiores numa Tabela Dinâmica. A primeira parte desta secção descreve como filtrar os 10 itens mais altos numa Tabela Dinâmica. Para mais informações, consulte a documentação do Excel.

  • Pode criar uma fórmula que classifica dinamicamente os valores e, em seguida, filtrar pelos valores de classificação, ou usar o valor de classificação como Um Cortador. A segunda parte desta secção descreve como criar esta fórmula e, em seguida, usar esse ranking num Slicer.

Há vantagens e desvantagens para cada método.

  • O filtro Excel Top é fácil de utilizar, mas o filtro é apenas para efeitos de visualização. Se os dados subjacentes ao PivotTable forem atualizados manualmente, tem de atualizar manualmente o PivotTable para ver as alterações. Se precisar de trabalhar dinamicamente com rankings, pode usar o DAX para criar uma fórmula que compare valores com outros valores dentro de uma coluna.

  • A fórmula DAX é mais poderosa; além disso, adicionando o valor de classificação a um Slicer, pode clicar no Slicer para alterar o número de valores superiores que são apresentados. No entanto, os cálculos são computacionalmente caros e este método pode não ser adequado para tabelas com muitas linhas.

Mostre apenas os dez melhores itens numa Tabela Dinâmica

Para mostrar os valores superiores ou inferiores numa Tabela Dinâmica

  1. Na Tabela Pivot, clique na seta para baixo na rubrica Row Labels.

  2. Selecione Filtros de valor> Top 10.

  3. No Top 10 Filter <nome da coluna>caixa de diálogo, escolha a coluna para classificar, e o número de valores, da seguinte forma:

    1. Selecione Top para ver as células com os valores mais elevados ou Fundo para ver as células com os valores mais baixos.

    2. Digite o número de valores superiores ou inferiores que pretende ver. O padrão é 10.

    3. Selecione como deseja os valores apresentados:

Nome

Descrição

Itens

Selecione esta opção para filtrar o PivotTable para exibir apenas a lista dos itens superiores ou inferiores pelos seus valores.

Percentagem

Selecione esta opção para filtrar o PivotTable para exibir apenas os itens que somam a percentagem especificada.

Soma

Selecione esta opção para visualizar a soma dos valores para os itens superiores ou inferiores.

  1. Selecione a coluna que contém os valores que pretende classificar.

  2. Clique em OK.

Encomende itens dinamicamente usando uma fórmula

O tópico seguinte contém um exemplo de como usar o DAX para criar um ranking que é armazenado numa coluna calculada. Como as fórmulas DAX são calculadas dinamicamente, pode sempre ter a certeza de que o ranking está correto mesmo que os dados subjacentes se alterem. Além disso, como a fórmula é usada numa coluna calculada, pode utilizar o ranking num Slicer e, em seguida, selecionar top 5, top 10 ou mesmo top 100 valores.

Nota:  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 indicar-nos se estas informações foram úteis? Eis o artigo em inglês para sua referência.​

Precisa de mais ajuda?

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.

×