Data Analysis Expressions (DAX) memiliki 35 fungsi khusus untuk agregasi dan membandingkan data dari waktu ke waktu. Tidak seperti fungsi tanggal dan waktu DAX, fungsi Inteligensi waktu tidak benar-benar memiliki kesamaan dalam Excel. Ini karena fungsi kecerdasan waktu bekerja dengan data yang terus berubah, bergantung pada konteks yang Anda pilih di PivotTable dan visualisasi 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 sukai). Banyak fungsi kecerdasan waktu memerlukan kolom tanggal untuk menghitung menurut tanggal yang Anda pilih sebagai bidang dalam laporan. Misalnya, jika Anda memiliki pengukuran yang menghitung saldo akhir kuartal penutup dengan menggunakan fungsi CLOSINGBALANCEQTR, agar Power Pivot mengetahui kapan akhir kuartal benar-benar, 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 Excel.
Fungsi
Fungsi yang mengembalikan tanggal tunggal
Fungsi dalam kategori ini mengembalikan tanggal tunggal. Hasilnya nanti dapat digunakan sebagai argumen untuk fungsi-fungsi lain.
Dua fungsi pertama dalam kategori ini mengembalikan tanggal pertama atau terakhir dalam Date_Column konteks saat ini. Hal ini akan berguna saat Anda ingin menemukan tanggal pertama atau terakhir di mana Anda memiliki transaksi tipe tertentu. Fungsi ini hanya mengambil satu argumen, nama kolom tanggal dalam tabel tanggal Anda.
Dua fungsi berikutnya dalam kategori ini menemukan tanggal pertama atau terakhir (atau juga nilai kolom lainnya) ketika ekspresi memiliki nilai non-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 tanggal tunggal adalah fungsi yang mengembalikan tanggal pertama atau terakhir suatu bulan, kuartal, atau tahun dalam konteks perhitungan saat ini.
-
STARTOFMONTH (Date_Column)
-
STARTOFQUARTER (Date_Column)
-
STARTOFYEAR (Date_Column [,YE_Date])
-
ENDOFMONTH (Date_Column)
-
ENDOFQUARTER (Date_Column)
-
ENDOFYEAR (Date_Column [,YE_Date])
Fungsi yang mengembalikan tabel tanggal
Terdapat fungsi kecerdasan waktu rusia yang mengembalikan tabel tanggal. Sering kali, fungsi-fungsi ini akan digunakan sebagai argumen SetFilter untuk fungsi CALCULATE. Sama seperti semua fungsi kecerdasan waktu di DAX, tiap 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 bersih adalah kolom tanggal difilter untuk menyertakan hanya tanggal untuk konteks saat ini. Dimulai dari konteks saat ini, delapan fungsi ini lalu menghitung hari, bulan, kuartal, atau tahun sebelumnya dan mengembalikan tanggal tersebut dalam bentuk tabel kolom tunggal. Fungsi "sebelumnya" bekerja mundur dari tanggal pertama dalam konteks saat ini, dan fungsi "berikutnya" berpindah maju dari tanggal terakhir dalam konteks saat ini.
-
PREVIOUSDAY (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
NEXTDAY (Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Empat fungsi berikutnya dalam kategori ini mirip, tetapi alih-alih menghitung periode sebelumnya (atau berikutnya), fungsi tersebut menghitung serangkaian tanggal dalam periode yang "bulan ke tanggal" (atau kuartal-ke-tanggal, atau tahun ke tanggal, atau dalam periode yang sama pada tahun sebelumnya). Semua fungsi ini menjalankan perhitungannya menggunakan tanggal terakhir dalam konteks saat ini. Perlu diketahui bahwa SAMEPERIODLASTYEAR mengharuskan konteks saat ini berisi kumpulan tanggal yang berdekatan. Jika konteks saat ini bukan kumpulan tanggal yang bersebelahan, SAMEPERIODLASTYEAR akan mengembalikan kesalahan.
-
DATESMTD (Date_Column)
-
DATESQTD (Date_Column)
-
DATESYTD (Date_Column [,YE_Date])
-
SAMEPERIODLASTYEAR (Date_Column)
Empat fungsi terakhir dalam kategori ini sedikit lebih kompleks, juga sedikit lebih canggih. Fungsi ini digunakan untuk beralih dari kumpulan tanggal yang ada dalam konteks saat ini ke kumpulan tanggal baru.
-
DATEADD (Date_Column, Number_of_Intervals, Interval)
-
DATESBETWEEN (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. Ketiga fungsi sisanya menggeser sejumlah interval waktu dari konteks saat ini. Intervalnya bisa adalah hari, bulan, kuartal atau tahun. Fungsi ini memudahkan Anda untuk menggeser interval waktu untuk penghitungan dengan salah satu hal berikut:
-
Kembali dua tahun
-
Kembali satu bulan
-
Maju tiga kuartal
-
Kembali 14 hari
-
Maju 28 hari
Dalam setiap kasus, Anda hanya perlu menentukan interval mana, dan berapa banyak interval yang akan bergeser. Interval positif akan berpindah maju dalam waktu, sementara interval negatif akan berpindah kembali ke waktu. Interval itu sendiri ditentukan oleh kata kunci DAY, MONTH, QUARTER, atau YEAR. Kata kunci ini bukan string, jadi kata kunci tersebut tidak boleh dalam tanda kutip.
Fungsi yang mengevaluasi ekspresi selama periode waktu tertentu
Kategori fungsi ini mengevaluasi ekspresi selama periode waktu tertentu. Anda dapat menyelesaikan hal yang sama menggunakan fungsi CALCULATE dan kecerdasan waktu lainnya. Misalnya:
= TOTALMTD (Expression, Date_Column [, SetFilter])
sama persis dengan:
= CALCULATE (Ekspresi, DATESMTD (Date_Column;), SetFilter])
Namun, akan lebih mudah menggunakan fungsi kecerdasan waktu ini bila ada baiknya untuk masalah yang perlu diatasi:
-
TOTALMTD (Expression, Date_Column [, SetFilter])
-
TOTALQTD (Expression, Date_Column [, SetFilter])
-
TOTALYTD (Expression, Date_Column [, SetFilter] [,YE_Date]) *
Dalam kategori ini juga ada sekelompok fungsi yang menghitung saldo buka dan tutup. Ada konsep tertentu yang harus Anda pahami dengan fungsi-fungsi tertentu ini. Pertama, seperti yang mungkin Anda bayangkan, saldo pembukaan untuk periode apa pun sama dengan saldo penutupan periode sebelumnya. Saldo penutup mencakup semua data hingga akhir periode, sedangkan saldo pembuka tidak menyertakan data apa pun dari dalam periode saat ini.
Fungsi ini selalu mengembalikan nilai dari ekspresi yang dievaluasi untuk titik tertentu pada waktu tertentu. Titik dalam waktu yang kita berhati-hatilah selalu nilai tanggal terakhir yang mungkin dalam periode kalender. Saldo pembuka didasarkan pada tanggal terakhir periode sebelumnya, sementara saldo penutupan didasarkan pada tanggal terakhir periode saat ini. Periode saat ini selalu ditentukan menurut tanggal terakhir dalam konteks tanggal saat ini.
-
OPENINGBALANCEMONTH (Expression, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Kuartal (Ekspresi, Date_Column [,SetFilter])
-
OPENINGBALANCEYEAR (Expression, Date_Column [,SetFilter] [,YE_Date])
-
CLOSINGBALANCEMONTH (Expression, Date_Column [,SetFilter])
-
CLOSINGBALANCEQUARTER (Expression, Date_Column [,SetFilter])
-
CLOSINGBALANCEYEAR (Expression, Date_Column [,SetFilter] [,YE_Date])
Sumber daya tambahan
Artikel: Memahami dan membuat tabel tanggal di Power Pivot Excel
Referensi: Referensi Fungsi DAXdi Office.com
Contoh: Pemodelan dan Analisis Data Laba dan Rugi dengan Microsoft PowerPivot di Excel