Data Analysis Expressions (DAX) memiliki 35 fungsi khusus untuk menggabungkan dan membandingkan data seiring waktu. Tidak seperti fungsi tanggal dan waktu DAX, fungsi Kecerdasan waktu tidak benar-benar memiliki kesamaan di Excel. Ini karena fungsi kecerdasan waktu bekerja dengan data yang terus berubah, bergantung 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 dinamai apa pun yang Anda suka). 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 kuartal-akhir penutupan 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 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 mengembalikan tanggal pertama atau terakhir dalam Date_Column dalam konteks saat ini. Ini bisa berguna ketika Anda ingin menemukan tanggal pertama atau terakhir di mana Anda memiliki transaksi tipe tertentu. Fungsi ini hanya memerlukan satu argumen, nama kolom tanggal dalam tabel tanggal Anda.
Dua fungsi berikutnya dalam kategori ini menemukan tanggal pertama atau terakhir (atau nilai kolom lainnya juga) di mana ekspresi memiliki nilai tidak kosong. Ini paling sering digunakan dalam situasi seperti persediaan, di mana Anda ingin mendapatkan jumlah persediaan terakhir, dan Anda tidak tahu kapan persediaan 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 dari bulan, kuartal, atau tahun dalam konteks penghitungan 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
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 satu bulan atau tahun pada label kolom atau label baris. Efek bersih adalah kolom tanggal difilter untuk menyertakan tanggal untuk konteks saat ini saja. Mulai dari konteks saat ini, delapan 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.
-
PREVIOUSDAY (Date_Column)
-
PREVIOUSMONTH (Date_Column)
-
PREVIOUSQUARTER (Date_Column)
-
PREVIOUSYEAR (Date_Column [,YE_Date])
-
HARI BERIKUTNYA (Date_Column)
-
NEXTMONTH (Date_Column)
-
NEXTQUARTER (Date_Column)
-
NEXTYEAR (Date_Column [,YE_Date])
Empat fungsi berikutnya dalam kategori ini serupa, tetapi bukan menghitung periode sebelumnya (atau berikutnya), fungsi tersebut menghitung kumpulan tanggal dalam periode "month-to-date" (atau quarter-to-date, atau year-to-date, atau dalam periode yang sama tahun sebelumnya). Fungsi-fungsi ini semua menjalankan perhitungannya menggunakan tanggal terakhir dalam konteks saat ini. Perhatikan bahwa SAMEPERIODLASTYEAR mengharuskan konteks saat ini berisi sekumpulan tanggal yang berdampingan. Jika konteks saat ini bukan kumpulan tanggal yang berdampingan, maka 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, 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)
-
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. Tiga fungsi sisanya menggeser sejumlah interval waktu dari konteks saat ini. Intervalnya bisa berupa hari, bulan, kuartal atau tahun. Fungsi-fungsi ini memudahkan untuk menggeser interval waktu untuk perhitungan 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 digeser. Interval positif akan bergerak maju dalam waktu, sementara interval negatif akan kembali ke masa lalu. Interval itu sendiri ditentukan oleh kata kunci DAY, MONTH, QUARTER, atau YEAR. Kata kunci ini bukan string, jadi kata kunci tersebut tidak boleh berada dalam tanda kutip.
Fungsi yang mengevaluasi ekspresi selama periode waktu
Kategori fungsi ini mengevaluasi ekspresi selama periode waktu tertentu. Anda dapat menyelesaikan hal yang sama menggunakan CALCULATE dan fungsi kecerdasan waktu lainnya. Misalnya:
= TOTALMTD (Ekspresi, Date_Column [, SetFilter])
sama persis seperti:
= CALCULATE (Expression, DATESMTD (Date_Column)[, SetFilter])
Namun, lebih mudah untuk menggunakan fungsi kecerdasan waktu ini ketika fungsi tersebut cocok untuk masalah yang perlu diatasi:
-
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 buka dan tutup. Ada konsep tertentu yang harus Anda pahami dengan fungsi-fungsi tertentu ini. Pertama, seperti yang mungkin Anda pikirkan, saldo pembukaan untuk periode apa pun sama dengan saldo penutup untuk periode sebelumnya. Saldo penutup mencakup semua data hingga akhir periode, sementara saldo pembukaan tidak menyertakan data apa pun dari dalam periode saat ini.
Fungsi ini selalu mengembalikan nilai ekspresi yang dievaluasi untuk titik waktu tertentu. Titik waktu yang kami pedulikan adalah selalu nilai tanggal terakhir yang memungkinkan dalam periode kalender. Saldo pembukaan didasarkan pada tanggal terakhir periode sebelumnya, sedangkan saldo penutup didasarkan pada tanggal terakhir dalam periode saat ini. Periode saat ini selalu ditentukan oleh tanggal terakhir dalam konteks tanggal saat ini.
-
OPENINGBALANCEMONTH (Ekspresi, Date_Column [,SetFilter])
-
OPENINGBALANCEQUARTER Kuartal (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 DAXpada Office.com
Sampel: Pemodelan dan Analisis Data Laba dan Rugi dengan Microsoft PowerPivot di Excel