Bagikan melalui


Mengonfigurasi bidang data

Saat Anda membuat visualisasi, visual dirender sesuai dengan bidang data yang ditetapkan. Artikel ini memperlihatkan cara menggunakan API penulisan laporan Power BI untuk berinteraksi dengan bidang data dan menetapkannya ke peran data. Untuk menentukan peran data apa yang dimiliki visual, gunakan metode getCapabilities.

Menambahkan bidang data

Untuk menambahkan bidang data ke peran data visual, panggil metode addDataField visual.

addDataField(dataRole: string, dataField: models.IBaseTarget, index?: number): Promise<models.IError>

Metode ini memiliki variabel berikut:

  • dataRole - Nama peran data tempat bidang data harus ditetapkan. Parameter dataRole setara dengan properti name peran data. Untuk mengambil peran dan nama data yang tersedia, gunakan metode getCapabilities.
  • dataField - Bidang data yang akan ditambahkan ke peran data. Bidang data adalah objek target, yang bisa berupa kolom, kolom dengan agregasi, pengukuran, hierarki, atau hierarki dengan agregasi. Untuk informasi selengkapnya tentang target, lihat Menggunakan target untuk memilih bidang data mana yang akan ditindak lanjuti.
  • index (opsional) - Indeks tempat bidang data harus ditambahkan. Perilaku default adalah agar bidang ditambahkan terakhir.

Misalnya:

const dataField = {
  $schema: "http://powerbi.com/product/schema#column",
  table: "Store",
  column: "Name"
};

await visual.addDataField('Category', dataField);

Mendapatkan bidang data

Untuk mendapatkan daftar bidang data yang ditentukan dalam peran data, panggil metode getDataFields visual. Daftar akan berisi bidang tersembunyi dan terlihat.

getDataFields(dataRole: string): Promise<models.IBaseTarget>

Metode ini memiliki variabel dataRole, yang merupakan nama peran data untuk mengambil bidang data.

Misalnya:

let dataField = await visual.getDataFields('Category');

Menghapus bidang data

Untuk menghapus bidang data yang diterapkan pada peran data, panggil metode removeDataField visual.

removeDataField(dataRole: string, index: number): Promise<models.IError>

Metode ini memiliki parameter berikut:

  • dataRole - Nama peran data target tempat bidang data dikaitkan.
  • index - Indeks bidang data yang akan dihapus.

Misalnya:

await visual.removeDataField('Category', 2);

Untuk mendapatkan indeks bidang data, Anda bisa menggunakan indeks target dalam array hasil getDataFields.

Mengatur visibilitas bidang data

Untuk mengontrol visibilitas bidang data, gunakan setFieldHidden metode pada visual. Hanya bidang agregat, pengukuran, dan perhitungan visual yang dapat disembunyikan atau ditampilkan. Tindakan ini setara dengan mengubah visibilitas bidang saat berada dalam Mode Pengeditan Penghitungan Visual.

setFieldHidden(dataRole: string, index: number, isHidden: boolean): Promise<models.IError>

Metode ini memiliki parameter berikut:

  • dataRole - Nama peran data target tempat bidang data dikaitkan.
  • index - Indeks bidang data yang akan disembunyikan atau dimunculkan.
  • isHidden - Nilai Boolean untuk menentukan di mana nilai tersebut harus disembunyikan atau tidak

Misalnya:

await visual.setFieldHidden('Values', 0, /*isHidden*/ true);

Mengatur string format bidang data

Untuk memformat data yang ditampilkan dari bidang tertentu, panggil setFieldFormatString metode visual.

setFieldFormatString(dataRole: string, index: number, formatString: string): Promise<models.IError>

Metode ini memiliki parameter berikut:

  • dataRole - Nama peran data target tempat bidang data dikaitkan.
  • index - Indeks bidang data untuk mengatur string format
  • formatString - Mengharapkan string format .NET

Misalnya: Jika Anda ingin setiap nilai di bidang memiliki $ di awal, lakukan hal ini:

await visual.setFieldFormatString('Values', 0, /*formatString*/ "$0.00");

Mendapatkan string format bidang data

Untuk mengambil string format bidang, panggil getFieldFormatString metode visual.

getFieldFormatString(dataRole: string, index: number): Promise<string>

Metode ini memiliki parameter berikut:

  • dataRole - Nama peran data target tempat bidang data dikaitkan.
  • index - Indeks bidang data untuk mendapatkan string format
let formatString = await visual.getFieldFormatString('Values', 0);

Mendapatkan nama bidang data

Setiap bidang dalam visual memiliki nama unik yang berasal dari nama tampilannya. Pengidentifikasi unik ini digunakan untuk mereferensikan bidang dalam ekspresi DAX saat membuat perhitungan visual. Untuk mengambil nama unik ini, panggil getDataFieldName metode visual.

getDataFieldName(dataRole: string, index: number): Promise<string>

Metode ini memiliki parameter berikut:

  • dataRole - Nama peran data target tempat bidang data dikaitkan.
  • index - Indeks bidang data untuk mendapatkan nama bidang
let dataFieldName = await visual.getDataFieldName('Values', 0);
let visualCalcDax = `RUNNINGSUM([${dataFieldName}])`;