Ir para conteúdo
  • 0

Criar uma medida que retorne o melhor mês


Gilberto Ferreira
Ir para solução Solucionado por Joao Raulino ,

Pergunta

14 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
1 minuto atrás, Joao Raulino disse:

Suave @Gilberto Ferreira?

Qual é o teu critério para determinar o melhor mês? Compartilha com a gente o que você já fez usando a RANKX ou a TOPN que certamente vai ficar mais fácil encontrar a solução 😉

Abs!

É um indicador de horas extras, então o mês com menor valor R$ é o melhor.

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Postado (editado)

Boa @Gilberto Ferreira!

Na tua medida [007_RANKING] troca o ALL('dCalendario') por ALLSELECTED(dCalendario[Mes Num], dCalendario[Mes]) e na tua medida [008_Top1] troca o [008_Valor_TTHX+DSR] pela [007_Ranking]:

Citar
007_RANKING =
RANKX(
    ALLSELECTED(dCalendario[Mes Num], dCalendario[Mes]),
    [008_Valor_TTHX+DSR],,
    ASC
)
Citar
008_Top1 =
CALCULATE(
    MAX(dCalendario[Mes]),
    FILTER(
        ALLSELECTED(dCalendario[Mes Num], dCalendario[Mes]),
        [007_RANKING] = 1
    )
)

image.png.3bf6c24f4dc1e4a5bec4af61f14a423f.png

Abs!

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

  • 0
  • Alunos
Postado (editado)

Olá @Gilberto Ferreira, segue uma sugestão de medida:

Melhor Mês Faturamento = 

VAR __ValorPorMes =                             --Tabela Virtual
    CALCULATETABLE (                                          --Altera o contexto de uma tabela
        ADDCOLUMNS (                                            --Adiciona colunas
            VALUES ( dCalendario[MesAno] ),          --Valores da coluna MesAno
            "@Valor", [008_Valor_TTHX+DSR]           --Medida pela qual se obterá o valor
        )
        , ALLEXCEPT ( dCalendario, dCalendario[Ano] )  --Remove o contexto de todas as colunas da tabela menos o contexto de Ano
    )
    

VAR __primeiro =                                     --Tabela Virtual
    INDEX (                                          --que retorna o índice
        1,                                           --o Primeiro indíce, ou seja, a primeira linha
        __ValorPorMes ,                         --da tabela virtual __ValorPorMes
        ORDERBY ( [@Valor], DESC )                   --ordenado pelo Valor do maior para menor
    )
    
RETURN 
    MINX ( __primeiro, [MesAno] )                    --Retorna o [MesAno] da tabela virtual

Se não quiser considerar o Ano só remover o ALLEXCEPT.

Espero ter ajudado.

Editado por Renato Carlos Rossato
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
20 minutos atrás, Joao Raulino disse:

Boa @Gilberto Ferreira!

Na tua medida [007_RANKING] troca o ALL('dCalendario') por ALLSELECTED(dCalendario[Mes Num], dCalendario[Mes]) e na tua medida [008_Top1] troca o [008_Valor_TTHX+DSR] pela [007_Ranking]:

image.png.3bf6c24f4dc1e4a5bec4af61f14a423f.png

Abs!

Não consegui.

 

014_Ranking = 
RANKX(
    ALLSELECTED(dCalendario[MesNum], dCalendario[Mes]),
    [008_Valor_TTHX+DSR],,
    ASC
)
 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
21 minutos atrás, Joao Raulino disse:

Boa @Gilberto Ferreira!

Na tua medida [007_RANKING] troca o ALL('dCalendario') por ALLSELECTED(dCalendario[Mes Num], dCalendario[Mes]) e na tua medida [008_Top1] troca o [008_Valor_TTHX+DSR] pela [007_Ranking]:

image.png.3bf6c24f4dc1e4a5bec4af61f14a423f.png

Abs!

015_Top1 = 
CALCULATE(
    MAX(dCalendario[Mes]),
    FILTER(
        ALLSELECTED(dCalendario[MesNum], dCalendario[Mes]),
        [014_Ranking] = 1
    )
)

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
12 minutos atrás, Renato Carlos Rossato disse:

Olá @Gilberto Ferreira, segue uma sugestão de medida:

Melhor Mês Faturamento = 

VAR __ValorPorMes =                             --Tabela Virtual
    CALCULATETABLE (                                          --Altera o contexto de uma tabela
        ADDCOLUMNS (                                            --Adiciona colunas
            VALUES ( dCalendario[MesAno] ),          --Valores da coluna MesAno
            "@Valor", [008_Valor_TTHX+DSR]           --Medida pela qual se obterá o valor
        )
        , ALLEXCEPT ( dCalendario, dCalendario[Ano] )  --Remove o contexto de todas as colunas da tabela menos o contexto de Ano
    )
    

