Ordenación de una columna

La ordenación de la columna de "Nombre del mes" de nuestro calendario es muy sencilla, pues solemos tener otra columna en la misma tabla con el número de mes ("Mes", por ejemplo). En un caso como éste, basta seleccionar el campo "Nombre del mes" en el área de campos y utilizar la herramienta "Modelado > Ordenar por columna" para especificar que el criterio de ordenación viene definido por la columna "Mes".

Pero ¿y si no tenemos una columna numérica que nos permita definir ese orden? Pues habría que crearla. Supongamos que tenemos una tabla de nombre "Analitica" en la que se incluyen registros contables (uno por fila), cada registro incluyendo en el campo "Account type" el tipo de cuenta del que se trata en un plan general contable. Si llevamos este campo a nuestro lienzo en una visualización tipo tabla, obtendríamos lo siguiente:

Columna a ordenar

Supongamos, por otro lado, que el orden que queremos aplicar es el siguiente:

Orden deseado

...criterio de ordenación que tenemos almacenado en un fichero Excel, tal y como puede verse.

Lo primero que habría que hacer sería cargar en Power BI esta tabla, supongamos que con el nombre "Account Type Order":

Tabla con el criterio de ordenación importada

Vemos que el nombre "Account Type" es el mismo que tiene el campo con el tipo de cuenta original (esto no es relevante) y el campo "Order" contiene el orden deseado. A continuación deberemos crear una relación entre la tabla "Analítica" y la tabla "Account Type Order", usando como campos clave "Account Type" (o los nombres de los campos que contuviesen los nombres de los tipos de cuentas):

Relación creada entre las tablas

Ahora, tenemos dos opciones: ordenar el campo "Account Type" de la tabla "Account Type Order" según el campo "Order" de la misma tabla y usar este campo "Account Type" en nuestras visualizaciones (en lugar del campo "Account Type" de la tabla "Mapping"), o "importar" el campo "Order" a nuestra tabla "Mapping" y ordenar el campo "Account Type" de esta tabla "Mapping" según el campo importado.

Si optamos por esta segunda opción, la importación se realizaría añadiendo una columna calculada a "Mapping" con el siguiente código:

Order = RELATED('Account Type Order'[Order])

De esta forma estamos asociando a cada registro de nuestra tabla "Mapping" un número que indica el orden en el que el tipo de cuenta del registro debería mostrarse. Podemos, por tanto, seleccionar el campo "Account Type" de "Mapping" y ordenarlo según el campo "Order" de esta misma tabla. Ahora, la visualización que habíamos creado inicialmente se mostrará de la siguiente forma, tal y como queríamos:

Campo ordenado

 

Funciones DAX involucradas
Enviado por admin el Mar, 25/06/2019 - 19:11