Configurar campos de dados

Quando você cria uma visualização, o visual é renderizado de acordo com os campos de dados atribuídos. Este artigo mostra como usar APIs de criação de relatório do Power BI para interagir com campos de dados e atribuí-los a funções de dados. Para determinar quais funções de dados um visual tem, use o método getCapabilities.

Adicionar um campo de dados

Para adicionar um campo de dados a uma função de dados visuais, chame o método addDataField do visual.

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

Esse método tem as seguintes variáveis:

  • dataRole - O nome da função de dados à qual o campo de dados deve ser atribuído. O parâmetro dataRole é equivalente à propriedade name de função de dados. Para recuperar as funções de dados e os nomes disponíveis, use o método getCapabilities.
  • dataField - O campo de dados a ser adicionado à função de dados. O campo de dados é um objeto de destino, que pode ser uma coluna, coluna com agregação, medida, hierarquia ou hierarquia com agregação. Para obter mais informações sobre destinos, consulte Usar destinos para selecionar qual campo de dados agir em.
  • index (opcional) – o índice no qual o campo de dados deve ser adicionado. O comportamento padrão é que o campo seja adicionado por último.

Por exemplo:

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

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

Obter campos de dados

Para obter uma lista dos campos de dados definidos em uma função de dados, chame o método getDataFields do visual.

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

Esse método tem a variável dataRole, que é o nome da função de dados da qual recuperar os campos de dados.

Por exemplo:

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

Remover campos de dados

Para remover um campo de dados aplicado em uma função de dados, chame o método removeDataField do visual.

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

Esse método tem os seguintes parâmetros:

  • dataRole - O nome da função de dados de destino à qual o campo de dados está associado.
  • index - O índice do campo de dados a ser excluído.

Por exemplo:

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

Para obter o índice do campo de dados, você pode usar o índice do destino na matriz de resultados getDataFields.