Бөлісу құралы:


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

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

Примечание.

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

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

Screenshot of visual with subtotals row and columns highlighted.

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

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

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

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

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

Файл visual 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",
   }

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

Screenshot of the Power BI Visualizations pane, which shows the Column and Row subtotals field wells.

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

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

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

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