Partilhar via


Criar grupos de cálculo

Os grupos de cálculo podem reduzir significativamente o número de medidas redundantes que tem de criar, permitindo-lhe definir fórmulas de Expressões de Análise de Dados (DAX) como itens de cálculo. Itens de cálculo podem ser aplicados a medidas existentes no 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 na vista modelo

No Power BI, ao editar um modelo semântico, navegue até à vista do Modelo e selecione o botão Grupo de Cálculo na fita. Se você ainda não estiver no Gerenciador de modelos, o painel Dados será aberto para o modo de exibição Modelo .

Captura de ecrã do botão de grupos de cálculo no friso.

Se a propriedade desencorajar medidas implícitas estiver desativada, você será solicitado com uma janela de diálogo para 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-lhe agrega-lo como uma SUM, AVERAGE, MIN, MAX, ou 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 ao deixar de mostrar o símbolo de soma ao lado das colunas de dados no painel de dados, e bloqueia a adição das colunas de dados diretamente aos visuais como valores. As medidas implícitas já criadas nos visuais continuam a funcionar. A propriedade Desencorajar medidas implícitas deve ser habilitada porque os itens de cálculo não se aplicam a medidas implícitas. Os elementos de cálculo aplicam-se apenas a medidas ou medidas explícitas.

Captura de ecrã da vista 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.

Nota

As expressões dos itens de cálculo podem ser escritas para ignorar uma medida pelo nome, ou pelo tipo de dado, para cenários em que tens medidas que não queres que o item de cálculo mude.

Depois de selecionar Sim para ativar a propriedade de desencorajar medidas implícitas , é adicionado um grupo de cálculo e pode começar a definir a expressão DAX do primeiro item de cálculo na barra de fórmulas DAX. O diálogo não aparece se já tiveres as medidas implícitas de desencorajar ativadas.

SELECTEDMEASURE é uma função DAX que atua como marcador para a medida na expressão do item de cálculo. Você pode aprender sobre a função SELECTEDMEASURE DAX em seu artigo.

Captura de ecrã da barra de fórmulas DAX e do grupo de cálculos.

Adicione um grupo de cálculo usando a visualização TMDL do Power BI

Pode criar um grupo de cálculo na Linguagem de Definição de Modelo Tabular ou na vista TMDL do Power BI Desktop. Edita o modelo semântico e usa 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 temporal

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 de datas , ou pode descarregar o Adventure Works DW 2020 PBIX a partir 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 Dados ou 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álculos, clique duas vezes nela no painel Dados ou você pode selecioná-la e usar o painel Propriedades . A coluna que selecionas é a coluna que usas em visuais ou em slicers 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 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, pode usar o menu contextual do clique direito da secção Itens de Cálculo ou o próprio grupo de cálculo e escolher Novo item de cálculo, ou usar o painel de Propriedades da secção Itens de Cálculo .

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

Quando todos os itens de cálculo de inteligência temporal são adicionados, o grupo de cálculo assemelha-se à imagem seguinte.

Captura de ecrã do grupo de cálculo com todos os itens de cálculo de inteligência temporal.

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

Captura de tela da expressão DAX incorreta.

Depois de fazer a correção para a expressão DAX, o erro desaparece.

Captura de tela da expressão DAX corrigida.

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

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, selecione a seção Itens de cálculo no painel Propriedades ou clique 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 ecrã a mostrar a reordenação de 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 YOY% como uma porcentagem. Para fazer isso, selecione o item de cálculo YOY% e, em seguida, ative a cadeia de caracteres de formato dinâmico no painel de propriedades, que permite especificar uma expressão DAX para criar uma cadeia de caracteres de formato. Neste exemplo, não requer quaisquer elementos condicionais, por isso simplesmente #,##0.00% muda o formato para percentagem quando este item de cálculo é aplicado, como mostrado na imagem seguinte.

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

Usando o grupo de cálculo em relatórios

Para usar seu 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. As ordens medem os Valores

Nota

Se a medida Ordens não for criada no modelo, pode usar uma medida diferente ou ir à faixa de opções e escolher Nova Medida para a criar com esta expressão DAX.

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

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

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

Os itens de cálculo nas Colunas no visual Matriz mostram as Ordens de medida agrupadas 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álculos a um visual de segmentação de dados.

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

Usando o item de cálculo em medidas

Pode criar uma nova medida com uma expressão utilizando um item de cálculo numa medida específica.

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

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

Definindo a precedência do grupo de cálculo

Finalmente, se adicionares mais grupos de cálculo ao modelo, podes especificar a ordem em que se aplicam a uma medida com a propriedade de precedência. Pode ajustar a precedência dos grupos de cálculo no painel de propriedades da secção Grupos de Cálculo , como mostrado na imagem seguinte.

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álculo 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, inválidas ou nenhuma seleção no grupo de cálculo. Ver expressões de seleção.

Considerações

As medições do modelo são alteradas para o tipo de dado variante

Assim que um grupo de cálculo é adicionado a um modelo semântico, os relatórios Power BI utilizam o tipo de dado variante para todas as medidas. Se, posteriormente, todos os grupos de cálculo forem removidos do modelo, as medidas regressam aos seus tipos de dados originais.

O tipo de dado variante pode causar cadeias de formatos dinâmicos para medidas que usam uma medida para reutilização e mostrar um erro. Use a função FORMAT DAX para forçar novamente o reconhecimento da medida variante como um tipo de dado de cadeia.

FORMAT([Dynamic format string], "")

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

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

Medidas não numéricas são frequentemente utilizadas para títulos dinâmicos em visuais e em cadeias de formato dinâmico utilizadas em medidas. O erro Não pode converter valor ... do tipo Texto para tipo Numérico mostra os elementos visuais afetados. A expressão do item de cálculo pode evitar este erro adicionando uma verificação para verificar 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 descrevem mais sobre modelos de dados e também descrevem o DirectQuery em detalhes.

Artigos do DirectQuery: