Ekspresi Analisis Data (DAX) memiliki 35 fungsi khusus untuk menggabungkan dan membandingkan data dari waktu ke waktu. Tidak seperti fungsi tanggal dan waktu DAX, fungsi Kecerdasan waktu tidak benar-benar memiliki hal serupa di Excel. Hal ini karena fungsi kecerdasan waktu bekerja dengan data yang terus berubah, tergantung pada konteks yang Anda pilih dalam visualisasi PivotTable dan Power View.
Untuk bekerja dengan fungsi kecerdasan waktu, Anda harus memiliki tabel tanggal yang disertakan dalam Model Data Anda. Tabel tanggal harus menyertakan kolom dengan satu baris untuk setiap hari setiap tahun yang disertakan dalam data Anda. Kolom ini dianggap sebagai kolom Tanggal (meskipun dapat diberi nama apa pun yang Anda suka). Banyak fungsi kecerdasan waktu memerlukan kolom tanggal untuk menghitung sesuai dengan tanggal yang Anda pilih sebagai bidang dalam laporan. Misalnya, jika Anda memiliki ukuran yang menghitung saldo akhir kuartal penutupan dengan menggunakan fungsi CLOSINGBALANCEQTR, agar Power Pivot mengetahui kapan sebenarnya akhir kuartal, Power Pivot harus mereferensikan kolom tanggal dalam tabel tanggal untuk mengetahui kapan kuartal dimulai dan berakhir. Untuk mempelajari selengkapnya tentang tabel tanggal, lihat Memahami dan membuat tabel tanggal di Power Pivot di Excel.
Fungsi
Fungsi yang mengembalikan satu tanggal
Fungsi dalam kategori ini mengembalikan satu tanggal. Hasilnya kemudian dapat digunakan sebagai argumen untuk fungsi lain.
Dua fungsi pertama dalam kategori ini menghasilkan tanggal pertama atau terakhir dalam Date_Column dalam konteks saat ini. Hal ini dapat berguna ketika Anda ingin mencari tanggal pertama atau terakhir Anda melakukan transaksi dari jenis tertentu. Fungsi ini hanya membutuhkan satu argumen, nama kolom tanggal dalam tabel tanggal Anda.
- KENCAN PERTAMA (Date_Column)
- TANGGAL TERAKHIR (Date_Column)
Dua fungsi berikutnya dalam kategori ini menemukan tanggal pertama atau terakhir (atau nilai kolom lainnya juga) di mana ekspresi memiliki nilai yang tidak kosong. Ini paling sering digunakan dalam situasi seperti inventaris, di mana Anda ingin mendapatkan jumlah inventaris terakhir, dan Anda tidak tahu kapan inventaris terakhir diambil.
- FIRSTNONBLANK (Date_Column, ekspresi)
- LASTNONBLANK (Date_Column, ekspresi)
Enam fungsi lainnya yang mengembalikan satu tanggal adalah fungsi yang mengembalikan tanggal pertama atau terakhir dalam bulan, kuartal, atau tahun dalam konteks penghitungan saat ini.
- STARTOFMONTH (Date_Column)
- STARTOFQUARTER (Date_Column)
- STARTOFYEAR (Date_Column [,YE_Date])
- AKHIR BULAN (Date_Column)
- ENDOFQUARTER (Date_Column)
- AKHIR TAHUN (Date_Column [,YE_Date])
Fungsi yang mengembalikan tabel tanggal
Ada enam belas fungsi kecerdasan waktu yang mengembalikan tabel tanggal. Paling sering, fungsi ini akan digunakan sebagai argumen SetFilter untuk fungsi CALCULATE . Sama seperti semua fungsi kecerdasan waktu di DAX, setiap fungsi mengambil kolom tanggal sebagai salah satu argumennya.
Delapan fungsi pertama dalam kategori ini dimulai dengan kolom tanggal dalam konteks saat ini. Misalnya, jika menggunakan pengukuran dalam PivotTable, mungkin ada bulan atau tahun pada label kolom atau label baris. Efek bersihnya adalah kolom tanggal difilter untuk hanya menyertakan tanggal untuk konteks saat ini. Dimulai dari konteks saat ini, kedelapan fungsi ini kemudian menghitung hari, bulan, kuartal, atau tahun sebelumnya (atau berikutnya) dan mengembalikan tanggal tersebut dalam bentuk tabel kolom tunggal. Fungsi "sebelumnya" bekerja mundur dari tanggal pertama dalam konteks saat ini, dan fungsi "berikutnya" bergerak maju dari tanggal terakhir dalam konteks saat ini.
- HARI SEBELUMNYA (Date_Column)
- BULAN SEBELUMNYA (Date_Column)
- PREVIOUSQUARTER (Date_Column)
- TAHUN SEBELUMNYA (Date_Column [,YE_Date])
- HARI BERIKUTNYA (Date_Column)
- BULAN DEPAN (Date_Column)
- KUARTAL BERIKUTNYA (Date_Column)
- TAHUN DEPAN (Date_Column [,YE_Date])
Empat fungsi berikutnya dalam kategori ini serupa, tetapi alih-alih menghitung periode sebelumnya (atau berikutnya), mereka menghitung kumpulan tanggal dalam periode yang "bulanan" (atau kuartal-ke-tanggal, atau tahun-ke-tanggal, atau dalam periode yang sama tahun sebelumnya). Semua fungsi ini melakukan penghitungan mereka menggunakan tanggal terakhir dalam konteks saat ini. Perhatikan bahwa SAMEPERIODLASTYEAR mengharuskan konteks saat ini berisi kumpulan tanggal yang berdekatan. Jika konteks saat ini bukan kumpulan tanggal yang berdekatan, maka SAMEPERIODLASTYEAR akan mengembalikan kesalahan.
- DATESMTD (Date_Column)
- DATESQTD (Date_Column)
- DATESYTD (Date_Column [,YE_Date])
- SAMAPERIODETAHUN lalu (Date_Column)
Empat fungsi terakhir dalam kategori ini sedikit lebih kompleks, dan juga sedikit lebih kuat. Fungsi ini digunakan untuk beralih dari kumpulan tanggal yang berada dalam konteks saat ini ke kumpulan tanggal baru.
- DATEADD (Date_Column, Number_of_Intervals, interval)
- TANGGALANTARA (Date_Column, Start_Date, End_Date)
- DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, interval)
- PARALLELPERIOD (Date_Column, Number_of_Intervals, interval)
DATESBETWEEN menghitung kumpulan tanggal antara tanggal mulai dan tanggal akhir yang ditentukan. Tiga fungsi sisanya menggeser sejumlah interval waktu dari konteks saat ini. Intervalnya bisa berupa hari, bulan, kuartal atau tahun. Fungsi ini memudahkan untuk menggeser interval waktu untuk penghitungan dengan salah satu hal berikut:
- Kembali dua tahun ke belakang
- Kembali satu bulan
- Maju tiga perempat ke depan
- Kembali 14 hari
- Maju 28 hari ke depan
Dalam setiap kasus, Anda hanya perlu menentukan interval mana, dan berapa interval yang akan digeser. Interval positif akan bergerak maju dalam waktu, sedangkan interval negatif akan bergerak mundur dalam waktu. Interval itu sendiri ditentukan dengan kata kunci HARI, BULAN, KUARTAL, atau TAHUN. Kata kunci ini bukan string, jadi kata kunci tidak boleh berada dalam tanda kutip.
Fungsi yang mengevaluasi ekspresi selama periode waktu tertentu
Kategori fungsi ini mengevaluasi ekspresi selama periode waktu tertentu. Anda dapat mencapai hal yang sama dengan menggunakan CALCULATE dan fungsi kecerdasan waktu lainnya. Misalnya:
= TOTALMTD (Ekspresi, Date_Column [, SetFilter])
persis sama dengan:
= HITUNG (Ekspresi, DATESMTD (Date_Column)[, SetFilter])
Namun, lebih mudah untuk menggunakan fungsi kecerdasan waktu ini ketika sesuai dengan masalah yang perlu dipecahkan:
- TOTALMTD (Ekspresi, Date_Column [, SetFilter])
- TOTALQTD (Ekspresi, Date_Column [, SetFilter])
- TOTALYTD (Ekspresi, Date_Column [, SetFilter] [,YE_Date]) *
Juga dalam kategori ini adalah sekelompok fungsi yang menghitung saldo pembukaan dan penutupan. Ada konsep tertentu yang harus Anda pahami dengan fungsi khusus ini. Pertama, seperti yang mungkin Anda pikirkan jelas, saldo pembukaan untuk periode apa pun sama dengan saldo penutupan untuk periode sebelumnya. Saldo penutupan mencakup semua data hingga akhir periode, sedangkan saldo pembukaan tidak mencakup data apa pun dari dalam periode berjalan.
Fungsi ini selalu mengembalikan nilai ekspresi yang dievaluasi untuk titik waktu tertentu. Titik waktu yang kita pedulikan selalu nilai tanggal terakhir yang mungkin dalam periode kalender. Saldo pembukaan didasarkan pada tanggal terakhir periode sebelumnya, sedangkan saldo penutupan didasarkan pada tanggal terakhir dalam periode berjalan. Periode saat ini selalu ditentukan oleh tanggal terakhir dalam konteks tanggal saat ini.
- OPENINGBALANCEMONTH (ekspresi, Date_Column [,SetFilter])
- PEMBUKAANKESEIMBANGANKUARTAL Quarter (ekspresi, Date_Column [,SetFilter])
- OPENINGBALANCEYEAR (ekspresi, Date_Column [,SetFilter] [,YE_Date])
- CLOSINGBALANCEMONTH (ekspresi, Date_Column [,SetFilter])
- CLOSINGBALANCEQUARTER (Ekspresi, Date_Column [,SetFilter])
- CLOSINGBALANCEYEAR (ekspresi, Date_Column [,SetFilter] [,YE_Date])
Sumber daya tambahan
Artikel: Memahami dan membuat tabel tanggal di Power Pivot di Excel
Referensi: Referensi fungsi DAX di Office.com
Sampel: Pemodelan dan Analisis Data Untung dan Rugi dengan Microsoft PowerPivot di Excel