Bagikan melalui


DATESBETWEEN

Berlaku untuk: kolom terhitungTabel terhitungUkurPerhitungan visual

Nota

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 dimulai dengan tanggal mulai yang ditentukan dan berlanjut hingga tanggal akhir yang ditentukan.

Untuk input kalender, mengembalikan tabel yang dimulai dengan tanggal mulai tertentu dan berlanjut hingga tanggal selesai yang ditentukan. Tabel berisi semua kolom utama yang ditandai dan kolom terkait sepanjang waktu.

Fungsi ini cocok untuk diteruskan sebagai filter ke fungsi CALCULATE. Gunakan untuk memfilter ekspresi menurut rentang tanggal kustom.

Nota

Jika Anda bekerja dengan interval tanggal standar seperti hari, bulan, kuartal, atau tahun, disarankan Anda menggunakan fungsi DATESINPERIOD yang lebih cocok.

Sintaksis

DATESBETWEEN(<dates> or <calendar>, <StartDate>, <EndDate>)

Parameter

Istilah Definisi
dates or calendar Kolom yang berisi tanggal atau referensi kalender
StartDate Ekspresi tanggal/hari. Jika sintaks kalender digunakan, gunakan jenis data yang sama dengan kolom utama yang ditandai ke kategori Hari.
EndDate Ekspresi tanggal/hari. Jika sintaks kalender digunakan, gunakan jenis data yang sama dengan kolom utama yang ditandai ke kategori Hari.

Mengembalikan nilai

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

Komentar

  • Dalam kasus penggunaan yang paling umum, dates adalah referensi ke kolom tanggal tabel tanggal yang ditandai.

  • Jika StartDateBLANK, maka StartDate akan menjadi nilai paling awal di kolom dates. Untuk kalender, ini akan menjadi nilai pertama dalam kolom yang ditandai sebagai hari.

  • Jika EndDateBLANK, maka EndDate akan menjadi nilai terbaru di kolom dates. Untuk kalender, ini akan menjadi nilai terakhir dalam kolom yang ditandai sebagai hari.

  • Tanggal yang digunakan sebagai StartDate dan EndDate inklusif. Jadi, misalnya, jika nilai StartDate adalah 1 Juli 2019, maka tanggal tersebut akan disertakan dalam tabel yang dikembalikan (asalkan tanggal ada di kolom dates).

  • Untuk input kolom tanggal, tabel yang dikembalikan hanya dapat berisi tanggal yang disimpan dalam Dates kolom. Jadi, misalnya, jika kolom Dates dimulai dari 1 Juli 2017, dan nilai StartDate adalah 1 Juli 2016, tabel yang dikembalikan akan dimulai dari 1 Juli 2017.

  • Untuk input kalender, jika tanggal input tidak ditemukan di kolom hari yang ditandai, itu akan diperlakukan sebagai BLANK dan dengan demikian nilai pertama/terakhir akan digunakan.

  • Untuk input kalender, gunakan jenis dan format data yang sama dengan kolom hari yang ditandai untuk tanggal mulai dan tanggal selesai. Misalnya, jika kolom menggunakan format YYYY-Sn-Qn-Mnn-Wnn-Dnn (misalnya, "2014-S2-Q4-M11-W45-D03"), tanggal mulai dan tanggal akhir harus mengikuti format yang sama (misalnya, "2015-S2-Q4-M11-W45-D03"). Jika tidak, perilaku tidak ditentukan.

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

Contoh

Definisi pengukuran tabel Penjualan berikut menggunakan fungsi untuk menghasilkan perhitungan masa pakai (LTD) . Life-to-date mewakili akumulasi ukuran dari waktu ke waktu sejak awal waktu.

Perhatikan bahwa rumus menggunakan fungsi MAX. Fungsi ini mengembalikan tanggal terbaru yang ada dalam konteks filter. Jadi, fungsi DATESBETWEEN mengembalikan tabel tanggal yang dimulai dari tanggal paling awal hingga tanggal terbaru yang dilaporkan.

Contoh dalam artikel ini dapat digunakan dengan contoh model Power BI Desktop Adventure Works DW 2020. Untuk mendapatkan model, lihat DAX contoh model.

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( 'Date'[Date], BLANK (), MAX ( 'Date'[Date] ) )
)

Pertimbangkan bahwa tanggal paling awal yang disimpan dalam tabel Tanggal adalah 1 Juli 2017. Jadi, ketika laporan memfilter pengukuran pada bulan Juni 2020, fungsi DATESBETWEEN mengembalikan rentang tanggal dari 1 Juli 2017 hingga 30 Juni 2020.

Contoh untuk kecerdasan waktu berbasis kalender

Definisi pengukuran tabel Penjualan berikut menggunakan fungsi untuk menghasilkan perhitungan masa pakai (LTD) . Life-to-date mewakili akumulasi ukuran dari waktu ke waktu sejak awal waktu.

Perhatikan bahwa rumus menggunakan fungsi MAX. Fungsi ini mengembalikan datekey maks yang ada dalam konteks filter. Jadi, fungsi DATESBETWEEN mengembalikan tabel tanggal yang dimulai dari tanggal paling awal hingga tanggal terbaru yang dilaporkan. DateKey digunakan sebagai contoh untuk menunjukkan bahwa kategori "Hari" dapat ditandai dengan kolom yang tidak diketik tanggal

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( FiscalCalendar, BLANK (), MAX ( 'Date'[DateKey] ) )
)