Belajar DAX melalui Measure Sederhana

Pengenalan DAX (Data Analysis Expressions) di Power BI: membuat measure total penjualan, profit margin, dan pertumbuhan tahun ke tahun.

Apa itu DAX?

DAX (Data Analysis Expressions) adalah bahasa rumus yang digunakan di Power BI, Power Pivot, dan Analysis Services untuk membuat perhitungan khusus. Berbeda dengan rumus Excel yang bekerja pada sel, DAX bekerja pada tabel dan kolom dalam model data.

Dalam tulisan ini, saya bagikan catatan belajar saya membuat beberapa measure sederhana untuk analisis penjualan.

1. Total Penjualan

Measure pertama yang saya buat adalah total revenue:

Total Penjualan = SUM(FactSales[revenue])

Measure ini akan menghitung jumlah semua nilai di kolom revenue dalam tabel FactSales, dengan memfilter konteks yang sedang aktif (misalnya oleh slicer tanggal atau produk).

2. Total Quantity

Total Quantity = SUM(FactSales[quantity])

3. Profit Margin

Sebelum membuat margin, saya perlu measure total biaya pokok penjualan (COPP):

Total COPP = SUM(FactSales[cost])

Lalu hitung profit dan margin:

Total Profit = [Total Penjualan] - [Total COPP]

Profit Margin % = DIVIDE([Total Profit], [Total Penjualan], 0)

Fungsi DIVIDE lebih aman daripada operator / karena menangani pembagian dengan nol dengan mengembalikan nilai default (di sini 0).

4. Pertumbuhan Tahun ke Tahun (YoY)

Untuk membandingkan penjualan tahun ini dengan tahun lalu, saya menggunakan SAMEPERIODLASTYEAR:

Penjualan Tahun Lalu = CALCULATE(
    [Total Penjualan],
    SAMEPERIODLASTYEAR(DimDate[date])
)

Pertumbuhan YoY % = DIVIDE(
    [Total Penjualan] - [Penjualan Tahun Lalu],
    [Penjualan Tahun Lalu],
    0
)

CALCULATE mengubah konteks filter, dan SAMEPERIODLASTYEAR menggeser tanggal ke satu tahun sebelumnya.

5. Running Total

Menghitung total kumulatif dari awal tahun sampai tanggal saat ini:

Running Total = CALCULATE(
    [Total Penjualan],
    FILTER(
        ALLSELECTED(DimDate),
        DimDate[date] <= MAX(DimDate[date])
    )
)

Pelajaran

Saya belajar bahwa nama measure harus jelas dan konsisten, karena measure akan digunakan berulang kali dalam berbagai visualisasi. Hindari membuat measure yang terlalu kompleks dalam satu rumus; pecah menjadi beberapa measure kecil yang dapat digabungkan.

Contoh DAX dalam tulisan ini menggunakan model data sintetis dan bertujuan untuk demonstrasi pembelajaran.