Compartilhar via


SAMEPERIODLASTYEAR

aplica-se a:coluna calculadatabela calculadamedidacálculo visual

Observação

Essa função não é recomendada para uso em cálculos visuais, pois provavelmente retornará resultados sem sentido.

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

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

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 colunas relacionadas a todos os tempos.

Comentários

  • 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 booliana que define uma tabela de coluna única de valores de data/hora.
  • Restrições em expressões boolianas 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)

  • Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).

Exemplo

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

= 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 estiverem incluídos na seleção, SAMEPERIODLASTYEAR retornará de 27 a 29 de fevereiro de 2008.

Esse comportamento só acontece quando os últimos dois dias do mês são incluídos na seleção. Se apenas 27 de fevereiro estiver selecionado, ele 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 de vendas de revendedores.

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

Diferenças no 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 de data. Na inteligência temporal baseada em calendário, a mudança de 29 de fevereiro de 2008 para trás um ano resulta em 1º de março de 2007, porque é tratada como o 60º dia do ano. Na inteligência temporal clássica, o mesmo turno retorna 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). Essa abordagem mudará por mês, então fevereiro de 2008 irá para fevereiro de 2007.

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