Ir para conteúdo
  • 0

Preciso que indicador em DAX seja válida para mêses em branco em Tabela de visualização no Power BI


Victor.lisboa
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos

Olá, pessoal! Como vão?

Recentemente o pessoal aqui no fórum me auxiliou a resolver um indicador em DAX que necessitava.

Precisava que uma coluna de Resultado varresse sempre os últimos 3 meses de uma coluna númerica para um cliente, e trouxesse o maior valor daquela coluna para aquela linha do mês.

image.png.463af671ff37281ae40929185945f221.png

 

E o resultado deu super certo. 

 

Porém, preciso mostraz o resultado em uma Matriz e me deparei com a seguinte situação:

image.png.63892d879204c27fd9cfa51f7e735676.png

 

No mês de Agosto, o cliente A teve 91 CPF'S creditados, e foi o primeiro mês, logo o resultado para Agosto foi 91. 

 

Mas  precisaria que no mês de Setembro e outubro também fosse apontado como resultado o "91", já que levando em conta a "varredura" dos últimos 3 meses para o cliente, o maior valor é 91.

Vocês sabem como posso solucionar isso?

 

Atualmente o DAX para o resultado está em uma coluna:

image.png.0bb5a77c0a6c66ca067949152c422aab.png

Também estou anexando o arquivo PBIx

 

Obrigado!

 

 

 

 

image.png

20230120_ValorMaximoUltimos3MesesContexto.pbix

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução

Veja se esta medida ajuda.

CPFs creditados Ultimos 3 meses v1 = 
VAR vAnoMesFim = CALCULATE(MAX(dCalendario[AnoMesNum]))
VAR vAnoMesIni = IF(vAnoMesFim > 2, vAnoMesFim - 2, 1)
VAr vCliente = VALUES(dClientes[Cliente])
VAR vDataTabela = MAX(Tabela[Mês])
VAR vUltimos3Meses = 
    ADDCOLUMNS(
        CROSSJOIN(
            FILTER(
                ALL(dCalendario[AnoMesNum], dCalendario[AnoMesNome]),
                dCalendario[AnoMesNum] >= vAnoMesIni && 
                dCalendario[AnoMesNum] <= vAnoMesFim
            ),
            vCliente
        ),
        "CPFs",
        CALCULATE(SUM(Tabela[CPFs Creditados]))
    )
VAR vResultado = 
    MAXX(
        vUltimos3Meses,
        [CPFs]
    )
RETURN
    IF(
        HASONEVALUE(dClientes[Cliente])&& HASONEVALUE(dCalendario[AnoMesNome]),
        vResultado
    )

 

 

20230120_ValorMaximoUltimos3MesesContexto.pbix

Editado por Bruno Abdalla de Souza
  • Thanks 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
12 horas atrás, Bruno Abdalla de Souza disse:

Veja se esta medida ajuda.

CPFs creditados Ultimos 3 meses v1 = 
VAR vAnoMesFim = CALCULATE(MAX(dCalendario[AnoMesNum]))
VAR vAnoMesIni = IF(vAnoMesFim > 2, vAnoMesFim - 2, 1)
VAr vCliente = VALUES(dClientes[Cliente])
VAR vDataTabela = MAX(Tabela[Mês])
VAR vUltimos3Meses = 
    ADDCOLUMNS(
        CROSSJOIN(
            FILTER(
                ALL(dCalendario[AnoMesNum], dCalendario[AnoMesNome]),
                dCalendario[AnoMesNum] >= vAnoMesIni && 
                dCalendario[AnoMesNum] <= vAnoMesFim
            ),
            vCliente
        ),
        "CPFs",
        CALCULATE(SUM(Tabela[CPFs Creditados]))
    )
VAR vResultado = 
    MAXX(
        vUltimos3Meses,
        [CPFs]
    )
RETURN
    IF(
        HASONEVALUE(dClientes[Cliente])&& HASONEVALUE(dCalendario[AnoMesNome]),
        vResultado
    )

 

 

20230120_ValorMaximoUltimos3MesesContexto.pbix 40.4 kB · 1 download

Bruno, Atendeu sim! Agradeço demais!

 

 

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...