Power BI 视觉对象的排序选项

  • 版本 :2023.1(当前版本)

Power BI 视觉对象的排序选项

本文介绍了可用于指定 Power BI 中视觉对象排序方式的不同选项。

默认情况下,除非 capabilities.json 文件中另有说明,否则视觉对象不支持修改其排序顺序

排序功能至少需要以下参数之一。

  • default

  • implicit

  • custom

默认排序

default 选项是最简单的形式。 它允许用户根据任意一个字段和方向(升序或降序)进行排序。 用户从“更多选项”菜单中选择方向和字段。

列有美国各州的表的屏幕截图,上下文菜单提供了默认排序选项。

若要启用默认排序,请将以下代码添加到 capabilities.json 文件:

JSON复制

    "sorting": {        "default": {   }
}

隐式排序

隐式排序允许你使用参数 clauses 预先定义排序数组,该参数描述对每个数据角色的排序。 用户无法更改排序顺序,因此 Power BI 不会在视觉对象的菜单中显示排序选项。 但是,Power BI 会根据指定的设置对数据进行排序。

若要启用隐式排序,将隐式 clauses 添加到 capabilities.json 文件 clauses 参数可以包含多个对象,每个对象都有两个参数:

  • role:确定用于排序的 DataMapping

  • direction:确定排序方向(1 为升序,2 为降序)

JSON复制

    "sorting": {        "implicit": {            "clauses": [
{ "role": "category", "direction": 1
},
{ "role": "measure", "direction": 2
}
]
}
}

自定义排序

自定义排序使开发人员在排序时更具灵活性。 开发人员可以:

  • 允许用户一次按多个字段排序。

  • 设置数据的默认排序顺序

  • 允许在运行时执行自定义排序操作

启用自定义排序

若要启用自定义排序,请将以下代码添加到 capabilities.json 文件:

TypeScript复制

    "sorting": {        "custom": {} 
}

示例:自定义排序 API

TypeScript复制

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);