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.

Screenshot of table of US states with default sorting options the context menu.

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: determina DataMapping 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);