Forum Discussion
Power BI
Hola compañeros....
He estado tratando de construir un informe en el que estoy atascado con un problema como los nombres de los meses no están en orden, incluso después de ordenar y probé muchas formas de ordenar, transformando datos, agregando nuevas col, cortando bla bla ... Todavía no se ha resuelto.
Por favor, sugiera la solución.
Observe la imagen donde en el eje X los nombres de los meses no están en orden. Ese es el problema, me enfrento.
¡Gracias..!
8 Replies
- Syndicate_Admin
Administrator
¡Hola @sailochanar! ¿Tienes una tabla de calendario? Si es así, mi sugerencia sería tener una columna numérica de mes año donde, por ejemplo, dec23 sería 1223 y junio 23 0623. Luego puede ordenar la columna original basada en la numérica.
- Syndicate_Admin
Administrator
No, solo tengo el atributo del mes, sí, incluso creé eso como dijiste para Dec23-1223. Pero aún así el orden no está ordenado. (Columna de división, condiciones...) Aún no se ha resuelto.
- Syndicate_Admin
Administrator
¿Puede explicar cómo clasificó usando esa columna que sugerí? O tal vez compartir el informe
- Syndicate_Admin
Administrator
Dividí la columna del mes que está llena de ene'23, feb'23.... así sucesivamente, y agregó otra columna con Month_number y fusionó los tres. Aún así, incluso después de ordenar con el número mnth tampoco se está ordenando. Por favor, sugiera una forma sencilla si es posible.
- Syndicate_Admin
Administrator
Cree un formato de columna en Año-Mes (formato (su columna de fecha), "AAAA-MMM"), como 2024-07 y ordene por orden ascendente.
O cree otra columna (por ejemplo, la columna A) con el orden deseado, luego ordene su columna original por la columna A. - Syndicate_Admin
Administrator
Puede seguir los pasos a continuación:
1) puede agregar una nueva columna en el Editor de Power Query o usar DAX para representar el número de mes.
Número de mes =
INTERRUPTOR(
[Mes],
"Ene'23", 1,
"Feb'23", 2,
"Mar'23", 3,
"Abr'23", 4,
"Mayo'23", 5,
"Jun'23", 6,
"23 de julio", 7,
"Agosto'23", 8,
"Sep'23", 9,
"Oct'23", 10,
"Nov'23", 11,
"Dic'23", 12,
EN BLANCO()
)- Ordene los datos por la columna MonthNumber.
- Syndicate_Admin
Administrator
Hola @sailochanar ,
Mediante el uso de la función de cambio, puede crear una nueva columna y agregar estos nuevos campos al archivo existente, luego aplicar la clasificación y luego regresará.
PINO-
INTERRUPTOR(Finanzas[Nombre del mes],"Abril","04-Abril","Junio","06-junio")Gracias y saludos,
Madhan Reddy
- Syndicate_Admin
Administrator
Hola @sailochanar,
Los nombres de los meses se ordenan alfabéticamente porque Power BI los trata como texto (como "23 de enero", "23 de febrero").
Debe darle a Power BI una fecha real para ordenar.Prueba esta sencilla solución:
1.
MonthText BuyerSellerRatio Dec22 2.0 Jan23 2.3 Feb23 2.5 Mar23 1.8 Apr23 1.02. Agrega una columna de fecha real
MonthStartDate = DATE( 2000 + RIGHT('Table1'[MonthText], 2), SWITCH( LEFT('Table1'[MonthText], 3), "Jan",1,"Feb",2,"Mar",3,"Apr",4,"May",5,"Jun",6, "Jul",7,"Aug",8,"Sep",9,"Oct",10,"Nov",11,"Dec",12 ), 1 )3. Crear una tabla de fechas
DateTable = ADDCOLUMNS( CALENDAR(MIN('Table1'[MonthStartDate]), MAX('Table1'[MonthStartDate])), "MonthYear", FORMAT([Date], "mmm yyyy"), "MonthNum", MONTH([Date]), "YearNum", YEAR([Date]), "SortOrder", YEAR([Date]) * 100 + MONTH([Date]) )4. Construye la relación
Vincular Table1[MonthStartDate] → DateTable[Date]
(Muchos a uno, una sola dirección)5. Ordena tu columna MonthYear
En DateTable, ordene MonthYear por SortOrder.
6. Prueba con dos gráficosGráfico 1 (Antes de la corrección)
Eje X → Tabla1[MonthText]
Tabla de → del eje Y1[BuyerSellerRatio]
→ Los meses se muestran alfabéticamente (incorrecto).Gráfico 2 (Después de la reparación)
Eje X → DateTable[MonthYear]
Tabla de → del eje Y1[BuyerSellerRatio]
→ meses se muestran correctamente: 22 de diciembre → 23 de enero → 23 de febrero → 23 de marzo → 23 de abril.
Este enfoque funciona tanto en Power BI Desktop como en Power BI Service. Manage RelationshipAdministrar la corrección de nombres de mes de Power BI de relacionesPower BI Month Names Fix