Compartilhar via


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. A lista conterá campos ocultos e visíveis.

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.

Definir a visibilidade de um campo de dados

Para controlar a visibilidade dos campos de dados, use o setFieldHidden método no visual. Somente campos agregados, medidas e cálculos visuais podem ser ocultos ou mostrados. Essa ação é equivalente a alternar a visibilidade do campo enquanto estiver no Modo de Edição de Cálculo Visual.

setFieldHidden(dataRole: string, index: number, isHidden: boolean): 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 ocultado ou reexibido.
  • isHidden - Valor booliano para determinar onde ele deve ser oculto ou não

Por exemplo:

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

Definir a cadeia de caracteres de formato de um campo de dados

Para formatar os dados exibidos de um campo específico, chame o setFieldFormatString método do visual.

setFieldFormatString(dataRole: string, index: number, formatString: string): 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 para definir a cadeia de caracteres de formato
  • formatString - Esperando cadeia de caracteres de formato .NET

Por exemplo: se você quiser que todos os valores no campo tenham $ no início, faça isso:

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

Obter a cadeia de caracteres de formato de um campo de dados

Para recuperar a cadeia de caracteres de formato de um campo, chame o getFieldFormatString método do visual.

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

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 para obter a cadeia de caracteres de formato
let formatString = await visual.getFieldFormatString('Values', 0);

Obter o nome de um campo de dados

Cada campo em um visual tem um nome exclusivo derivado de seu nome de exibição. Esse identificador exclusivo é usado para fazer referência ao campo dentro de expressões DAX ao criar cálculos visuais. Para recuperar esse nome exclusivo, chame o getDataFieldName método do visual.

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

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 para obter o nome do campo
let dataFieldName = await visual.getDataFieldName('Values', 0);
let visualCalcDax = `RUNNINGSUM([${dataFieldName}])`;