Partilhar via


SAMEPERIODLASTYEAR

Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual

Nota

Esta função é desencorajada para uso em cálculos visuais, pois provavelmente retorna resultados sem sentido.

Para entrada de coluna de data, retorna uma tabela que contém uma coluna de datas deslocadas um ano atrás no tempo das datas na coluna especificada dates , no contexto atual.

Para entrada de calendário, retorna uma tabela que é deslocada um ano atrás no tempo das datas no contexto atual, com base no calendário. A tabela contém todas as colunas marcadas primárias e todas as colunas relacionadas ao tempo.

Sintaxe

SAMEPERIODLASTYEAR(<dates> or <calendar>)

Parâmetros

Termo Definição
dates or calendar Uma coluna que contém datas ou uma referência de calendário

Valor de retorno

Para entrada de coluna de data, retorne uma tabela de coluna única de valores de data.
Para entrada de calendário, retorne uma tabela que contenha todas as colunas marcadas primárias e todas as colunas relacionadas ao tempo.

Observações

  • O argumento dates pode ser qualquer um dos seguintes:

    • Uma referência a uma coluna de data/hora,
    • Uma expressão de tabela que retorna uma única coluna de valores de data/hora,
    • Uma expressão booleana que define uma tabela de coluna única de valores de data/hora.
  • As restrições nas expressões booleanas são descritas no tópico CALCULATE.

  • As datas retornadas são as mesmas que as datas retornadas por esta fórmula equivalente: DATEADD(dates, -1, year)

  • Esta função não é suportada para utilização no modo DirectQuery quando utilizada em colunas calculadas ou regras de segurança ao nível da linha (RLS).

Exemplo

A fórmula de exemplo a seguir cria uma medida que calcula as vendas do ano anterior das vendas do Revendedor.

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), SAMEPERIODLASTYEAR(DateTime[DateKey]))

Comportamento especial

Quando a seleção incluir os dois últimos dias do mês, SAMEPERIODLASTYEAR usará semântica de "extensão" e incluirá os dias até o final do mês. Por exemplo, quando 27 e 28 de fevereiro de 2009 forem incluídos na seleção, SAMEPERIODLASTYEAR retornará de 27 a 29 de fevereiro de 2008.

Esse comportamento só acontece quando os dois últimos dias do mês são incluídos na seleção. Se apenas 27 de fevereiro for selecionado, irá para 27 de fevereiro.

= SAMEPERIODLASTYEAR(DateTime[DateKey])

Exemplo de inteligência de tempo baseada em calendário

A fórmula de exemplo a seguir cria uma medida que calcula as vendas do ano anterior das vendas do Revendedor.

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), SAMEPERIODLASTYEAR(FiscalCalendar))

Diferenças de comportamento entre a inteligência de tempo clássica e de calendário

Alguns cenários podem produzir resultados diferentes ao comparar a inteligência de tempo clássica e de calendário. Por exemplo, em um ano lunar, SamePeriodLastYear produzirá resultados diferentes na granularidade da data. Na inteligência de tempo baseada em calendário, mudar 29 de fevereiro de 2008 para trás um ano resulta em 1 de março de 2007, porque é tratado como o 60º dia do ano. Na inteligência temporal clássica, o mesmo turno retorna em 28 de fevereiro de 2007. A solução alternativa é usar DATEADD(Calendário, -<número de um ano>, mês). Por exemplo, se um ano tiver 13 meses no calendário, use DATEADD(Calendário, -13, mês). Esta abordagem mudará por mês, pelo que fevereiro de 2008 passará para fevereiro de 2007.

Funções de inteligência de tempoFunções de data e hora PREVIOUSYEARPARALLELPERIOD