API фильтра удостоверений
API фильтра удостоверений позволяет создать визуальный элемент, который может фильтровать категориальные данные с помощью семантического запроса.
Он фильтрует данные по точкам данных, а не математическим выражениям.
API отслеживает выбор пользователей и то, какие данные указывают на отображение. Точки данных сохраняются в массиве и ссылаются на их положение в массиве.
Этот API полезен в следующих сценариях:
- Для пользовательских визуальных элементов, использующих семантические модели с группой по ключам
- Перенос визуальных элементов, которые использовали старый API (раньше 2.2) в более новый API
- Разрешить выбор с помощью идентификации массивов индексов
Примечание.
API фильтра удостоверений доступен из API версии 5.1. Чтобы узнать, какая версия используется, проверка apiVersion
в файле pbiviz.json.
Модель фильтра удостоверений основана на интерфейсе IIdentityFilter .
private filter: IIdentityFilter = {
$schema: “”,
filterType: FilterType.Identity,
operator: "In",
target: []
}
Например, если визуальный элемент получил следующее обновление представления данных:
Массив имеет тип number[] и содержит поля удостоверения выбранных пользователем элементов.
IdentityIndex соответствует индексу значения в массиве значений семантической модели (см. следующий пример).
В приведенном выше примере: {identityIndex: 0} = "Aaliyah" {identityIndex: 1} = "Aaliyah" {identityIndex: 02 = "Aaliyah" и т. д.
Использование API фильтра удостоверений
Чтобы использовать API фильтра удостоверений, версия powerbi-models должна быть 1.9.1 или выше.
Добавьте следующее свойство в качестве члена класса visual.ts:
private filter: IIdentityFilter = { $schema: “”, filterType: FilterType.Identity, operator: "In", target: [] }
Для обработки обновлений Power BI считывайте целевой массив из jsonFilters в VisualUpdateOptions и преобразуйте его в соответствующие значения. Эти значения являются выбранными. В предыдущем примере целевой массив [0,10] соответствует значениям Алия и Абигила.
Чтобы обрабатывать выбор пользователей в предыдущем примере, щелкните первый Abigail , чтобы добавить значение 8 в целевой массив фильтра и отправить его с помощью следующей команды:
this.visualHost.applyJsonFilter(this.filter, "general", "filter", powerbi.FilterAction.merge);
Перенос визуальных элементов с помощью старого API
Начиная с API 5.1.0 для поддержки фильтра удостоверений для визуальных элементов, созданных с помощью версии 2.2, добавьте следующие строки в файл capabilities.json :
"migration": {
"filter": {
"shouldUseIdentityFilter": true
}
}
Эти строки преобразуют выбранные элементы в фильтры удостоверений.
Примечание.
Этот шаг необходим только для существующих визуальных элементов, созданных с помощью старых API. Более новые визуальные элементы не нужно добавлять.
Связанный контент
Есть еще вопросы? Попробуйте Сообщество Power BI.