按目标数据字段对视觉对象进行排序

在 Power BI 中,可以通过按不同数据字段对视觉对象进行排序来更改视觉对象的外观。 通过更改对视觉对象进行排序的方式,可以突出显示要传达的信息。 无论是使用数字数据(如销售数字)还是文本数据(如状态名称),都可以根据需要对视觉对象进行排序。 Power BI 提供了大量灵活性,可用于排序和快速菜单。 若要了解详细信息,请参阅 更改图表在 Power BI 报表中的排序方式

显示 Power B I 视觉对象的屏幕截图,其中打开了选项菜单并突出显示了排序命令。

可以使用 visual.sortBy API 更改按视觉对象数据字段之一对视觉对象进行排序的方式。 还可以控制排序的方向。

如何对视觉对象进行排序

Power BI 客户端 VisualDescriptor 类将 sortBy 方法定义为:

visual.sortBy(request: ISortByVisualRequest): Promise<void>

ISortByVisualRequest 接口包括排序请求的定义:

export interface ISortByVisualRequest {
    orderBy: ITarget;
    direction: SortDirection;
}
  • orderBy,排序的目标数据字段。 视觉对象可以排序的数据字段位于视觉对象的 选项菜单中,排序依据 菜单命令下,了解有关 使用目标选择要对执行哪些数据字段的详细信息。

    显示 Power B I 视觉对象的屏幕截图,其中打开了选项菜单,并展开了“排序依据”子菜单。

  • 方向排序的方向。 SortDirection 枚举将排序方向定义为 AscendingDescending

    enum SortDirection {
        Ascending = 1,
        Descending = 2,
    }
    

若要获取报表的页面,请查找活动页并获取视觉对象。 该视觉对象具有唯一名称 VisualContainer1,并按 SalesFact 表上的 Total Category Volume 度量值进行降序排序:

let pages = await report.getPages();

// Retrieve active page
var activePage = pages.find(function (page) { return page.isActive });

let visuals = await activePage.getVisuals();

// Retrieve target visual (replace "VisualContainer1" with requested visual name)
var visual = visuals.find(function (visual) { return visual.name === "VisualContainer1" });

const request = {
    // Set the target data field of the sort
    orderBy: {
        table: "SalesFact",
        measure: "Total Category Volume"
    },
    direction: models.SortDirection.Descending
};

await visual.sortBy(request);

按列目标对视觉对象进行排序:

const request = {
  // Set the target data field of the sort
    orderBy: {
        table: "Store",
        column: "Name"
    },
    direction: models.SortDirection.Ascending
};

await visual.sortBy(request);