Ir para conteúdo
  • 0

Trazer o melhor mês


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

Pergunta

  • Alunos

 

Boa noite pessoal, tudo bem ? poderiam me falar onde esta o erro nessa medida? Queria retornar o melhor mês, porem sem sucesso
segue a medida

 

  • faturamento melhor mes = VAR TOPMES = MAXX( TOPN(1, ALL(Consulta1[MesNum]), [Faturamento mes base], DESC ), Consulta1[MesNum] ) VAR MELHORMES = CALCULATE( SUM(FLUXODECAIXA[Valor]), Consulta1[MesNum] = TOPMES, VALUES(Consulta1[Ano]) ) RETURN MELHORMES
     
     
     
    Imagem
     
     
     
     
  1.  
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
VAR vTopN =
    FILTER(
        TOPN(
            1, 
            ALL(Consulta1[MesAno], Consulta1[AnoMesINT]),
            SUM(FLUXODECAIXA[Valor]), 
            DESC
        ),
        CALCULATE(SUM(FLUXODECAIXA[Valor])) <> 0
    )
VAR TOPMES = 
    CALCULATE(
		MAX(Consulta1[MesAno]),
        vTopN
    )
VAR MELHORMES = 
    CALCULATE(
        SUM(FLUXODECAIXA[Valor]), 
        Consulta1[MesAno] = TOPMES
    )
RETURN 
    MELHORMES

 

20241003_TesteDRE.pbix

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Tenta colocar dessa forma:

faturamento melhor mes =
VAR RANKMES = RANKX(ALL(Consulta1[MesNum]), [Faturamento mes base])
VAR TOPMES = CALCULATE(SELECTEDVALUE(Consulta1[MesNum]),RANKMES = 1)
VAR MELHORMES = CALCULATE( SUM(FLUXODECAIXA[Valor]), Consulta1[MesNum] = TOPMES, VALUES(Consulta1[Ano]) )
RETURN
MELHORMES

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
faturamento melhor mes = 
VAR TOPMES = 
	CALCULATE(
		MAX(dCalendario[MesAno]),
		TOPN(
			1, 
			ALL(dCalendario[MesAno], dCalendario[AnoMesInt]), 
			[Faturamento mes base], 
			DESC
		)
	)
VAR MELHORMES = 
	CALCULATE(
		SUM(FLUXODECAIXA[Valor]), 
		dCalendario[MesAno] = TOPMES
	) 
RETURN 
	MELHORMES

O ideal seria sempre anexar um pbix que represente seu problema.

Outra coisa, a sua dúvida é de DAX e não de PowerQuery. O ideal seria ter criado o tópico nas dúvidas de DAX e não de PowerQuery para que o fórum fique organizado e facilite pesquisas futuras.

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

  • 0
  • Alunos
Em 01/10/2024 em 08:40, Bruno Abdalla de Souza disse:
faturamento melhor mes = 
VAR TOPMES = 
	CALCULATE(
		MAX(dCalendario[MesAno]),
		TOPN(
			1, 
			ALL(dCalendario[MesAno], dCalendario[AnoMesInt]), 
			[Faturamento mes base], 
			DESC
		)
	)
VAR MELHORMES = 
	CALCULATE(
		SUM(FLUXODECAIXA[Valor]), 
		dCalendario[MesAno] = TOPMES
	) 
RETURN 
	MELHORMES

O ideal seria sempre anexar um pbix que represente seu problema.

Outra coisa, a sua dúvida é de DAX e não de PowerQuery. O ideal seria ter criado o tópico nas dúvidas de DAX e não de PowerQuery para que o fórum fique organizado e facilite pesquisas futuras.

Bom dia! Tudo bem? Obrigado pela sugestão e me desculpe em colocar a pergunta no lugar errado. Consigo usar 2 ALL(Dre) na função TOPN?  Creio que isso resolveria o problema, Pois ele usaria a posição do total para todas as linhas, correto?
ele me retorna assim quando uso a sua solução

 

Captura de tela 2024-10-03 112232.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 01/10/2024 em 08:26, Yuri Ximenes De Figueiredo Mota disse:

Tenta colocar dessa forma:

faturamento melhor mes =
VAR RANKMES = RANKX(ALL(Consulta1[MesNum]), [Faturamento mes base])
VAR TOPMES = CALCULATE(SELECTEDVALUE(Consulta1[MesNum]),RANKMES = 1)
VAR MELHORMES = CALCULATE( SUM(FLUXODECAIXA[Valor]), Consulta1[MesNum] = TOPMES, VALUES(Consulta1[Ano]) )
RETURN
MELHORMES

Bom dia! Tudo bem? Testei a sua solução, porem me retorna erro na VAR MELHORMES

A expressão True/False não especifica uma coluna. Cada expressão True/False usada como expressão de filtro de tabela deve fazer referência exatamente a uma coluna.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
6 minutos atrás, Bruno Abdalla de Souza disse:
VAR vTopN =
    FILTER(
        TOPN(
            1, 
            ALL(Consulta1[MesAno], Consulta1[AnoMesINT]),
            SUM(FLUXODECAIXA[Valor]), 
            DESC
        ),
        CALCULATE(SUM(FLUXODECAIXA[Valor])) <> 0
    )
VAR TOPMES = 
    CALCULATE(
		MAX(Consulta1[MesAno]),
        vTopN
    )
VAR MELHORMES = 
    CALCULATE(
        SUM(FLUXODECAIXA[Valor]), 
        Consulta1[MesAno] = TOPMES
    )
RETURN 
    MELHORMES

 

20241003_TesteDRE.pbix 176 kB · 1 download

cara Muito obrigado de coração. Sem querer abusar da sua bondade, como usar o TOPN para números negativos ?

 

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