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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Matriz de Power BI Ordenar filas por valor

Hola a todos

Tengo un conjunto de datos que estoy usando de encuestas que es así: Cada pregunta respondida es una fila en la tabla con los atributos followiung, un atributo responseid que es único para cada persona que ha realizado una encuesta, un atributo questionid y questiontext para cada pregunta, y un atributo order que denota el orden en que aparece cada pregunta, y un atributo answertext que denota el texto que un usuario escribió para una pregunta. Cada pregunta en particular en una encuesta tendrá los mismos atributos questionid, questiontext y order.

Estoy tratando de organizar estos datos en una matriz, con responseid definiendo las columnas, questionid definiendo las filas y el answertext definiendo los valores donde se encuentran una fila y una columna.

Sin embargo, también me gustaría que el texto de la pregunta fuera lo que se muestra para cada etiqueta de fila a lo largo de la izquierda, y me gustaría que las filas aparecieran en orden de acuerdo con su atributo de orden. ¿Cómo puedo implementar esto?

Gracias

Jared Leonard

1 ACCEPTED SOLUTION

@Jared_Leonard

Me alegra saber que estás progresando. He adjuntado una imagen de los datos de una prueba y cómo agregar una columna de índice en el editor de consultas, esto se puede ordenar en el escritorio.

Puede agregar lo mismo a sus preguntas de dimesiones y luego, cuando esté en la vista superior del escritorio, ordene la columna por esa fila.

El código que necesitas es

