Udostępnij przez


SAMEPERIODLASTYEAR

Dotyczy:kolumna obliczeniowatabela obliczeniowaMiarawizualizacji

Uwaga

Ta funkcja jest zniechęcana do użycia w obliczeniach wizualnych , ponieważ prawdopodobnie zwraca wyniki bez znaczenia.

W przypadku danych wejściowych w kolumnie daty zwraca tabelę zawierającą kolumnę dat przesuniętą o jeden rok z powrotem w czasie z dat w określonej dates kolumnie w bieżącym kontekście.

W przypadku danych wejściowych kalendarza zwraca tabelę przesuniętą rok wstecz w czasie z dat w bieżącym kontekście na podstawie kalendarza. Tabela zawiera wszystkie podstawowe otagowane kolumny i wszystkie powiązane kolumny czasu.

Składnia

SAMEPERIODLASTYEAR(<dates> or <calendar>)

Parametry

Termin Definicja
dates or calendar Kolumna zawierająca daty lub odwołanie do kalendarza

Wartość zwracana

W przypadku danych wejściowych w kolumnie daty zwracana jest jednokolumna tabela wartości daty.
W przypadku danych wejściowych kalendarza zwróć tabelę zawierającą wszystkie podstawowe oznaczone kolumny i wszystkie powiązane kolumny czasu.

Uwagi

  • Argument dates może być dowolny z następujących:

    • Odwołanie do kolumny daty/godziny,
    • Wyrażenie tabeli zwracające jedną kolumnę wartości daty/godziny,
    • Wyrażenie logiczne definiujące jednokolumnową tabelę wartości daty/godziny.
  • Ograniczenia dotyczące wyrażeń logicznych opisano w temacie CALCULATE.

  • Zwracane daty są takie same jak daty zwracane przez tę równoważną formułę: DATEADD(dates, -1, year)

  • Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.

Przykład

Poniższa przykładowa formuła tworzy miarę, która oblicza sprzedaż odsprzedawcy z poprzedniego roku.

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

Zachowanie specjalne

Gdy zaznaczenie obejmuje ostatnie dwa dni miesiąca, SAMEPERIODLASTYEAR będzie używać semantyki "extension" i będzie zawierać dni do końca miesiąca. Na przykład, gdy 27 lutego i 28 z 2009 r. zostaną uwzględnione w wyborze, SAMEPERIODLASTYEAR zwróci 27 lutego do 29 z 2008 r.

To zachowanie występuje tylko wtedy, gdy ostatnie dwa dni miesiąca zostaną uwzględnione w zaznaczeniu. Jeśli wybrano tylko 27 lutego, trafi do 27 lutego.

= SAMEPERIODLASTYEAR(DateTime[DateKey])

Przykład analizy czasowej opartej na kalendarzu

Poniższa przykładowa formuła tworzy miarę, która oblicza sprzedaż odsprzedawcy z poprzedniego roku.

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

Różnice w zachowaniu między analizą czasu klasycznego i kalendarza

Niektóre scenariusze mogą przynieść różne wyniki podczas porównywania analizy czasu klasycznego i kalendarza. Na przykład w roku księżycowym SamePeriodLastYear wygeneruje różne wyniki na stopień szczegółowości daty. W analizie czasowej opartej na kalendarzu zmiana 29 lutego 2008 r. z powrotem na rok 1 marca 2007 r., ponieważ jest traktowana jako 60 dzień roku. W klasycznej inteligencji czasowej ta sama zmiana zwraca 28 lutego 2007 roku. Obejściem jest użycie DATEADD(Calendar, -<number of a year>, month). Jeśli na przykład rok ma 13 miesięcy w kalendarzu, użyj wartości DATEADD(Kalendarz, -13, miesiąc). Takie podejście zmieni się o miesiąc, więc luty 2008 r. przejdzie do lutego 2007 r.

funkcje analizy czasowej funkcje daty i godziny PREVIOUSYEARPARALLELPERIOD