DAX SUMMARIZE() dan Pengelompokan Data
Berikut cara fungsi SUMMARIZE() membuat tabel ringkasan berdasarkan kolom dan agregasi yang ditentukan:
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Pada sintaks di atas:
-
tableadalah tabel sumber untuk data Anda. -
groupBy_columnNameadalah kolom yang ingin Anda gunakan sebagai dasar pengelompokan. -
nameadalah nama untuk kolom terhitung baru Anda. -
expressionadalah perhitungan yang ingin Anda lakukan.
Anda dapat menggunakan SUMMARIZE() dengan tabel atau kolom mana pun dalam dataset Anda, menjadikannya sangat serbaguna.
Pengelompokan dasar
Mari lihat contoh sederhana pengelompokan dasar dengan SUMMARIZE().
Pertama, impor dataset ke Power BI. Caranya, buka tab Home > Get Data. Pilih opsi yang sesuai dengan file yang Anda simpan dari menu dropdown dan muat datanya. Dalam contoh ini, saya memiliki dataset dengan kolom Year, Product, dan SalesAmount. Saya akan mengimpornya ke Power BI.

Tabel bernama sales. Gambar oleh Penulis.
Setelah data diimpor, buka tab Modeling > New table. Lalu, masukkan rumus berikut untuk mengelompokkan berdasarkan kolom Year dan mengagregasikan Total Sales.
SummaryTable =
SUMMARIZE(
sales,
sales[Year],
"Total Sales", SUM(sales[SalesAmount])
)

Bilah rumus. Gambar oleh Penulis.
Dalam rumus ini:
-
SummarizedTablemembuat tabel baru. -
SUMMARIZE(mulai mengelompokkan dan merangkum data. -
SalesData,adalah tabel sumber. -
SalesData[Year],mengelompokkan berdasarkan kolom Year. -
"Total Sales", SUM(SalesData[SalesAmount])membuat kolom baru bernama Total Sales yang menjumlahkan SalesAmount untuk setiap tahun.

Hasil ringkasan. Gambar oleh Penulis.
Di sini, fungsi SUMMARIZE() membuat tabel ringkasan dengan mengelompokkan data berdasarkan Year dan menghitung Total Sales dengan menjumlahkan SalesAmount untuk setiap tahun.
Pengelompokan ganda
SUMMARIZE() juga dapat menangani pengelompokan yang lebih kompleks. Mari memahaminya dengan contoh. Di sini, saya memiliki dataset dengan kolom Year, Product, Region, dan SalesAmount.

Tabel bernama sales_data. Gambar oleh Penulis.
Di sini, saya mengelompokkan berdasarkan Year dan Region untuk menghitung Total Sales untuk setiap kombinasi.
SummarizedTable =
SUMMARIZE(
sales_data,
sales_data[Year],
sales_data[Region],
"Total Sales", SUM(sales_data[SalesAmount])
)
Dalam rumus ini:
-
sales_dataadalah tabel tempat data Anda disimpan. -
sales_data[Year]adalah kolom pertama yang dikelompokkan berdasarkan Year. -
sales_data[Region]adalah kolom kedua yang dikelompokkan berdasarkan Region. -
"Total Sales"adalah nama kolom kustom untuk jumlah penjualan. -
SUM(SalesData[SalesAmount])menjumlahkan penjualan untuk setiap grup.

Ringkasan banyak kolom. Gambar oleh Penulis.
Di sini, pengelompokan ganda membantu kita memvisualisasikan tren penjualan berdasarkan Region dan Year sekaligus. Wilayah North dan East menunjukkan pertumbuhan dari 2021 hingga 2023. South memiliki penjualan tinggi pada 2022, sementara wilayah West hanya memiliki data untuk 2022–2023.
Teknik Lanjutan dengan DAX SUMMARIZE()
Walaupun SUMMARIZE() bermanfaat, Anda dapat menggabungkannya dengan fungsi DAX lain untuk mencoba kemampuan analisis data yang lebih canggih. Jadi, mari jelajahi beberapa contoh untuk melihat bagaimana teknik lanjutan memanfaatkan SUMMARIZE() untuk agregasi dan ringkasan yang kompleks.
Menggunakan SUMMARIZE() dengan ROLLUP()
Fitur ROLLUP() di dalam SUMMARIZE() menambahkan baris subtotal ke tabel ringkasan Anda untuk menampilkan subtotal di berbagai tingkat pengelompokan dan memberikan ringkasan hierarkis yang lebih detail. Jika Anda bekerja di bidang keuangan atau peran analisis terkait, ini akan sangat berguna untuk melakukan agregasi multi-level.
-
Tambahkan kata kunci
ROLLUP()setelah kolom pengelompokan Anda diSUMMARIZE(). -
Tentukan kolom mana yang harus disertakan dalam perhitungan
ROLLUP().
SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, ROLLUP(<groupBy_columnName>[,< groupBy_columnName>…])][, <name>, <expression>]…)
Sebagai contoh, dataset ini menampilkan Sales dan Quantity dari setiap Product di suatu Region tertentu. Sekarang, saya harus mencari ringkasan penjualan berdasarkan Region dan Product, dengan subtotal dan total.

