Параметры сортировки визуальных элементов Power BI
В этой статье описываются различные параметры, доступные для указания способа сортировки элементов визуального элемента в Power BI.
По умолчанию визуальный элемент не поддерживает изменение порядка сортировки, если не указано в файле capabilities.json .
Для сортировки требуется по крайней мере один из следующих параметров.
Сортировка по умолчанию
Этот default
параметр является самой простой формой. Он позволяет пользователю сортироваться в соответствии с любым полем и направлением (по возрастанию или убыванию). Пользователь выбирает направление и поле в меню дополнительных параметров .
Чтобы включить сортировку по умолчанию, добавьте следующий код в файл capabilities.json:
"sorting": {
"default": { }
}
Неявная сортировка
Неявная сортировка позволяет предварительно определить массив сортировки с помощью параметра clauses
, который описывает сортировку для каждой роли данных. Пользователь не может изменить порядок сортировки, поэтому Power BI не отображает параметры сортировки в меню визуального элемента. Однако Power BI сортирует данные в соответствии с указанными параметрами.
Чтобы включить неявную сортировку, добавьте неявное clauses
в параметры файла clauses
capabilities.json может содержать несколько объектов с двумя параметрами:
role
: определяетDataMapping
сортировкуdirection
: определяет направление сортировки (1 = возрастание, 2 = убывание)
"sorting": {
"implicit": {
"clauses": [
{
"role": "category",
"direction": 1
},
{
"role": "measure",
"direction": 2
}
]
}
}
Настраиваемая сортировка
Настраиваемая сортировка обеспечивает разработчикам большую гибкость при сортировке. Разработчик может:
- Разрешите пользователю отсортировать по нескольким полям.
- Настройка порядка сортировки по умолчанию для данных
- Разрешить пользовательские операции сортировки во время выполнения
Включение пользовательской сортировки
Чтобы включить настраиваемую сортировку, добавьте следующий код в файл capabilities.json :
"sorting": {
"custom": {}
}
Пример: API пользовательской сортировки
let queryName1 = this.dataView.matrix.columns.levels[0].sources[0].queryName;
let queryName2 = this.dataView.matrix.columns.levels[1].sources[0].queryName;
let args: CustomVisualApplyCustomSortArgs = {
sortDescriptors: [
{
queryName: queryName1,
sortDirection: powerbi.SortDirection.Ascending
},
{
queryName: queryName2,
sortDirection: powerbi.SortDirection.Descending
},
]
};
this.host.applyCustomSort(args);