Поделиться через


Настройка полей данных

При создании визуализации визуальный элемент отображается в соответствии с назначенными полями данных. В этой статье показано, как использовать API создания отчетов Power BI для взаимодействия с полями данных и назначения им ролей данных. Чтобы определить, какие роли данных имеет визуальный элемент, используйте метод getCapabilities.

Добавление поля данных

Чтобы добавить поле данных в роль визуальных данных, вызовите метод addDataField визуального элемента.

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

Этот метод имеет следующие переменные:

  • dataRole — имя роли данных, которой должно быть назначено поле данных. Параметр dataRole эквивалентен свойству name роли данных. Чтобы получить доступные роли и имена данных, используйте метод getCapabilities.
  • dataField — поле данных для добавления в роль данных. Поле данных — это целевой объект, который может быть столбцом, столбцом с агрегированием, мерой, иерархией или иерархией с агрегированием. Дополнительные сведения о целевых объектах см. в разделе Использование целевых объектов для выбора поля данных для.
  • index (необязательно) — индекс, по которому должно быть добавлено поле данных. Поведение по умолчанию предназначено для последнего добавления поля.

Например:

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

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

Получение полей данных

Чтобы получить список полей данных, определенных в роли данных, вызовите метод getDataFields визуального элемента.

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

Этот метод имеет переменную dataRole, которая является именем роли данных, из которой извлекаются поля данных.

Например:

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

Удаление полей данных

Чтобы удалить поле данных, которое применяется к роли данных, вызовите метод removeDataField визуального элемента.

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

Этот метод имеет следующие параметры:

  • dataRole — имя целевой роли данных, к которой связано поле данных.
  • index — индекс поля данных для удаления.

Например:

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

Чтобы получить индекс поля данных, можно использовать индекс целевого объекта в массиве результатов getDataFields.