SUMMARIZE

Berlaku untuk:Hitung kolomTerhitung Tabelterhitung Mengukurperhitungan Visual

Mengembalikan tabel ringkasan untuk total yang diminta melalui sekumpulan grup.

Sintaks

SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)

Parameter

Term Definisi
tabel Ekspresi DAX apa pun yang mengembalikan tabel data.
groupBy_ColumnName (Opsional) Nama yang memenuhi syarat dari kolom yang ada yang digunakan untuk membuat grup ringkasan berdasarkan nilai yang ditemukan di dalamnya. Parameter ini tidak boleh berupa ekspresi.
nama Nama yang diberikan ke kolom total atau ringkasan, diapit dalam tanda kutip ganda.
expression Ekspresi DAX apa pun yang mengembalikan nilai skalar tunggal, di mana ekspresi akan dievaluasi beberapa kali (untuk setiap baris/konteks).

Nilai hasil

Tabel dengan kolom yang dipilih untuk argumen groupBy_columnName dan kolom ringkasan yang dirancang oleh argumen nama.

Keterangan

  • Setiap kolom yang Anda tentukan namanya harus memiliki ekspresi yang sesuai; jika tidak, kesalahan dikembalikan. Argumen pertama, nama, menentukan nama kolom dalam hasil. Argumen kedua, ekspresi, menentukan perhitungan yang dilakukan untuk mendapatkan nilai untuk setiap baris di kolom tersebut.

  • groupBy_columnName harus dalam tabel atau dalam tabel terkait ke tabel.

  • Setiap nama harus diapit dalam tanda kutip ganda.

  • Fungsi ini mengelompokkan sekumpulan baris yang dipilih ke dalam sekumpulan baris ringkasan berdasarkan nilai satu atau beberapa kolom groupBy_columnName. Satu baris dikembalikan untuk setiap grup.

  • Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).

Contoh

Contoh berikut mengembalikan ringkasan penjualan penjual yang dikelompokkan sekitar tahun kalender dan nama kategori produk, tabel hasil ini memungkinkan Anda melakukan analisis atas penjualan penjual berdasarkan tahun dan kategori produk.

SUMMARIZE(ResellerSales_USD  
      , DateTime[CalendarYear]  
      , ProductCategory[ProductCategoryName]  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
      )  

Tabel berikut ini memperlihatkan pratinjau data seperti yang akan diterima oleh fungsi apa pun yang mengharapkan untuk menerima tabel:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Jumlah Penjualan (USD)] [Jumlah Diskon (USD)]
2008 Sepeda 12968255.42 36167.6592
2005 Sepeda 6958251.043 4231.1621
2006 Sepeda 18901351.08 178175.8399
2007 Sepeda 24256817.5 276065.992
2008 Komponen 2008052.706 39.9266
2005 Komponen 574256.9865 0
2006 Komponen 3428213.05 948.7674
2007 Komponen 5195315.216 4226.0444
2008 Pakaian 366507.844 4151.1235
2005 Pakaian 31851.1628 90.9593
2006 Pakaian 455730.9729 4233.039
2007 Pakaian 815853.2868 12489.3835
2008 Aksesori 153299.924 865.5945
2005 Aksesori 18594.4782 4.293
2006 Aksesori 86612.7463 1061.4872
2007 Aksesori 275794.8403 4756.6546

Dengan ROLLUP

Penambahan sintaks ROLLUP memodifikasi perilaku fungsi SUMMARIZE dengan menambahkan baris rollup ke hasil pada kolom groupBy_columnName. ROLLUP hanya dapat digunakan dalam ekspresi SUMMARIZE.

Contoh

Contoh berikut menambahkan baris rollup ke kolom Group-By dari panggilan fungsi SUMMARIZE:

SUMMARIZE(ResellerSales_USD  
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
)  

Mengembalikan tabel berikut,

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Jumlah Penjualan (USD)] [Jumlah Diskon (USD)]
2008 Sepeda 12968255.42 36167.6592
2005 Sepeda 6958251.043 4231.1621
2006 Sepeda 18901351.08 178175.8399
2007 Sepeda 24256817.5 276065.992
2008 Komponen 2008052.706 39.9266
2005 Komponen 574256.9865 0
2006 Komponen 3428213.05 948.7674
2007 Komponen 5195315.216 4226.0444
2008 Pakaian 366507.844 4151.1235
2005 Pakaian 31851.1628 90.9593
2006 Pakaian 455730.9729 4233.039
2007 Pakaian 815853.2868 12489.3835
2008 Aksesori 153299.924 865.5945
2005 Aksesori 18594.4782 4.293
2006 Aksesori 86612.7463 1061.4872
2007 Aksesori 275794.8403 4756.6546
2008 15496115.89 41224.3038
2005 7582953.67 4326.4144
2006 22871907.85 184419.1335
2007 30543780.84 297538.0745
76494758.25 527507.9262

