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
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 .dirección, la dirección de la ordenación. La enumeración
SortDirection
define la dirección de ordenación comoAscending
oDescending
.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);