1
resposta

[Dúvida] Criação de calculo PowerBI

Olá pessoal, tudo bem?

Estou com dúvida numa demanda pontual: Eu tenho contas de balanço de várias empresas que estão disponibilizadas no Banco Central. Sempre ao final de cada semestre as instituições financeiras encerram um ciclo de balanço e inicia outro. Por exemplo: teremos dados de janeiro à junho, sendo que junho é o último mês do semestre. Quando iniciar julho essa tabela deverá somar junho + julho e no mês subsequente deverá ser junho + agosto, Junho + setembro, junho + outubro, junho + novembro e junho + dezembro. Neste caso, quando não houver dados de algum mês após junho ele deverá congelar os valores. utilizei essa medida calculada, porém não funcionou:

70000009_AC = 
var jun = CALCULATE(
    sum('Balancetes e Balanços Patrimoniais'[SALDO]),'Balancetes e Balanços Patrimoniais'[CONTA]="70000009",
    month(Calendario[Data])=6
                    )
var agosto= CALCULATE(
    sum('Balancetes e Balanços Patrimoniais'[SALDO]),'Balancetes e Balanços Patrimoniais'[CONTA]="70000009",
    month(Calendario[Data])=0
                    )
return
jun + agosto

Poderiam me ajudar nessa contrução lógica de dados incluindo as datas?

1 resposta

Olá Mazoir, tudo bem?

Desculpe a demora em te responder!

Pelo que entendi, você deseja que o PowerBI some os valores de Junho com os valores dos meses subsequentes, mas parece haver um pequeno erro na sua fórmula. No segundo cálculo, você está procurando um mês que seja igual a 0, o que não é possível, pois os meses são numerados de 1 (Janeiro) a 12 (Dezembro).

Uma possível solução seria a criação de uma medida que verifica se o mês atual é maior que Junho e, se for, soma os valores de Junho com o mês atual. Se o mês atual for menor ou igual a Junho, a medida retorna apenas o valor de Junho. Veja o exemplo abaixo:

70000009_AC = 
var jun = CALCULATE(
    sum('Balancetes e Balanços Patrimoniais'[SALDO]),'Balancetes e Balanços Patrimoniais'[CONTA]="70000009",
    month(Calendario[Data])=6
                    )
var mesAtual = month(TODAY())
return
IF(
    mesAtual > 6,
    jun + CALCULATE(
        sum('Balancetes e Balanços Patrimoniais'[SALDO]),'Balancetes e Balanços Patrimoniais'[CONTA]="70000009",
        month(Calendario[Data])=mesAtual
    ),
    jun
)

Nesse exemplo, a variável mesAtual armazena o mês atual. A função IF verifica se mesAtual é maior que 6 (Junho). Se for, a função CALCULATE soma os valores de Junho e do mês atual. Se mesAtual for menor ou igual a 6, a medida retorna apenas o valor de Junho.

Todavia, vale ressaltar que como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do projeto outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software