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

  • Membros

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
  • Membros
  • 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
  • Obrigado(a) 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...