VAR __primeiro =                                     --Tabela Virtual
    INDEX (                                          --que retorna o índice
        1,                                           --o Primeiro indíce, ou seja, a primeira linha
        __ValorPorMes ,                         --da tabela virtual __ValorPorMes
        ORDERBY ( [@Valor], DESC )                   --ordenado pelo Valor do maior para menor
    )
    
RETURN 
    MINX ( __primeiro, [MesAno] )                    --Retorna o [MesAno] da tabela virtual

Se não quiser considerar o Ano só remover o ALLEXCEPT.

Espero ter ajudado.

Tentei mas não deu certo.

 

016_Melhor Mês Faturamento =
 
VAR __ValorPorMes =                             --Tabela Virtual
    CALCULATETABLE (                                          --Altera o contexto de uma tabela
        ADDCOLUMNS (                                            --Adiciona colunas
            VALUES ( dCalendario[AnoMes] ),          --Valores da coluna MesAno
            "@Valor", [008_Valor_TTHX+DSR]           --Medida pela qual se obterá o valor
        )
        , ALLEXCEPT ( dCalendario, dCalendario[Ano] )  --Remove o contexto de todas as colunas da tabela menos o contexto de Ano
    )
   
 
VAR __primeiro =                                     --Tabela Virtual
    INDEX (                                          --que retorna o índice
        1,                                           --o Primeiro indíce, ou seja, a primeira linha
        __ValorPorMes ,                         --da tabela virtual __ValorPorMes
        ORDERBY ( [@Valor], DESC )                   --ordenado pelo Valor do maior para menor
    )
   
RETURN
    MINX ( __primeiro, [AnoMes] )                    --Retorna o [MesAno] da tabela virtual
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
13 minutos atrás, Renato Carlos Rossato disse:

Olá @Gilberto Ferreira, segue uma sugestão de medida:

Melhor Mês Faturamento = 

VAR __ValorPorMes =                             --Tabela Virtual
    CALCULATETABLE (                                          --Altera o contexto de uma tabela
        ADDCOLUMNS (                                            --Adiciona colunas
            VALUES ( dCalendario[MesAno] ),          --Valores da coluna MesAno
            "@Valor", [008_Valor_TTHX+DSR]           --Medida pela qual se obterá o valor
        )
        , ALLEXCEPT ( dCalendario, dCalendario[Ano] )  --Remove o contexto de todas as colunas da tabela menos o contexto de Ano
    )
    

VAR __primeiro =                                     --Tabela Virtual
    INDEX (                                          --que retorna o índice
        1,                                           --o Primeiro indíce, ou seja, a primeira linha
        __ValorPorMes ,                         --da tabela virtual __ValorPorMes
        ORDERBY ( [@Valor], DESC )                   --ordenado pelo Valor do maior para menor
    )
    
RETURN 
    MINX ( __primeiro, [MesAno] )                    --Retorna o [MesAno] da tabela virtual

Se não quiser considerar o Ano só remover o ALLEXCEPT.

Espero ter ajudado.

image.png.700fc6601d351ffa375ad666c0472252.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
13 minutos atrás, Renato Carlos Rossato disse:

Olá @Gilberto Ferreira, segue uma sugestão de medida:

Melhor Mês Faturamento = 

VAR __ValorPorMes =                             --Tabela Virtual
    CALCULATETABLE (                                          --Altera o contexto de uma tabela
        ADDCOLUMNS (                                            --Adiciona colunas
            VALUES ( dCalendario[MesAno] ),          --Valores da coluna MesAno
            "@Valor", [008_Valor_TTHX+DSR]           --Medida pela qual se obterá o valor
        )
        , ALLEXCEPT ( dCalendario, dCalendario[Ano] )  --Remove o contexto de todas as colunas da tabela menos o contexto de Ano
    )
    

VAR __primeiro =                                     --Tabela Virtual
    INDEX (                                          --que retorna o índice
        1,                                           --o Primeiro indíce, ou seja, a primeira linha
        __ValorPorMes ,                         --da tabela virtual __ValorPorMes
        ORDERBY ( [@Valor], DESC )                   --ordenado pelo Valor do maior para menor
    )
    
RETURN 
    MINX ( __primeiro, [MesAno] )                    --Retorna o [MesAno] da tabela virtual

Se não quiser considerar o Ano só remover o ALLEXCEPT.

Espero ter ajudado.

image.png.90b73c401ad0baefc5fcd42e4c34ee65.png

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