= Table.AddIndexColumn(#"YOUR PREVIOUS STEP", "COLUMN NAME", 1, 1, Int64.Type)

The column in the UI will add your indexLa columna de la interfaz de usuario agregará el índice

Luego, cuando en la parte superior del escritorio, elija la columna de la tabla y luego la opción ordenar por y elija el índice, esto ordenará su matriz en el ordser derecho para usted.

Chose the column you want to sort and then sort byElija la columna que desea ordenar y, a continuación, ordene por

Si necesita proporcionar datos ficticios, puede pegarlos aquí o puede enviarlos por correo electrónico si eso es más fácil para usted.

Espero que esto ayude.

Atentamente

View solution in original post

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

Hola @Jared_Leonard

¿Tiene una tabla de dimensiones de sus preguntas con una columna de orden de clasificación, ya que esto ayudaría a ordenar la matriz en orden de preguntas?

En mi imagen, el ID de la pregunta también es numérico, por lo que puedo ordenar cualquier visual por este patten.

Espero que esto ayude.

sort order.png

Lo sentimos, todavía soy nuevo en Power BI, ¿está en la Vista de modelo? ¿Y qué opciones elegiste para crear esas tablas? ¿Se extraen directamente de una fuente de datos o se crean utilizando una fuente de datos existente?

Hola @Jared_Leonard ,

No es un probem, esa es una imagen de mi modelo que construí para una encuesta en la pestaña Modelo, dividí el archivo plano en el editor de consultas para crear un esquema en estrella o modelo de datos.

Consulte aquí la guía de Microsoft - star-schema para obtener una descripción general.


Entonces, ¿sería la columna Ordenar simplemente una columna personalizada llamada "Ordenar" o similar con un valor entero que denota dónde debe aparecer un valor en el orden de ordenación? ¿Cómo seleccionaría esa columna usando el visual Matrix? La única opción que puedo ver en matrix es la ordenación utilizando los encabezados de columna, que en mi caso sería alfabéticamente utilizando el texto de la pregunta.

Además, ¿cómo se definen esas relaciones en el modelo que has mostrado? Power Query Editor > combinar consultas?

¡Gracias!
Jared Leonard

Hola @Jared_Leonard

En el editor de consultas puede agregar una columna de índice a la tabla, luego, una vez que esté en el escritorio, puede elegir su columna para ordenar por esta columna de índice, luego, cuando la columna esté en la matriz, estará en el orden correcto para usted.

Creé mis tablas de dimensiones, haciendo referencia al archivo con todos los datos y luego seleccionando las columnas que necesito en cada dimensión, eliminando todas las demás columnas. A continuación, agregue la columna de índice a la tabla.

Para crear la tabla Fact, fusiono las nuevas tablas de dimesión con el ID de dimensión (o Índice) con la tabla Fact para crear un Índice de referencia y eliminar el texto de la pregunta. Este ID se utiliza para crear mis uniones en el escritorio entre la tabla fact y la tabla Dimension para crear una forma de estrella (puede alinearlas de diferentes maneras si lo desea, por ejemplo, una cascada con la dimensión en la parte superior y la tabla de hechos debajo) y el modelo dimensional.


Entonces tendrás muchas Preguntas en la tabla de hechos con el número índice, pero solo una de cada pregunta en la dimensión que corresponde a esta.

Cuando cargue las tablas, las relaciones se unirán (dependiendo de la configuración de su archivo) o puede arrastrar y soltar las columnas de cada tabla para enjaular la unión de 1 a Muchos.


¿Está empezando a tener sentido esto?

Atentamente.

Tiene más sentido, pero todavía estoy buscando aclaraciones para algunas cosas, sus respuestas continuas son muy apreciadas.

En su diagrama, la dirección de la relación va de la tabla de dimensiones a la tabla de hechos, mientras que lo contrario parece estar definido en la referencia que vinculó. ¿Es este detalle relevante o es arbitraria la dirección de la relación?

Actualmente, al intentar definir la matriz, recibo lo siguiente:

Jared_Leonard_0-1652284827559.png

¿Hay algo en mi modelo que sugiera una razón para esto?

Jared_Leonard_1-1652284870828.png

Traté de acercarlo lo más posible a un esquema de estrellas.

¡Gracias!
Jared Leonard

Hola @Jared_Leonard

Por el aspecto de su imagen, no tiene la tabla de hechos (Respuestas) en el centro, y tiene una relación bidireccional, así como otras tablas que no se filtran en la tabla de hechos debido a la relación, supongo que esta es la fuente de su error en Matrix.

Lo que estás buscando aquí, es tener los muchos en el lado de la tabla de hechos y el Uno en las dimensiones, con todas las flechas apuntando a la tabla de Hechos. Si tiene dimensiones principal e hija vinculadas a la tabla de hechos, también deben fluir hacia la tabla de hechos con las muchas a una en las direcciones correctas.

¿Ha pivotado las respuestas de su cuestionario en su tabla de hechos para que la tabla sea delgada y larga?

¿Ha configurado claves entre las preguntas y otras tablas para vincularlas a las respuestas en la tabla de hechos?

Si puede publicar una copia o un conjunto de datos ficticios modelados en su archivo PBIX, tal vez sea más fácil de ver si está luchando para comprender lo que he sugerido.

Feliz de ayudarte y contribuir a ayudar a otros en el foro.

Atentamente.

Gracias por su respuesta, he ajustado la estructura de mis tablas de acuerdo con sus comentarios, se ven así ahora:

Jared_Leonard_0-1653407205742.png

Los datos entran en la matriz correctamente ahora, pero todavía estoy confundido sobre los pasos exactos que tomaría para ordenar las filas de la matriz. Puedo ordenar las entradas de la tabla Fact, pero no una vez que los valores se introducen en la matriz. ¿Necesitarían las "Filas" de la matriz tener el nombre de la pregunta y todos los valores en los que estoy ordenando?

Además, si la tabla sigue siendo incorrecta, puedo proporcionar datos de muestra, no estoy seguro de cómo exportar dichos datos de una manera que sea utilizable para usted.

Gracias

Jared Leonard

@Jared_Leonard

Me alegra saber que estás progresando. He adjuntado una imagen de los datos de una prueba y cómo agregar una columna de índice en el editor de consultas, esto se puede ordenar en el escritorio.

Puede agregar lo mismo a sus preguntas de dimesiones y luego, cuando esté en la vista superior del escritorio, ordene la columna por esa fila.

El código que necesitas es

= Table.AddIndexColumn(#"YOUR PREVIOUS STEP", "COLUMN NAME", 1, 1, Int64.Type)

The column in the UI will add your indexLa columna de la interfaz de usuario agregará el índice

Luego, cuando en la parte superior del escritorio, elija la columna de la tabla y luego la opción ordenar por y elija el índice, esto ordenará su matriz en el ordser derecho para usted.

Chose the column you want to sort and then sort byElija la columna que desea ordenar y, a continuación, ordene por

Si necesita proporcionar datos ficticios, puede pegarlos aquí o puede enviarlos por correo electrónico si eso es más fácil para usted.

Espero que esto ayude.

Atentamente

Hola de nuevo @demo , y gracias por su inestimable ayuda continua. He agregado una columna de índice según su sugerencia, y parece reflejar el orden de clasificación previsto que tenía en mente, ¡y cuando se aplica a Matrix, los datos se ordenan correctamente!


Me he topado con un par de problemas resultantes, pero creo que esos pertenecerían a un nuevo hilo. ¡Gracias de nuevo por su ayuda!

Hi, @Jared_Leonard

Es bueno escuchar que ha resuelto su pregunta, más que feliz de ayudar y sugerir formas de solucionarlo.

Buena suerte en la resolución de sus otros problemas.

Atentamente

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors