Ir para conteúdo
  • 0

Medida com filtro de mês futuro


Silvano Spada
Ir para solução Solucionado por Edson Igari ,

Pergunta

  • Alunos

Prezados, 

Estou com dificuldades para finalizar uma medida.

Quero inserir um filtro para que a medida traga o resultado somente a partir de determinado mês: Exemplo: "ABR", "Junho" e "OUT", só que até não chegar o mês de referência, o resultado seja Blank() ou zero, ou vazio "", enfim...

Fiz uma variável, mas está incompleta, quem puder me ajudar, desde já agradeço.

 

2) % EMPENHADO FEV =
VAR EMPENHADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=29 || fExecucao[cod_metrica]=9,
        dCalendario[Mês]<= 2)
VAR DESCENTRALIZADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=2,
        dCalendario[Mês]<= 2)
RETURN
DIVIDE(
    EMPENHADO,
    DESCENTRALIZADO
)
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
11 horas atrás, Silvano Spada disse:

Prezados, 

Estou com dificuldades para finalizar uma medida.

Quero inserir um filtro para que a medida traga o resultado somente a partir de determinado mês: Exemplo: "ABR", "Junho" e "OUT", só que até não chegar o mês de referência, o resultado seja Blank() ou zero, ou vazio "", enfim...

Fiz uma variável, mas está incompleta, quem puder me ajudar, desde já agradeço.

 

2) % EMPENHADO FEV =
VAR EMPENHADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=29 || fExecucao[cod_metrica]=9,
        dCalendario[Mês]<= 2)
VAR DESCENTRALIZADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=2,
        dCalendario[Mês]<= 2)
RETURN
DIVIDE(
    EMPENHADO,
    DESCENTRALIZADO
)

@Silvano Spada, tudo bem? Não sei se entendi direito, mas se quer exibir um valor a partir de um determinado mês, você pode fazer um IF. Exemplo:

Medida = 
VAR vMes = MAX(dCalendario[Mês])
RETURN
IF(
     vMes >= 2,
     retorna o valor pretendido 1,
     retorna o valor pretendido 2
)

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Bom dia.

 

Sim seria um IF mesmo, só não estou conseguindo colocar dentro da medida que passei:

 

2) % EMPENHADO JUN =
VAR EMPENHADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=29 || fExecucao[cod_metrica]=9,
        dCalendario[Mês]<= 6)
VAR DESCENTRALIZADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=2,
        dCalendario[Mês]<= 6)
RETURN
DIVIDE(
    EMPENHADO,
    DESCENTRALIZADO
)
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Suave @Silvano Spada?

Adiciona o IF que o @Edson Igari sugeriu na parte do RETURN:

Citar

2) % EMPENHADO FEV =
VAR EMPENHADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=29 || fExecucao[cod_metrica]=9,
        dCalendario[Mês]<= 2)
VAR DESCENTRALIZADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=2,
        dCalendario[Mês]<= 2)
VAR DIVISAO = DIVIDE(
    EMPENHADO,
    DESCENTRALIZADO)
RETURN
    IF(
        MAX(dCalendario[Mês]) = 2,
        DIVISAO,
        BLANK()
    )

Testa ai e se der certo não se esqueça de marcar a resposta do @Edson Igari como melhor solução 😉

Abs!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Boa tarde @Joao Raulino,

 

Quase certo, só está faltando um pequeno detalhe no RETURN

RETURN
    IF(
        MAX(dCalendario[Mês]) = 2, --> Aqui eu teria que colocar um filtro "se mês atual ou maior", porque eu tenho uma "dimensão" com planejado até fina de 2026, então 
        DIVISAO,                                         não posso usar o MAX(dCalendário... isso que estou travando)
        BLANK()
    )

 

Falta só um ajustezinho ...

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

tentei assim, mas também não deu certo...

 

VAR MES_REFERENCIA = MONTH(9)
VAR EMPENHADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=29 || fExecucao[cod_metrica]=9,
        dCalendario[Mês]<= MES_REFERENCIA)
VAR DESCENTRALIZADO = CALCULATE(
    SUM(
        fExecucao[valor]),fExecucao[cod_metrica]=2,
        dCalendario[Mês]<= MES_REFERENCIA)
RETURN
IF(MES_REFERENCIA < NOW(), "-",
    DIVIDE(
        EMPENHADO,
        DESCENTRALIZADO)
    )
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...