Compartilhar via


Criar grupos de cálculo

Os grupos de cálculo podem reduzir significativamente o número de medidas redundantes que você precisa criar, permitindo que você defina fórmulas DAX (Expressões de Análise de Dados) como itens de cálculo. Itens de cálculo podem ser aplicados a medidas existentes em seu modelo. Mais informações sobre grupos de cálculo estão disponíveis no artigo Grupos de cálculo.

Adicionar um novo grupo de cálculo no modo de exibição de modelo

No Power BI, ao editar um modelo semântico, navegue até a exibição Modelo e selecione o botão Grupo de cálculos na faixa de opções. Se você ainda não estiver no Gerenciado de modelos, o painel Dados será aberto para o modo de exibição Modelo.

Captura de tela do botão de grupos de cálculo na faixa de opções.

Se a propriedade Desencorajar medidas implícitas estiver desativada, você será solicitado com uma janela de diálogo a ativá-la para habilitar a criação do grupo de cálculo.

Captura de tela da janela de diálogo solicitando que você habilite medidas implícitas.

Uma medida implícita ocorre quando, no modo de exibição Relatório, você usa uma coluna de dados do painel Dados diretamente no visual. O visual permite que você o agrege como umaSUM, , AVERAGE, MINMAXou alguma outra agregação básica, que se torna uma medida implícita. Quando um grupo de cálculo é adicionado a um modelo, o Power BI desencoraja a criação de medidas implícitas, não mostrando mais o símbolo de soma ao lado das colunas de dados no painel Dados e bloqueia a adição das colunas de dados aos visuais diretamente como valores. As medidas implícitas existentes já criadas nos visuais continuam funcionando. A propriedade Desencorajar medidas implícitas deve ser habilitada porque os itens de cálculo não se aplicam a medidas implícitas. Os itens de cálculo se aplicam apenas a medidas ou medidas explícitas.

Captura de tela da visualização de Relatório e criação de medidas implícitas.

Uma medida ou medida explícita ocorre quando você cria uma nova medida e define a expressão DAX para agregar uma coluna de dados. Medidas explícitas também podem ter lógica condicional e filtros, aproveitando ao máximo o que você pode fazer com o DAX. Tutorial: você pode aprender a criar suas próprias medidas no Power BI Desktop.

Observação

Expressões de item de cálculo podem ser gravadas para ignorar uma medida pelo nome ou por tipo de dados, para cenários em que você tem medidas que não deseja que o item de cálculo altere.

Depois de selecionar Sim para habilitar a propriedade de desencorajar medidas implícitas, um grupo de cálculo é adicionado, e você pode começar a definir a expressão DAX do primeiro item de cálculo na barra de fórmulas DAX. A caixa de diálogo não será exibida se você já tiver desestimular medidas implícitas habilitadas.

SELECTEDMEASURE é uma função DAX que atua como um espaço reservado para a medida na expressão de item de cálculo. Você pode aprender sobre a função DAX SELECTEDMEASURE no artigo sobre ela.

Captura de tela da barra de fórmulas DAX e do grupo de cálculo.

Adicionar um grupo de cálculo usando o modo de exibição TMDL do Power BI

Você pode criar um grupo de cálculo na linguagem de definição de modelo tabular ou no modo de exibição TMDL do Power BI Desktop. Edite o modelo semântico e use este script TMDL.

createOrReplace

	table 'Calculation group'

		calculationGroup
			precedence: 1

			calculationItem 'Calculation item' = SELECTEDMEASURE()

		column 'Calculation group column'
			dataType: string
			summarizeBy: none
			sourceColumn: Name
			sortByColumn: Ordinal

			annotation SummarizationSetBy = Automatic

		column Ordinal
			dataType: int64
			formatString: 0
			summarizeBy: sum
			sourceColumn: Ordinal

			annotation SummarizationSetBy = Automatic

Exemplo de inteligência de tempo

Há um exemplo de Inteligência de Tempo de um grupo de cálculo disponível no artigo Grupos de cálculo em modelos tabulares do Analysis Services, que podemos usar para preencher alguns itens de cálculo. O exemplo pode ser adicionado a qualquer modelo com uma tabela Date ou você pode baixar o Adventure Works DW 2020 PBIX do modelo de exemplo DAX – DAX.

Renomear um grupo de cálculo

Para renomear o grupo de cálculo, clique duas vezes nele no painel Dadosou você pode selecioná-lo e usar o painel Propriedades.

Captura de tela de como renomear um grupo de cálculo.

Renomear uma coluna de grupo de cálculo

Para renomear a coluna do grupo de cálculo, clique duas vezes nela no painel Dados ou você pode selecioná-la e usar o painel Propriedades. A coluna selecionada é a coluna que você usa em visuais ou em segmentações de dados para aplicar um item de cálculo específico.

Captura de tela de como renomear uma coluna de grupo de cálculo.

Renomear um item de cálculo

O primeiro item de cálculo foi criado como SELECTEDMEASURE() para que ele possa ser renomeado clicando duas vezes ou usando o painel Propriedades também.

Captura de tela de como renomear um item de cálculo.

Criar mais itens de cálculo

Para criar mais itens de cálculo, você pode usar o menu de contexto de clique com o botão direito do mouse da seção Itens de Cálculo ou do próprio grupo de cálculo e escolher Novo item de cálculo ou usar o painel Propriedades da seção Itens de Cálculo .

Captura de tela de como criar um novo item de cálculo.

Depois que todos os itens de cálculo de inteligência de tempo forem adicionados, o grupo de cálculo será semelhante à imagem a seguir.

