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, gunakan fungsi yang lebih cocok DATESINPERIOD .

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 Anda menggunakan sintaks kalender, gunakan jenis data yang sama dengan kolom utama yang ditandai ke kategori Hari.
EndDate Ekspresi tanggal/hari. Jika Anda menggunakan sintaks kalender, 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 StartDate adalah BLANK, maka StartDate adalah nilai paling awal dalam dates kolom. Untuk kalender, ini adalah nilai pertama dalam kolom yang ditandai sebagai hari.

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

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

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

  • Untuk input kalender, jika tanggal input tidak ditemukan di kolom hari yang ditandai, itu diperlakukan sebagai BLANK, dan nilai pertama atau terakhir 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.

Rumus menggunakan MAX fungsi . 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.

Rumus menggunakan MAX fungsi . 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. Kami menggunakan DateKey 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] ) )
)