Opciones de ordenación para objetos visuales de Power BI
En este artículo se describen las distintas opciones disponibles para especificar la forma en que un objeto visual ordena los elementos en Power BI.
De forma predeterminada, un objeto visual no permite que se modifique su criterio de ordenación, a menos que se indique lo contrario en el archivo capabilities.json.
La funcionalidad de ordenación requiere uno de los siguientes parámetros.
Ordenación predeterminada
La opción default
es la forma más simple. Permite al usuario ordenar según cualquier campo y dirección (ascendente o descendente). El usuario selecciona la dirección y el campo en el menú más opciones.
Para habilitar la ordenación predeterminada, agregue el código siguiente al archivo capabilities.json:
"sorting": {
"default": { }
}
Ordenación implícita
La ordenación implícita permite definir previamente una matriz de ordenación mediante el parámetro clauses
, que describe la ordenación para cada rol de datos. El usuario no puede cambiar el criterio de ordenación, por lo que Power BI no muestra las opciones de ordenación en el menú del objeto visual. pero sí que ordena los datos según la configuración especificada.
Para habilitar la ordenación implícita, agregue el parámetro clauses
implícito a los parámetros clauses
del archivo capabilities.json, que puede contener varios objetos con dos parámetros cada uno:
role
: determinaDataMapping
para la ordenación.direction
: determina la dirección de ordenación (1 = ascendente; 2 = descendente).
"sorting": {
"implicit": {
"clauses": [
{
"role": "category",
"direction": 1
},
{
"role": "measure",
"direction": 2
}
]
}
}
Ordenación personalizada
La ordenación personalizada proporciona al desarrollador más flexibilidad al ordenar. El desarrollador puede:
- Permitir que el usuario ordene por varios campos a la vez.
- Establecer un criterio de ordenación predeterminado para los datos.
- Permitir operaciones de ordenación personalizadas durante el tiempo de ejecución
Habilitar la ordenación personalizada.
Para habilitar la ordenación predeterminada, agregue el código siguiente al archivo capabilities.json:
"sorting": {
"custom": {}
}
Ejemplo: API de ordenación personalizada
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);