Ir para conteúdo
  • 0

SAMEPERIODLASTYEAR dentro de uma FILTER - Não funciona


ronaldocostajr
Ir para solução Solucionado por Roseane ,

Pergunta

  • Alunos

Por que a SAMEPERIODLASTYEAR dentro da FILTER não funciona corretamente?

Dessa maneira retorna o valor do próprio mês.

Receita Operacional LY2 = 
    CALCULATE(
        [Receita Operacional],
        FILTER(
            dCalendario,
            SAMEPERIODLASTYEAR(dCalendario[Data])
        )
    )


Dessa maneira retorna o valor total de todos os anos.

Receita Operacional LY2 = 
    CALCULATE(
        [Receita Operacional],
        FILTER(
            ALL(dCalendario[DATA]),
            SAMEPERIODLASTYEAR(dCalendario[Data])
        )
    )

Dessa maneira funciona.

Receita Operacional LY2 = 
    CALCULATE(
        [Receita Operacional],
       SAMEPERIODLASTYEAR(dCalendario[Data])

    )

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Respondido no grupo Telegram pelo Fred.

Bom Dia Ronaldo. Por varios motivos. Na função FILTER (função que pede uma tabela para que ocorra uma interação, ou seja, contexto de linha), a partir do segundo argumento, pede-se uma lógica para que a tabela do primeiro argumento seja reduzida. Portanto, vc precisa indicar que tal coisa seja igual a outra coisa ou menor, diferente e etc. A função sameperiodlastyear é uma função de inteligencia de tempo que retorna uma tabela de datas, ou seja, ela por si só não faz operação de lógica. Além disso, toda função de inteligencia de tempo faz uma transição de contexto, pois possui um CALCULATETABLE interno, e em um contexto de linha como a filter pode atrapalhar.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...