Поделиться через


Сортировка визуального элемента по целевому полю данных

В Power BI можно изменить внешний вид визуального элемента, сортируя его по разным полям данных. Изменив способ сортировки визуального элемента, можно выделить информацию, которую вы хотите передать. Независимо от того, используете ли вы числовые данные (например, цифры продаж) или текстовые данные (например, имена состояний), можно отсортировать визуальные элементы по желанию. Power BI обеспечивает много гибкости для сортировки и быстрых меню для использования. Дополнительные сведения см. в статье Изменение сортировки диаграммы в отчете Power BI

снимок экрана, на котором показан визуальный элемент Power B I с открытым меню параметров и выделены команды сортировки.

С помощью API visual.sortBy можно изменить способ сортировки визуального элемента по одному из полей данных. Вы также можете контролировать направление сортировки.

Сортировка визуального элемента

Класс клиента Power BI Client VisualDescriptor определяет метод следующим образом:

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

Интерфейс ISortByVisualRequest включает определение для запроса сортировки:

export interface ISortByVisualRequest {
    orderBy: ITarget;
    direction: SortDirection;
}
  • orderBy, целевое поле данных сортировки. Поля данных, по которым можно отсортировать визуальный элемент, находятся в меню меню визуального элемента в команде меню "Сортировка по", дополнительные сведения о том, Использовать целевые объекты для выбора поля данных для действия с.

    снимок экрана, на котором показан визуальный элемент Power B I с открытым меню параметров, а вложенное меню

  • направление, направление сортировки. Перечисление SortDirection определяет направление сортировки как Ascending или Descending.

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

Пример

Чтобы получить страницы отчета, найдите активную страницу и получите визуальные элементы. Визуальный элемент найден с уникальным именем VisualContainer1 и отсортирован по убыванию по Total Category Volume мере в таблице SalesFact:

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