Alunos FrancoAndre Postado Junho 9 Alunos Compartilhar Postado Junho 9 (editado) Olá à todos! Galera pretendo fazer uma mudança nessa medida para informar o valor 0 onde está em branco: $ 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: Se alguém puder ajudar, agradeço. Estarei deixando um pbix em anexo. DAX_Valores_Zero.pbix Editado Junho 9 por FrancoAndre Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Solução Bruno Abdalla de Souza Postado Junho 9 Alunos Solução Compartilhar Postado Junho 9 (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 Junho 9 por Bruno Abdalla de Souza Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos reinaldoc Postado Junho 9 Alunos Compartilhar Postado Junho 9 Verifica se a coluna está vazia e só retorna o COALESCE se ela não estiver vazia. IF(NOT ISBLANK(N3), COALESCE([Planejado],0)) 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Junho 9 Alunos Compartilhar Postado Junho 9 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 More sharing options...
0 Alunos FrancoAndre Postado Junho 9 Autor Alunos Compartilhar Postado Junho 9 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: Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Junho 9 Alunos Compartilhar Postado Junho 9 (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 Junho 9 por Bruno Abdalla de Souza Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Junho 9 Alunos Compartilhar Postado Junho 9 Qualquer coisa anexa novamente o pbix e mostre qual deveria ser o resultado final. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos FrancoAndre Postado Junho 9 Autor Alunos Compartilhar Postado Junho 9 11 minutos atrás, Bruno Abdalla de Souza disse: Qualquer coisa anexa novamente o pbix e mostre qual deveria ser o resultado final. O resultado ideal seria esse, tratando somente o N3 para não exibir os campos da linha em branco: DAX_Valores_Zero.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Bruno Abdalla de Souza Postado Junho 9 Alunos Compartilhar Postado Junho 9 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 1 Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
FrancoAndre
Olá à todos!
Galera pretendo fazer uma mudança nessa medida para informar o valor 0 onde está em branco:
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:
Se alguém puder ajudar, agradeço. Estarei deixando um pbix em anexo.
DAX_Valores_Zero.pbix
Editado por FrancoAndreLink para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora