Condividi tramite


Configurare i campi dati

Quando si crea una visualizzazione, viene eseguito il rendering dell'oggetto visivo in base ai campi dati assegnati. Questo articolo illustra come usare le API di creazione di report di Power BI per interagire con i campi dati e assegnarli ai ruoli dati. Per determinare i ruoli dati di un oggetto visivo, usare il metodo getCapabilities.

Aggiungere un campo dati

Per aggiungere un campo dati a un ruolo dati visivo, chiamare il metodo addDataField dell'oggetto visivo.

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

Questo metodo ha le variabili seguenti:

  • dataRole: nome del ruolo dati a cui deve essere assegnato il campo dati. Il parametro dataRole equivale alla proprietà name del ruolo dati. Per recuperare i nomi e i ruoli dati disponibili, usare il metodo getCapabilities.
  • dataField: campo dati da aggiungere al ruolo dati. Il campo dati è un oggetto di destinazione, che può essere una colonna, una colonna con aggregazione, misura, gerarchia o gerarchia con aggregazione. Per altre informazioni sulle destinazioni, vedere Usare le destinazioni per selezionare il campo dati su cui agire.
  • index (facoltativo): indice in corrispondenza del quale deve essere aggiunto il campo dati. Il comportamento predefinito è per il campo da aggiungere per ultimo.

Per esempio:

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

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

Ottenere campi dati

Per ottenere un elenco dei campi dati definiti in un ruolo dati, chiamare il metodo getDataFields dell'oggetto visivo.

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

Questo metodo ha la variabile dataRole, ovvero il nome del ruolo dati da cui recuperare i campi dati.

Per esempio:

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

Rimuovere i campi dati

Per rimuovere un campo dati applicato a un ruolo dati, chiamare il metodo removeDataField dell'oggetto visivo.

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

Questo metodo ha i parametri seguenti:

  • dataRole : nome del ruolo dati di destinazione a cui è associato il campo dati.
  • index: indice del campo dati da eliminare.

Per esempio:

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

Per ottenere l'indice del campo dati, è possibile usare l'indice della destinazione nella matrice di risultati getDataFields.