Ir para conteúdo
  • 0

INFORMAR 0 NO CONTEXTO


FrancoAndre
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Alunos
Postado (editado)

Olá à todos!

Galera pretendo fazer uma mudança nessa medida para informar o valor 0 onde está em branco:

image.png.6ca962d32da4b14adc904fdc505a9bba.png

 

$ Planejado DRE =
VAR vContexto = [Contexto]
VAR vSubTotal = SELECTEDVALUE(dPlanoContas[Subtotal])
VAR N2 = SELECTEDVALUE(dPlanoContas[N2_UNIF])
VAR N3 = SELECTEDVALUE(dPlanoContas[N3_UNIF])
VAR N4 = SELECTEDVALUE(dPlanoContas[N4_UNIF])
VAR vCondicao =
SWITCH(
    TRUE,
    vSubTotal = 1 && vContexto = "1", [Planejado],
    vSubTotal = 0 && vContexto = "4", BLANK(),
    vContexto && vSubTotal = 1, BLANK(),
    vSubTotal = 1 && (ISBLANK(N2) || ISBLANK(N3)), BLANK(),
    vSubTotal = 0, [Planejado]
)
RETURN
vCondicao

 

Tentei adicionar um COALESCE e me trouxe outro problema que são linhas em brancos sem valores, as mesmas linhas que são evitadas no SWITCH:

image.png.42e1f87617020a3a2047e301668384c8.png

 

Se alguém puder ajudar, agradeço. Estarei deixando um pbix em anexo.

DAX_Valores_Zero.pbix

Editado por FrancoAndre
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
Postado (editado)

OU assim

$ Planejado DRE = 
VAR vContexto = [Contexto]
VAR vSubTotal = SELECTEDVALUE(dPlanoContas[Subtotal])
VAR N2 = SELECTEDVALUE(dPlanoContas[N2_UNIF])
VAR N3 = SELECTEDVALUE(dPlanoContas[N3_UNIF])
VAR N4 = SELECTEDVALUE(dPlanoContas[N4_UNIF])
VAR vTotalPlan = CALCULATE([Planejado], ALL(dCalendario))
VAR vTotalReal = CALCULATE([Realizado], ALL(dCalendario))
VAR vCondicao = 
SWITCH(
    TRUE,
    vTotalPlan = 0 && vTotalReal = 0, BLANK(),
    vSubTotal = 1 && vContexto = "1", COALESCE([Planejado], 0),
    vSubTotal = 0 && vContexto = "4", BLANK(),
    vContexto && vSubTotal = 1, BLANK(),
    vSubTotal = 1 && (ISBLANK(N2) || ISBLANK(N3)), BLANK(),
    vSubTotal = 0, COALESCE([Planejado], 0)
)
RETURN
vCondicao

 

$ Realizado DRE = 
VAR vContexto = [Contexto]
VAR vSubTotal = SELECTEDVALUE(dPlanoContas[Subtotal])
VAR N2 = SELECTEDVALUE(dPlanoContas[N2_UNIF])
VAR N3 = SELECTEDVALUE(dPlanoContas[N3_UNIF])
VAR N4 = SELECTEDVALUE(dPlanoContas[N4_UNIF])
VAR vTotalPlan = CALCULATE([Planejado], ALL(dCalendario))
VAR vTotalReal = CALCULATE([Realizado], ALL(dCalendario))
VAR vCondicao = 
SWITCH(
    TRUE,
    vTotalPlan = 0 && vTotalReal = 0, BLANK(),
    vSubTotal = 1 && vContexto = "1", COALESCE([Realizado], 0),
    vSubTotal = 0 && vContexto = "4", BLANK(),
    vContexto && vSubTotal = 1, BLANK(),
    vSubTotal = 1 && (ISBLANK(N2) || ISBLANK(N3)), BLANK(),
    vSubTotal = 0, COALESCE([Realizado], 0)
)
RETURN
vCondicao

 

20240609_DAX_Valores_Zero.pbix

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

  • 0
  • Alunos

Veja se resolve seu problema

