Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Ordenar por día de la semana

Hola cuando trazar algunos volúmenes de llamadas y también volúmenes de ventas quiero trazarlos por día de la semana. Lo que significa que en un gráfico de columnas quiero que el eje lea a la izquierda ot a la derecha como

Lunes Martes Miércoles Jueves Sábado Sábado

Sin embargo, el gráfico se ordena en las siguientes órdenes

Viernes Lunes Sábado Domingo Jueves Miércoles

O en el orden inverso de lo anterior. Esto es inútil e inútil, ya que nunca puedo ver a nadie que quiera estas órdenes.

Alguien por favor ayúdame.

He visto una solución mediante la cual un uso agregó las etiquetas un número (1.Mon 2.Tues 3.Wed etc) para forzar el orden numéricamente, pero esto parece poco profesional y solo disuaderá a las personas que no son defensores de Power BI.

1 ACCEPTED SOLUTION

En primer lugar, la ecuación que di utiliza el lenguaje M... en QUERY EDITOR. La solución DAX funcionará, pero una columna calculada casi siempre ocupará más espacio y reducirá el rendimiento.

En segundo lugar, ordene la columna [Día] por la columna [Día de la semana] recién creada.

Resalte la columna [Día]

Haga clic en Modelado -> Haga clic en Ordenar por columna -> haga clic en [Día de la semana]

View solution in original post

13 REPLIES 13
Syndicate_Admin
Administrator
Administrator

Esto no realiza ningún cambio en la tabla Matrix

Anonymous
Not applicable

Entiendo que este post es viejo. Pero mi problema es que sigo todas las sugerencias de aquí y la nota de obras. Tengo una columna DayWeek y agregué una columna de ordenación:

DayOfWeekSort - SWITCH( DimDate[DayName],
"Domingo", 0,
"Lunes", 1,
"Martes", 2,
"Miércoles", 3,
"Jueves", 4,
"Viernes", 5,
"Sábado", 6
)
Cuando selecciono el objeto visual, a continuación, el DayWeek en el campos sección, a continuación, en modelado -> ordenar por columna elijo el DayOfWeekSort y obtener un mensaje: "La columna no se puede ordenar por una columna que está ordenada alredy, directa o indirectamente por esta columna". Y no lo entiendo ya que no hice ningún otro paso para ordenar. Traté de eliminar DayWeek por completo y luego agregarlo y luego doint ordenar por columna. Nada funciona. ¡Realmente frustrante!

En su lugar, agregue una nueva columna que sea solo los valores del 1 al 7.

En la 'Vista de datos',

seleccione la columna día de la semana.
Con la columna del día de la semana aún seleccionada, elija 'Ordenar por columna' y seleccione la nueva columna numérica que acaba de crear con los valores 1-7.

(todavía en la vista de datos) Seleccione la nueva columna numérica y cambie el tipo de datos y el formato de la columna a un 'número entero'.
Ahora su visual debe ordenarse correctamente.

-M

@zaichusha , está recibiendo este error porque está creando la columna basada en la columna que finalmente ordenará... es una lógica circular extraña.

La mejor solución es crear la columna personalizada mediante el Editor de consultas basado en el código que compartí anteriormente. La columna se ordenará muy bien entonces.

Mejor


• Chris H

Tercero. Este error es muy frustrante. ¿Podría tener algo que ver con las relaciones entre modelos? No estoy seguro, pero me encantaría ver una verdadera solución.

Syndicate_Admin
Administrator
Administrator

Power BI siempre ordena las columnas de texto alfabéticamente a menos que especifique el criterio de ordenación en función de otra columna. Debe tener otra columna en la tabla que corresponda al criterio de ordenación que desee.

Una manera fácil de hacerlo es en el editor de consultas. Agregue una columna personalizada con la siguiente fórmula:

Date.DayOfWeek( [<su columna de fecha>] )

Esto generará una columna donde el domingo devolverá 0, lunes 1, martes 2, etc.

A continuación, haga clic en la columna de nombre del día en Power BI. Haga clic en la pestaña Modelado de la cinta de opciones. Haga clic en "Ordenar por columna". A continuación, elija la columna recién creada.

Anonymous
Not applicable

Lo siento, esa no es la solución.

Por ejemplo, en el gráfico básico a continuación quiero que el eje se ordene de lunes a domingo. La solución ofrecida me da una columna que no uso en el objeto visual y por lo tanto no se puede ordenar por el número de día de la semana.

Como se mencionó anteriormente, podría concatinar las etiquetas para leer 1. Lunes, 2. Martes, etc., pero creo que esta no es una solución profesional limpia, especialmente cuando se intenta mostrar a mi trabajo Power BI.

Capture.JPG

Sort By Column.pngLo siento, pero se equivoca.

Debe crear la columna que desea tener en el modelo de datos. NO usará esa columna de ordenación en el objeto visual. Debe hacer clic en la columna Nombre de día (la que desee en su objeto visual). A continuación, haga clic en MODELING y, a continuación, ORDENE POR COLUMN. A continuación, haga clic en el nombre de la columna de ordenación que ha creado. Echa un vistazo a la captura de pantalla.

Ahora la columna Nombre de día se ordenará automáticamente por la otra columna y solo puede usar la columna Nombre de día en el objeto visual como pretendía.

Anonymous
Not applicable

Ok todavía no funciona.... Compartiré con ustedes los pasos que he hecho porque tal vez lo he hecho mal.

En primer lugar, la columna

Date.DayOfWeek( [<su columna de fecha>] )

Esta fórmula la columna errores que no reconoce DayOfWeek como una función?? Es esto correcto. La fórmula con la que fui era

Día de la semana - WEEKDAY(<mi columna de fecha> , 2). Esto produjo 1 para el lunes hasta el 7 para el domingo

Capture2.JPG

Yo que fui a modelar y ordenado por día de la semanaCapture3.JPG

El objeto visual todavía no se ordena por día de la semana.

Después de hacer el cambio relacionado con la ordenación en la pestaña modelado, debe seleccionar el gráfico y luego quitar la columna "DayName" del eje y agregarlo de nuevo, funcionará 🙂

En primer lugar, la ecuación que di utiliza el lenguaje M... en QUERY EDITOR. La solución DAX funcionará, pero una columna calculada casi siempre ocupará más espacio y reducirá el rendimiento.

En segundo lugar, ordene la columna [Día] por la columna [Día de la semana] recién creada.

Resalte la columna [Día]

Haga clic en Modelado -> Haga clic en Ordenar por columna -> haga clic en [Día de la semana]

En realidad, he intentado algo más fácil y funcionó para el mismo problema (Cómo organizar los nombres de los días en orden).

Primer paso: Vaya a la vista de datos o a la vista de informe, seleccione transformar datos para abrir el editor de Power Query.

Segundo paso: Seleccione la tabla que contiene la columna en la que debe realizar acciones y seleccione la pestaña Agregar columna y seleccione la opción Columna personalizada.

Tercer paso: En el nombre de la columna nombra la columna como desees, aquí la he nombrado como . En la fórmula { = Date.DayOfWeek( [date] ) } (Seleccione la columna que tiene. (No es el nombre del día)).

Cuarto paso: Haga clic en la pestaña Inicio y seleccione la opción Cerrar y aplicar para guardar los cambios y cerrar el editor de Power Query.

Quinto paso: Vaya a la vista de informe y seleccione el nombre de columna que tiene. Seleccione la pestaña Herramientas de columna en arriba y seleccione la opción Ordenar por columnas y seleccione la nueva columna que ha creado .

Gracias.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.