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


Запрос агрегированных промежуточных данных

API Total и API Subtotal позволяет пользовательским визуальным элементам с матричным представлением данных запрашивать агрегированные промежуточные данные из хоста Power BI. Промежуточные итоги вычисляются для всей семантической модели матрицы или указываются для отдельных уровней иерархии данных матрицы. Просмотрите отчет в качестве примера Total и Subtotal API в визуальном элементе Power BI, указанный в.

Заметка

Запрос данных промежуточных итогов поддерживается в версии 2.6.0 и более поздних версий. Свойство rowSubtotalType доступно в версии 5.1.0 и более поздних версий. Чтобы узнать, какая версия используется, проверьте apiVersion в файле pbiviz.json.

Каждый раз, когда визуальный элемент обновляет свои данные, он отправляет запрос на получение данных к бекенду Power BI. Обычно эти запросы данных предназначены для значений полей, которые пользователь перетаскивал в поля визуального элемента. Иногда визуальному элементу требуются другие агрегации или промежуточные итоги (например, сумма или подсчёт), применённые к полям данных. API Total и Subtotal позволяет настроить исходящий запрос данных для запроса более подробных агрегированных или промежуточных данных.

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

API промежуточных итогов

API предлагает следующую настройку для каждого типа представления данных (в настоящее время только матрицные представления данных).

  • rowSubtotals: (логическое значение) Указывает, следует ли запрашивать промежуточные данные для всех полей в поле строк.
  • rowSubtotalsPerLevel: (логическое значение) Указывает, можно ли переключать промежуточные данные для отдельных полей в поле строки.
  • columnSubtotals: (логическое значение) Указывает, следует ли запрашивать данные промежуточных итогов для всех полей в области полей столбцов.
  • columnSubtotalsPerLevel: (логическое значение) Указывает, можно ли переключать отображение данных промежуточных итогов для отдельных полей в разделе полей столбцов.
  • levelSubtotalEnabled: (логическое значение) Указывает, запрашиваются ли промежуточные итоги для строки или столбца. В отличие от всех других свойств, это свойство применяется к отдельным строкам или столбцам.
  • rowSubtotalsType: ("Сверху" или "Вниз") Указывает, должна ли строка с всего данных извлекаться до (top) или после (bottom) остальные данные. Если для этого свойства задано значение bottom, общее значение может отображаться только после получения всех данных. Значение по умолчанию — bottom.

Каждому из этих коммутаторов присваивается значение на основе связанных свойств в области свойств и значений по умолчанию.

Как использовать API для подведения промежуточных итогов

Файл capabilities.json визуального элемента должен выполнять следующие действия.

  • укажите свойство, к которому сопоставляется каждый переключатель .
  • укажите значение по умолчанию, которое будет использоваться, если свойство не определено.

Используемые переключатели имеют формат, как в следующем примере:

    "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            },

Предыдущий код указывает, что промежуточные итоги строки включены свойством rowSubtotals в объекте subTotals. Свойство имеет значение по умолчанию true.

API автоматически включается для визуализации, когда структура промежуточных итогов и все сопоставления коммутаторов определены в файле capabilities.json.

Следующий код является примером полной конфигурации API в файле capabilities.json (скопированном из примера визуального элемента API):

"subtotals": { 
        "matrix": { 
            "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "rowSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perRowLevel" 
                }, 
                "defaultValue": false 
            }, 
            "columnSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "columnSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "columnSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perColumnLevel" 
                }, 
                "defaultValue": false 
            }, 
            "levelSubtotalEnabled": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "levelSubtotalEnabled" 
                }, 
                "defaultValue": true 
            },
            "rowSubtotalsType": {
                "propertyIdentifier": {
                    "objectName": "subtotals",
                    "propertyName": "rowSubtotalsType"
                },
                "defaultValue": "Bottom"
            }
        } 
    }

Важно, чтобы функция enumerateProperties() визуального элемента соответствовала значениям по умолчанию, указанным в файле capabilities.json. Логика настройки работает в соответствии с указанными значениями по умолчанию. Если функция enumerateProperties() и значения по умолчанию не согласованы, фактические настройки промежуточных итогов могут отличаться от ожиданий пользователей.

enum RowSubtotalType {
        Top = "Top",
        Bottom = "Bottom",
   }

Чтобы просмотреть доступные настройки, разверните раскрывающееся меню Промежуточные итоги в области свойств Формат. Измените параметры промежуточных итогов и отслеживайте изменения презентации промежуточных итогов (с именем итогов) на панели "Визуализации".

снимок экрана области визуализаций Power BI, в которой показаны поля промежуточных итогов столбцов и строк.

Рекомендации и ограничения

  • Свойство rowSubtotalsType доступно только для строк. Промежуточные итоги столбца нельзя задать в начале столбца.

  • Функция разворачивания и сворачивания переопределяет rowSubtotals. Промежуточные итоги отображаются при развертывании строк, даже если для rowSubtotals установлено значение false.

Добавление интерактивности в визуальный элемент с помощью выбора визуальных элементов Power BI