Запрос агрегированных промежуточных данных
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",
}
Чтобы просмотреть доступные настройки, разверните раскрывающееся меню Промежуточные итоги в области свойств Формат. Измените параметры промежуточных итогов и отслеживайте изменения презентации промежуточных итогов (с именем итогов) на панели "Визуализации".
Рекомендации и ограничения
Свойство
rowSubtotalsType
доступно только для строк. Промежуточные итоги столбца нельзя задать в начале столбца.Функция разворачивания и сворачивания переопределяет
rowSubtotals
. Промежуточные итоги отображаются при развертывании строк, даже если дляrowSubtotals
установлено значение false.
Связанное содержимое
Добавление интерактивности в визуальный элемент с помощью выбора визуальных элементов Power BI