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


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: []
    }

Например, если визуальный элемент получил следующее обновление представления данных:

Screenshot of sample array.

Массив имеет тип number[] и содержит поля удостоверения выбранных пользователем элементов.

IdentityIndex соответствует индексу значения в массиве значений семантической модели (см. следующий пример).

Screenshot showing array values of names.

В приведенном выше примере: {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 для добавления интерактивности в визуальный элемент

Есть еще вопросы? Попробуйте Сообщество Power BI.