Tabel bernama sales_rollup. Gambar oleh Penulis.
Untuk itu, saya menggunakan rumus berikut:
SalesWithRollup =
SUMMARIZE(
sales_rollup,
ROLLUP(sales_rollup[Region], sales_rollup[Product]),
"Total Sales", SUM(sales_rollup[Sales]),
"Total Quantity", SUM(sales_rollup[Quantity])
)

Menggunakan fungsi ROLLUP(). Gambar oleh Penulis.
Dapat Anda lihat — di sini fungsi SUMMARIZE() mengelompokkan data penjualan berdasarkan Region dan Product untuk menghitung Total Sales dan Total Quantity. ROLLUP() menambahkan baris subtotal dan total keseluruhan untuk memberikan ringkasan hierarkis performa penjualan di berbagai tingkat detail.
Menggabungkan SUMMARIZE() dengan ADDCOLUMNS()
Anda juga dapat memperluas SUMMARIZE() dengan ADDCOLUMNS() untuk menyertakan kolom terhitung kustom dalam data yang telah dikelompokkan. Ini bermanfaat jika Anda ingin menambahkan measure atau perhitungan kompleks ke tabel ringkasan.
Sebagai contoh, saya menggunakan dataset yang sama dan menerapkan rumus berikut untuk menambahkan kolom baru kali ini:
SalesWithAddColumns =
ADDCOLUMNS(
SUMMARIZE(
sales_rollup,
sales_rollup[Region],
sales_rollup[Product],
"Total Sales", SUM(sales_rollup[Sales]),
"Total Quantity", SUM(sales_rollup[Quantity])
),
"Average Sales per Unit",
DIVIDE(SUM(sales_rollup[Sales]), SUM(sales_rollup[Quantity]), 0)
)

Menggabungkan SUMMARIZE() dan ADDCOLUMNS(). Gambar oleh Penulis.
Di sini, fungsi SUMMARIZE() mengelompokkan penjualan berdasarkan Region dan Product untuk menghitung Total Sales dan Total Quantity. ADDCOLUMNS() kemudian menghitung Average Sales per Unit dengan membagi total penjualan dengan total kuantitas untuk setiap grup.
Masalah DAX Umum dan Cara Menyelesaikannya
Saat menggunakan SUMMARIZE(), Anda mungkin menemui beberapa masalah. Namun jangan khawatir — kami semua pernah mengalaminya — saya akan memandu Anda melalui beberapa tantangan umum dan cara mengatasinya.
Menghindari hasil yang ambigu
Terkadang, SUMMARIZE() dapat memberikan hasil yang kurang masuk akal. Ini sering terjadi ketika model data atau relasi Anda tidak jelas. Begini cara menghindarinya:
-
Periksa ulang model data Anda: Pastikan semua tabel terhubung dengan benar.
-
Gunakan nama kolom yang jelas: Hindari nama duplikat di berbagai tabel.
-
Cantumkan nama tabel: Saat merujuk kolom, sertakan nama tabel (seperti
Orders[OrderDate]) untuk menghindari kebingungan.
Pertimbangan kinerja
Walaupun SUMMARIZE() adalah fungsi yang membantu, fungsi ini bisa memakan sumber daya dan memperlambat proses saat memproses dataset besar. Artinya laporan Anda bisa memerlukan waktu lebih lama untuk menyegarkan, terutama jika Anda menggunakan fungsi ini dalam measure yang kompleks atau dengan banyak kolom yang dikelompokkan.
Berikut beberapa kiat agar kueri Anda tetap cepat:
-
Pertimbangkan kolom terhitung: Untuk ringkasan yang sering digunakan, buat kolom terhitung alih-alih menggunakan
SUMMARIZE()setiap kali. -
Hapus kolom yang tidak perlu: Singkirkan kolom yang tidak relevan dengan analisis Anda, seperti primary key atau kolom yang dapat dihitung dari kolom lain.
-
Gunakan filter: Gunakan DAX
SUMMARIZE()denganFilter()sebelum merangkum untuk mengurangi jumlah data yang diproses.
Alternatif DAX untuk SUMMARIZE()
Meskipun SUMMARIZE() adalah fungsi yang berguna, terkadang alat lain mungkin lebih cocok. Mari lihat beberapa alternatif dan kapan Anda mungkin ingin menggunakannya.
SUMMARIZECOLUMNS()
SUMMARIZECOLUMNS() adalah fungsi DAX lain yang memudahkan pembuatan tabel ringkasan saat bekerja dengan data besar atau situasi yang rumit. Fungsinya mirip dengan SUMMARIZE(), tetapi ada beberapa perbedaan.
-
Anda bisa menambahkan filter langsung ke
SUMMARIZECOLUMNS(), yang membuatnya lebih cepat. -
Dengan
SUMMARIZECOLUMNS(), Anda dapat menyertakan measure langsung di output. Tidak perlu fungsi tambahan sepertiADDCOLUMNS(). -
SUMMARIZECOLUMNS()menangani baris kosong secara otomatis, jadi Anda tidak perlu mengkhawatirkannya.
SUMMARIZECOLUMNS(
<groupBy_columnName> [, <groubBy_columnName>] …, [<filterTable>] … [, <name>, <expression>] …
)
Sebagai contoh, saya memiliki dataset, dan saya ingin merangkum gaji karyawan berdasarkan Region dan Department sambil memfilter karyawan dengan nama depan Raven. Saya akan menggunakan fungsi SUMMARIZECOLUMNS() untuk menghitung total gaji Raven di berbagai wilayah dan departemen.

