Compartir a través de


Ordenar un objeto visual por un campo de datos de destino

En Power BI, puede cambiar el aspecto de un objeto visual ordenándolo por campos de datos diferentes. Al cambiar la ordenación de un objeto visual, puede resaltar la información que desea transmitir. Tanto si usa datos numéricos (como cifras de ventas) como datos de texto (por ejemplo, nombres de estado), puede ordenar los objetos visuales según sea necesario. Power BI proporciona mucha flexibilidad para ordenar y menús rápidos que puede usar. Para más información, consulte Cambio de cómo se ordena un gráfico en un informe de Power BI

Captura de pantalla que muestra un objeto visual de Power BI con el menú de opciones abierto y resaltado los comandos de ordenación.

Puede usar la API de visual.sortBy para cambiar cómo ordenar un objeto visual por uno de sus campos de datos. También puede controlar la dirección de la ordenación.

Cómo ordenar un objeto visual

El cliente de Power BI clase VisualDescriptor define un método sortBy como:

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

La interfaz ISortByVisualRequest incluye una definición para la solicitud de ordenación:

export interface ISortByVisualRequest {
    orderBy: ITarget;
    direction: SortDirection;
}
  • orderBy, el campo de datos de destino de la ordenación. Los campos de datos por los que se puede ordenar el objeto visual se encuentran en el menú de opciones del objeto visual en el comando de menú Ordenar por , Obtenga más información sobre Usar destinos para seleccionar qué campo de datos actuar en.

    Captura de pantalla que muestra un objeto visual de Power BI con el menú de opciones abierto y se expande el submenú

  • dirección, la dirección de la ordenación. La enumeración SortDirection define la dirección de ordenación como Ascending o Descending.

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

Ejemplo

Para obtener las páginas de un informe, busque la página activa y obtenga los objetos visuales. El objeto visual se encuentra con el nombre único VisualContainer1 y se ordena descendentemente por Total Category Volume medida en la tabla 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);

Para ordenar un objeto visual por un destino de columna:

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

await visual.sortBy(request);