Настройка полей данных
При создании визуализации визуальный элемент отображается в соответствии с назначенными полями данных. В этой статье показано, как использовать 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
.