Tabel bernama employee_data. Gambar oleh Penulis.
Untuk ini, saya menggunakan rumus berikut:
SalarySummary =
SUMMARIZECOLUMNS(
employee_data[Name],
employee_data[Region],
employee_data[Department],
FILTER(employee_data, employee_data[Name] = "Raven"),
"Total Salary", SUM(employee_data[Salary])
)
Pada rumus di atas:
-
SalarySummaryadalah nama yang diberikan untuk tabel terhitung yang dibuat. -
SUMMARIZECOLUMNS(...)membuat tabel ringkasan berdasarkan kolom dan perhitungan yang ditentukan. -
employee_data[Name], employee_data[Region], employee_data[Department]adalah kolom tempat data akan dikelompokkan. -
FILTER(employee_data, employee_data[Name] = "Raven")membatasi hasil agar hanya menyertakan baris di mana Name adalah Raven. -
"Total Salary", SUM(employee_data[Salary])membuat kolom terhitung di hasil. -
SUM(employee_data[Salary])menghitung jumlah seluruh nilai Salary untuk setiap grup.

Gunakan SUMMARIZECOLUMNS untuk merangkum hasil. Gambar oleh Penulis.
Anda dapat melihat hasilnya — fungsi SUMMARIZECOLUMNS() memfilter dataset dan menghitung total gaji Raven di berbagai lokasi dan departemen.
GROUPBY()
GROUPBY() adalah fungsi lain yang terkadang dapat menggantikan SUMMARIZE() saat Anda hanya perlu mengelompokkan data dan melakukan perhitungan pada grup tersebut. Fungsi ini bisa lebih efisien daripada SUMMARIZE() untuk operasi pengelompokan sederhana.
Meskipun SUMMARIZE() dapat bekerja lintas tabel yang saling terkait, GROUPBY() berfokus pada pengelompokan dan agregasi dalam satu tabel, yang meningkatkan kinerja pada skenario tertentu.
Mari lihat contohnya. Saya harus membuat dataset inventaris untuk melacak item, kategori, unit terjual, dan harga per unit, lalu mengelompokkan data berdasarkan kategori untuk menghitung total pendapatan masing-masing.

Tabel inventaris. Gambar oleh Penulis.
Untuk ini, saya menggunakan rumus berikut:
SummaryGroupBY =
GROUPBY(
Inventory,
Inventory[Category],
"Total Revenue",
SUMX(
CURRENTGROUP(),
Inventory[Units Sold] * Inventory[Unit Price]
)
)
Pada rumus di atas:
-
GROUPBY()mengelompokkan data berdasarkan Category. -
CURRENTGROUP()merujuk ke setiap grup kategori (mis. elektronik, furnitur, atau peralatan). -
SUMX()menghitung total pendapatan untuk setiap grup dengan mengalikan Units Sold dengan Unit Price.