Captura de tela do grupo de cálculo com todos os itens de cálculo de inteligência temporais.

Observe os ícones de triângulo vermelho que indicam erros. Os erros estão lá porque as expressões DAX de exemplo usam a tabela Data chamada DimDate, portanto, preciso atualizar as expressões DAX para usar o nome Date. A imagem a seguir mostra a expressão DAX antes da correção.

Captura de tela da expressão DAX incorreta.

Depois que eu fizer a correção da expressão DAX, o erro desaparecerá.

Captura de tela da expressão DAX corrigida.

Depois de feitas as correções de cada um dos erros nos itens de cálculo, os ícones de aviso do triângulo vermelho não serão mais exibidos.

Captura de tela de expressões DAX corrigidas na área de itens de cálculo.

Reordenar itens de cálculo

Para reordenar os itens de cálculo da maneira lógica que preferir, você pode selecionar a seção Itens de cálculo no painel Propriedades ou clicar com o botão direito do mouse no menu de contexto do item de cálculo para movê-lo para cima ou para baixo na lista.

Captura de tela da reordenação dos itens de cálculo.

Adicionar uma cadeia de caracteres de formato dinâmico a um item de cálculo

Os itens de cálculo usam a formatação de medida subjacente por padrão. Em vez disso, podemos querer exibir % Ano a Ano como uma porcentagem. Para fazer isso, selecione o item de cálculo % Ano a Ano e ative a cadeia de caracteres de formato dinâmico no painel propriedades, o que permite especificar uma expressão DAX para criar uma cadeia de caracteres de formato. Para este exemplo, ele não requer elementos condicionais, portanto, simplesmente #,##0.00% altera o formato para uma porcentagem quando este item de cálculo é aplicado, conforme mostrado na imagem a seguir.

Captura de tela da alteração do formato dos itens de dados subjacentes.

Usando o grupo de cálculo em relatórios

Para usar o novo grupo de cálculo em um Relatório, vá para o modo de exibição Relatório, crie um visual de Matriz e adicione o seguinte:

  1. Coluna Mês da tabela Data para as Linhas
  2. Cálculo de tempo do grupo de cálculo de Inteligência de tempo para as Colunas
  3. Medida Pedidos para os Valores

Observação

Se a medida Orders não for criada no modelo, você poderá usar uma medida diferente ou ir para a barra de ferramentas e escolher Nova Medida para criá-la com essa expressão DAX.

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

A imagem a seguir mostra a criação de um visual.

Captura de tela do uso de grupos de cálculo em relatórios.

Os itens de cálculo nas Colunas no visual Matrix estão mostrando a medida Pedidos agrupados por cada um dos itens de cálculo. Você também pode aplicar um item de cálculo individual a várias medidas adicionando a coluna do grupo de cálculo a um visual de Segmentação.

Captura de tela da aplicação de itens de cálculo individuais a várias medidas.

Usando o item de cálculo em medidas

Você pode criar uma nova medida com uma expressão utilizando um item de cálculo em uma medida específica.

Para criar uma medida [Orders YOY%] , você pode usar o item de cálculo com CALCULATE.

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

Configuração da precedência do grupo de cálculo

Por fim, se você adicionar mais grupos de cálculo ao modelo, poderá especificar a ordem na qual eles se aplicam a uma medida com a propriedade de precedência. Você pode ajustar a precedência do grupo de cálculo no painel propriedades da seção Grupos de cálculo , conforme mostrado na imagem a seguir.

Captura de tela da configuração da precedência do grupo de cálculo.

Você pode saber mais sobre a precedência de grupos de cálculo no artigo Grupos de cálculos em modelos tabulares do Analysis Services.

Expressões de seleção para grupos de cálculo

Você pode definir expressões de seleção para grupos de cálculo para obter controle refinado sobre o que o grupo de cálculo retorna se os usuários fizerem várias seleções inválidas ou não no grupo de cálculo. Consulte expressões de seleção.

Considerações

As medidas do modelo são alteradas para o tipo de dados variant

Assim que um grupo de cálculo é adicionado a um modelo semântico, os relatórios do Power BI usam o tipo de dados variant para todas as medidas. Se, posteriormente, todos os grupos de cálculo forem removidos do modelo, as medidas serão revertidas para seus tipos de dados originais novamente.

O tipo de dados variant pode causar cadeias de caracteres de formato dinâmico para medidas quando uma medida é usada novamente, resultando em um erro. Use a função FORMAT DAX para forçar a medida do tipo variant a ser reconhecida como um tipo de dado texto novamente.

FORMAT([Dynamic format string], "")

Como alternativa, você pode reutilizar sua expressão para strings de formato dinâmico com uma função definida pelo usuário do DAX.

Erro visual quando um item de cálculo aplica uma operação matemática em uma medida não numérica

Medidas não numéricas são comumente usadas para títulos dinâmicos em visuais e em cadeias de caracteres de formato dinâmico para medidas. O erro Não é possível converter valor... do tipo 'Texto' para o tipo 'Numérico' nos visuais afetados. A expressão do item de cálculo pode evitar esse erro adicionando uma verificação para ver se a medida é numérica antes de aplicar a operação matemática. Use o ISNUMERIC no item de cálculo.

Calculation item safe = 
    IF ( 
        // Check the measure is numeric
        ISNUMERIC( SELECTEDMEASURE() ),
            SELECTEDMEASURE() * 2,
            // Don't apply the calculation on a non-numeric measure
            SELECTEDMEASURE()
        )

Os artigos a seguir tratam mais sobre os modelos de dados e também descrevem detalhadamente o DirectQuery.

Artigos do DirectQuery: