Bagikan melalui


SAMEPERIODLASTYEAR

Berlaku untuk: kolom terhitungTabel terhitungUkurPerhitungan visual

Catatan

Fungsi ini tidak disarankan untuk digunakan dalam perhitungan visual karena kemungkinan mengembalikan hasil yang tidak berarti.

Untuk input kolom tanggal, mengembalikan tabel yang berisi kolom tanggal yang digeser satu tahun ke belakang dari tanggal di kolom yang ditentukan dates , dalam konteks saat ini.

Untuk input kalender, mengembalikan tabel yang digeser satu tahun ke belakang dari tanggal dalam konteks saat ini, berdasarkan kalender. Tabel berisi semua kolom utama yang ditandai dan kolom terkait sepanjang waktu.

Sintaks

SAMEPERIODLASTYEAR(<dates> or <calendar>)

Parameter

Term Definisi
dates or calendar Kolom yang berisi tanggal atau referensi kalender

Mengembalikan nilai

Untuk input kolom tanggal, kembalikan tabel kolom tunggal dari nilai tanggal.
Untuk input kalender, kembalikan tabel yang berisi semua kolom utama yang ditandai dan semua kolom terkait waktu.

Keterangan

  • Argumen dates dapat berupa salah satu hal berikut:

    • Referensi ke kolom tanggal/waktu,
    • Ekspresi tabel yang mengembalikan satu kolom nilai tanggal/waktu,
    • Ekspresi Boolean yang menentukan tabel kolom tunggal dari nilai tanggal/waktu.
  • Batasan pada ekspresi Boolean dijelaskan dalam topik, CALCULATE.

  • Tanggal yang dikembalikan sama dengan tanggal yang dikembalikan oleh rumus yang setara ini: DATEADD(dates, -1, year)

  • Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).

Contoh

Contoh rumus berikut membuat pengukuran yang menghitung penjualan penjualan Penjual tahun sebelumnya.

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

Perilaku khusus

Ketika pemilihan mencakup dua hari terakhir dalam sebulan, SAMEPERIODLASTYEAR akan menggunakan semantik "ekstensi" dan akan mencakup hari-hari hingga akhir bulan. Misalnya, ketika 27 dan 28 Feb 2009 disertakan dalam pilihan, SAMEPERIODLASTYEAR akan mengembalikan 27 Feb ke 29 tahun 2008.

Perilaku ini hanya terjadi ketika dua hari terakhir dalam bulan disertakan dalam pilihan. Jika hanya Feb 27 yang dipilih, itu akan masuk ke 27 Feb.

= SAMEPERIODLASTYEAR(DateTime[DateKey])

Contoh untuk kecerdasan waktu berbasis kalender

Contoh rumus berikut membuat pengukuran yang menghitung penjualan penjualan Penjual tahun sebelumnya.

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

Perbedaan perilaku antara kecerdasan waktu klasik dan kalender

Beberapa skenario mungkin menghasilkan hasil yang berbeda saat membandingkan kecerdasan waktu klasik dan kalender. Misalnya, pada tahun bulan, SamePeriodLastYear akan menghasilkan hasil yang berbeda pada granularitas tanggal. Dalam kecerdasan waktu berbasis kalender, menggeser Feb 29 2008 kembali satu tahun menghasilkan 1 Mar 2007, karena diperlakukan sebagai hari ke-60 dalam setahun. Dalam kecerdasan waktu klasik, shift yang sama mengembalikan Feb 28 2007. Solusinya adalah menggunakan DATEADD(Kalender, -<jumlah tahun>, bulan). Misalnya, jika setahun memiliki 13 bulan di kalender, gunakan DATEADD(Kalender, -13, bulan). Pendekatan ini akan bergeser setiap bulan sehingga Feb 2008 akan pergi ke Feb 2007.