$ Planejado DRE = 
VAR vContexto = [Contexto]
VAR vSubTotal = SELECTEDVALUE(dPlanoContas[Subtotal])
VAR N2 = SELECTEDVALUE(dPlanoContas[N2_UNIF])
VAR N3 = SELECTEDVALUE(dPlanoContas[N3_UNIF])
VAR N4 = SELECTEDVALUE(dPlanoContas[N4_UNIF])
VAR vTotal = CALCULATE([Planejado], ALL(dCalendario))
VAR vCondicao = 
SWITCH(
    TRUE,
    vTotal = 0, BLANK(),
    vSubTotal = 1 && vContexto = "1", COALESCE([Planejado], 0),
    vSubTotal = 0 && vContexto = "4", BLANK(),
    vContexto && vSubTotal = 1, BLANK(),
    vSubTotal = 1 && (ISBLANK(N2) || ISBLANK(N3)), BLANK(),
    vSubTotal = 0 && N3 = "", BLANK(),
    vSubTotal = 0, COALESCE([Planejado], 0)
)
RETURN
vCondicao

 

20240609_DAX_Valores_Zero.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
8 minutos atrás, Bruno Abdalla de Souza disse:

Veja se resolve seu problema

$ Planejado DRE = 
VAR vContexto = [Contexto]
VAR vSubTotal = SELECTEDVALUE(dPlanoContas[Subtotal])
VAR N2 = SELECTEDVALUE(dPlanoContas[N2_UNIF])
VAR N3 = SELECTEDVALUE(dPlanoContas[N3_UNIF])
VAR N4 = SELECTEDVALUE(dPlanoContas[N4_UNIF])
VAR vTotal = CALCULATE([Planejado], ALL(dCalendario))
VAR vCondicao = 
SWITCH(
    TRUE,
    vTotal = 0, BLANK(),
    vSubTotal = 1 && vContexto = "1", COALESCE([Planejado], 0),
    vSubTotal = 0 && vContexto = "4", BLANK(),
    vContexto && vSubTotal = 1, BLANK(),
    vSubTotal = 1 && (ISBLANK(N2) || ISBLANK(N3)), BLANK(),
    vSubTotal = 0 && N3 = "", BLANK(),
    vSubTotal = 0, COALESCE([Planejado], 0)
)
RETURN
vCondicao

 

20240609_DAX_Valores_Zero.pbix 2.16 MB · 0 downloads

Fala, Bruno!

Quando repliquei a mesma lógica para o Realizado sumiu alguns valores:

image.png.3853b5fcfa7faa0900d947a80c2883a6.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Postado (editado)

Será que em ambas as medidas (planejadoe realizado),  vai ter que calcular o total do planejado e o total do realizado? Se ambas forem zero,  retorna vazio.

Agora não vou conseguir testar,  mas o caminho é algo assim. 

Aí o restante você usa o coalesce quando não for vazio. 

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

  • 0
  • Alunos

Veja assim
 

$ Planejado DRE = 
VAR vContexto = [Contexto]
VAR vSubTotal = SELECTEDVALUE(dPlanoContas[Subtotal])
VAR N2 = SELECTEDVALUE(dPlanoContas[N2_UNIF])
VAR N3 = SELECTEDVALUE(dPlanoContas[N3_UNIF])
VAR N4 = SELECTEDVALUE(dPlanoContas[N4_UNIF])
VAR vTotal = CALCULATE([Planejado], ALL(dCalendario))
VAR vCondicao = 
SWITCH(
    TRUE,
    vTotal = 0, BLANK(),
    vSubTotal = 1 && vContexto = "1", COALESCE([Planejado], 0),
    vSubTotal = 0 && vContexto = "4", BLANK(),
    vContexto && vSubTotal = 1, BLANK(),
    vSubTotal = 1 && (ISBLANK(N2) || ISBLANK(N3)), BLANK(),
    vSubTotal = 0, COALESCE([Planejado], 0)
)
RETURN
vCondicao

 

$ Realizado DRE = 
VAR vContexto = [Contexto]
VAR vSubTotal = SELECTEDVALUE(dPlanoContas[Subtotal])
VAR N2 = SELECTEDVALUE(dPlanoContas[N2_UNIF])
VAR N3 = SELECTEDVALUE(dPlanoContas[N3_UNIF])
VAR N4 = SELECTEDVALUE(dPlanoContas[N4_UNIF])
VAR vTotal = CALCULATE([Realizado], ALL(dCalendario))
VAR vCondicao = 
SWITCH(
    TRUE,
    vTotal = 0, BLANK(),
    vSubTotal = 1 && vContexto = "1", COALESCE([Realizado], 0),
    vSubTotal = 0 && vContexto = "4", BLANK(),
    vContexto && vSubTotal = 1, BLANK(),
    vSubTotal = 1 && (ISBLANK(N2) || ISBLANK(N3)), BLANK(),
    vSubTotal = 0, COALESCE([Realizado], 0)
)
RETURN
vCondicao

 

  • Like 1
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...