Menggunakan GROUPBY untuk mengelompokkan data. Gambar oleh Penulis.
Dapat Anda lihat — fungsi GROUPBY() dengan mudah menghitung Total Revenue dengan mengalikan Units Sold dengan Unit Price untuk setiap item di kategori dan merangkum pendapatan masing-masing.
Pemikiran Akhir tentang DAX SUMMARIZE()
Sekarang Anda tahu bagaimana fungsi SUMMARIZE() di DAX dapat membantu Anda mengelompokkan dan menganalisis data di Power BI, Excel, dan alat lainnya. Dari pengelompokan dasar hingga teknik lanjutan seperti ROLLUP() dan ADDCOLUMNS(), SUMMARIZE() membantu menciptakan ringkasan yang informatif.
Karena latihan membuat sempurna, coba teknik-teknik ini pada data Anda sendiri untuk melihat bagaimana teknik tersebut dapat membantu mengungkap wawasan yang berguna. Jika Anda ingin semakin memoles keterampilan DAX, daftarlah ke Introduction to DAX in Power BI kami untuk menjadi power user sejati.
Saya seorang ahli strategi konten yang senang menyederhanakan topik kompleks. Saya telah membantu perusahaan seperti Splunk, Hackernoon, dan Tiiny Host membuat konten yang menarik dan informatif untuk audiens mereka.
DAX Summarize() FAQs
Apakah SUMMARIZE() peka huruf besar-kecil (case-sensitive)?
DAX umumnya tidak peka huruf besar-kecil (case-insensitive), sehingga nama kolom yang digunakan dalam SUMMARIZE() tidak harus sama persis dengan kapitalisasi pada data asli.
Apa saja kesalahan umum saat menggunakan SUMMARIZE()?
Kesalahan umum mencakup kesalahan sintaks, nama kolom yang tidak ada, dan masalah kinerja pada dataset besar. Untuk menghindarinya, selalu periksa ulang argumen fungsi dan model data Anda.
Bagaimana perbedaan SUMMARIZE() dan SUMMARIZECOLUMNS() dalam hal konteks?
SUMMARIZE() mempertahankan konteks baris dan filter untuk agregasi, sedangkan SUMMARIZECOLUMNS() hanya memiliki konteks filter.


Jangan kesulitan dengan kumpulan data besar. Kuasai cara mengelompokkan dan mengagregasikan data menggunakan fungsi DAX
SUMMARIZE(), yang membantu Anda mengungkap pola tersembunyi dan membuat keputusan yang lebih baik. Dengan DAXSUMMARIZE(), Anda bisa membuat mini-laporan di dalam kumpulan data yang lebih besar dan memilih informasi mana yang akan dikelompokkan serta angka mana yang akan dijumlahkan. Ini sangat, sangat membantu.Teruskan membaca, dan saya akan membantu Anda memahami DAX
SUMMARIZE()secara mendetail agar Anda dapat menggunakannya secara efektif dalam banyak skenario. Jika Anda baru mengenal DAX dan ingin sumber belajar lainnya, lihat juga Tutorial Power BI DAX untuk Pemula kami untuk gambaran yang lebih umum. Anda juga bisa mengikuti kursus Introduction to DAX in Power BI kami untuk pelatihan nyata; kursus ini mencakup teknik dasar hingga lanjutan, sehingga cocok untuk profesional di semua level.Apa itu Fungsi DAX SUMMARIZE()?
Fungsi DAX
SUMMARIZE()mengambil data Anda dan mengelompokkannya berdasarkan kolom yang Anda pilih. Lalu, fungsi ini menghitung total atau ringkasan lainnya untuk setiap grup.Sebagai contoh, misalkan Anda memiliki daftar besar data penjualan dengan informasi tentang produk, wilayah, dan jumlah penjualan. Di sini, Anda dapat menggunakan
SUMMARIZE()untuk mengelompokkan semua data tersebut berdasarkan produk atau wilayah dan melihat total penjualan untuk setiap grup.Anda akan menemukan DAX di beberapa alat Microsoft, seperti:
Setelah Anda memahami
SUMMARIZE(), Anda dapat mengatur data secara efisien dengan membuat laporan yang lebih baik dan menggali lebih dalam untuk mendapatkan wawasan yang berharga. Jadi, saat berikutnya Anda bekerja dengan kumpulan data besar dan perlu memahaminya dengan cepat, gunakan fungsiSUMMARIZE().