Power BI 视觉对象的排序选项
本文介绍了可用于指定 Power BI 中视觉对象排序方式的不同选项。
默认情况下,除非 capabilities.json 文件中另有说明,否则视觉对象不支持修改其排序顺序。
排序功能至少需要以下参数之一。
默认排序
default
选项是最简单的形式。 它允许用户根据任意一个字段和方向(升序或降序)进行排序。 用户从“更多选项”菜单中选择方向和字段。
若要启用默认排序,请将以下代码添加到 capabilities.json 文件:
"sorting": {
"default": { }
}
隐式排序
隐式排序允许你使用参数 clauses
预先定义排序数组,该参数描述对每个数据角色的排序。 用户无法更改排序顺序,因此 Power BI 不会在视觉对象的菜单中显示排序选项。 但是,Power BI 会根据指定的设置对数据进行排序。
若要启用隐式排序,将隐式 clauses
添加到 capabilities.json 文件 clauses
参数可以包含多个对象,每个对象都有两个参数:
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);