Dengan ROLLUPGROUP

Penambahan ROLLUPGROUP di dalam sintaks ROLLUP dapat digunakan untuk mencegah subtotal parsial dalam baris rollup. ROLLUPGROUP hanya dapat digunakan dalam ekspresi ROLLUP, ROLLUPADDISSUBTOTAL, atau ROLLUPISSUBTOTAL .

Contoh

Contoh berikut hanya menunjukkan total keseluruhan semua tahun dan kategori tanpa subtotal setiap tahun dengan semua kategori:

SUMMARIZE(ResellerSales_USD  
      , ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
)  

Mengembalikan tabel berikut,

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Jumlah Penjualan (USD)] [Jumlah Diskon (USD)]
2008 Sepeda 12968255.42 36167.6592
2005 Sepeda 6958251.043 4231.1621
2006 Sepeda 18901351.08 178175.8399
2007 Sepeda 24256817.5 276065.992
2008 Komponen 2008052.706 39.9266
2005 Komponen 574256.9865 0
2006 Komponen 3428213.05 948.7674
2007 Komponen 5195315.216 4226.0444
2008 Pakaian 366507.844 4151.1235
2005 Pakaian 31851.1628 90.9593
2006 Pakaian 455730.9729 4233.039
2007 Pakaian 815853.2868 12489.3835
2008 Aksesori 153299.924 865.5945
2005 Aksesori 18594.4782 4.293
2006 Aksesori 86612.7463 1061.4872
2007 Aksesori 275794.8403 4756.6546
76494758.25 527507.9262

Dengan ISSUBTOTAL

Dengan ISSUBTOTAL, Anda dapat membuat kolom lain dalam ekspresi SUMMARIZE yang mengembalikan True jika baris berisi nilai subtotal untuk kolom yang diberikan sebagai argumen ke ISSUBTOTAL, jika tidak mengembalikan False. ISSUBTOTAL hanya dapat digunakan dalam ekspresi SUMMARIZE.

Contoh

Sampel berikut menghasilkan kolom ISSUBTOTAL untuk setiap kolom ROLLUP dalam panggilan fungsi SUMMARIZE yang diberikan:

SUMMARIZE(ResellerSales_USD  
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
      , "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])  
      , "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])  
)  

Mengembalikan tabel berikut,

[Adalah Sub Total untuk DateTimeCalendarYear] [Apakah Sub Total untuk ProductCategoryName] DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Jumlah Penjualan (USD)] [Jumlah Diskon (USD)]
SALAH SALAH
SALAH SALAH 2008 Sepeda 12968255.42 36167.6592
SALAH SALAH 2005 Sepeda 6958251.043 4231.1621
SALAH SALAH 2006 Sepeda 18901351.08 178175.8399
SALAH SALAH 2007 Sepeda 24256817.5 276065.992
SALAH SALAH 2008 Komponen 2008052.706 39.9266
SALAH SALAH 2005 Komponen 574256.9865 0
SALAH SALAH 2006 Komponen 3428213.05 948.7674
SALAH SALAH 2007 Komponen 5195315.216 4226.0444
SALAH SALAH 2008 Pakaian 366507.844 4151.1235
SALAH SALAH 2005 Pakaian 31851.1628 90.9593
SALAH SALAH 2006 Pakaian 455730.9729 4233.039
SALAH SALAH 2007 Pakaian 815853.2868 12489.3835
SALAH SALAH 2008 Aksesori 153299.924 865.5945
SALAH SALAH 2005 Aksesori 18594.4782 4.293
SALAH SALAH 2006 Aksesori 86612.7463 1061.4872
SALAH SALAH 2007 Aksesori 275794.8403 4756.6546
SALAH BENAR
SALAH BENAR 2008 15496115.89 41224.3038
SALAH BENAR 2005 7582953.67 4326.4144
SALAH BENAR 2006 22871907.85 184419.1335
SALAH BENAR 2007 30543780.84 297538.0745
BENAR BENAR 76494758.25 527507.9262

SUMMARIZECOLUMNS