Bagikan melalui


Meminta data agregat subtotal

API Total dan Subtotal memungkinkan visual kustom dengan tampilan data matriks untuk meminta data subtotal agregat dari host Power BI. Subtotal dihitung untuk seluruh model semantik matriks atau ditentukan untuk tingkat individual hierarki data matriks. Lihat contoh laporan untuk contoh API Total dan Subtotal dalam visual Power BI.

Nota

Meminta data subtotal didukung mulai dari versi 2.6.0 dan yang lebih baru. Properti rowSubtotalType tersedia di versi 5.1.0 dan yang lebih baru. Untuk mengetahui versi mana yang Anda gunakan, periksa apiVersion dalam file pbiviz.json.

Setiap kali visual memperbarui datanya, visual tersebut mengajukan permintaan pengambilan data ke backend Power BI. Permintaan data ini biasanya untuk nilai bidang yang diseret pengguna ke dalam sumur bidang visual. Terkadang visual membutuhkan agregasi atau subtotal lain (misalnya, jumlah atau hitungan) yang diterapkan ke sumur bidang. API Total dan Subtotal memungkinkan Anda mengkustomisasi kueri data keluar untuk meminta lebih banyak data agregasi atau subtotal.

Cuplikan layar visual dengan baris dan kolom subtotal disorot.

API subtotals

API menawarkan penyesuaian berikut untuk setiap jenis tampilan data (saat ini, hanya tampilan data matriks).

  • rowSubtotals: (boolean) Menunjukkan apakah data subtotal harus diminta untuk semua bidang di bidang baris dengan baik.
  • rowSubtotalsPerLevel: (boolean) Menunjukkan apakah data subtotal dapat diubah untuk bidang individual di bidang baris dengan baik.
  • : (boolean) Menunjukkan apakah data subtotal harus diminta untuk semua bidang dalam area kolom.
  • : (boolean) Menunjukkan apakah data subtotal dapat diubah untuk bidang individual di bidang kolom dengan baik.
  • levelSubtotalEnabled: (boolean) Menunjukkan apakah subtotal diminta untuk baris atau kolom. Tidak seperti semua properti lainnya, properti ini diterapkan ke baris atau kolom individual.
  • : ("Atas" atau "Bawah") Menunjukkan apakah baris dengan total data harus diambil sebelum () atau setelah () data lainnya. Jika properti ini diatur ke bottom, total hanya dapat ditampilkan setelah semua data diambil. Defaultnya adalah bottom.

Masing-masing sakelar ini diberi nilai berdasarkan properti terkait di jendela properti dan nilai default.

Cara menggunakan API subtotal

File capabilities.json visual harus:

  • tentukan properti yang dipetakan oleh setiap switch.
  • berikan nilai default yang akan digunakan jika properti tidak ditentukan.

Sakelar menggunakan format seperti pada contoh berikut:

    "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            },

Kode sebelumnya menunjukkan bahwa subtotal baris diaktifkan oleh properti rowSubtotals di objek subTotals. Properti memiliki nilai default true.

API secara otomatis diaktifkan untuk visual setiap kali struktur subtotal dan semua pemetaan pengalih ditentukan dalam file capabilities.json.

Kode berikut adalah contoh konfigurasi API lengkap dalam file capabilities.json (disalin dari visual sampel API):

"subtotals": { 
        "matrix": { 
            "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "rowSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perRowLevel" 
                }, 
                "defaultValue": false 
            }, 
            "columnSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "columnSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "columnSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perColumnLevel" 
                }, 
                "defaultValue": false 
            }, 
            "levelSubtotalEnabled": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "levelSubtotalEnabled" 
                }, 
                "defaultValue": true 
            },
            "rowSubtotalsType": {
                "propertyIdentifier": {
                    "objectName": "subtotals",
                    "propertyName": "rowSubtotalsType"
                },
                "defaultValue": "Bottom"
            }
        } 
    }

Penting agar fungsi visual enumerateProperties() sesuai dengan default yang ditentukan dalam file capabilities.json. Logika kustomisasi beroperasi sesuai dengan default yang ditentukan. Jika fungsi enumerateProperties() dan setelan bawaannya tidak sejalan, penyesuaian subtotal aktual mungkin tidak sesuai dengan harapan pengguna.

enum RowSubtotalType {
        Top = "Top",
        Bottom = "Bottom",
   }

Untuk meninjau kustomisasi yang tersedia, perluas menu drop-down Subtotal di panel properti Format. Ubah pengaturan subtotal dan lacak perubahan pada presentasi subtotal (bernama Total) di panel Visualisasi.

Cuplikan layar panel Visualisasi Power BI, yang memperlihatkan ruang bidang subtotal Kolom dan Baris.

Pertimbangan dan batasan

  • Properti rowSubtotalsType hanya dapat digunakan untuk baris. Anda tidak dapat mengatur subtotal kolom ke awal kolom.

  • Fitur perluas dan ciutkan menggantikan rowSubtotals. Subtotal akan ditampilkan saat baris diperluas, meskipun rowSubtotals diatur ke false.

Menambahkan interaktivitas ke visual menggunakan pilihan visual Power BI