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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
dc7669
Resolver I
Resolver I

Unpivot.... salir de las manos

Tengo una tabla de datos que se parece a esto:

NombreAtributo1 (con 13 opciones, es decir, 13 columnas)Atributo2 (con 7 opciones, es decir, 7 columnas)Atttribue3 (con 10 opciones, es decir, 10 columnas)Atributos 4 (con 11 opciones, es decir, 11 columnas)

Person1

Person2
....
Person100

En un informe de PowerBI, me gustaría tener 4 segmentaciones de datos, cada una muestra todas las opciones para cada atributo. Aprendí de este foro que puedo usar Unpivot para llegar a todas las opciones de cada atributo. Puedo usar esta estrategia 4 veces más. Sin embargo, con este conjunto de datos, 100 filas de datos se convierten en 1 millón de filas porque 100 registros x13 x 7 x 10 x 11 x 1 millón 1 mil.

Me pregunto si hay alguna otra manera más eficiente / más rápida de adjuntar este problema?

¡Gracias!

11 REPLIES 11
v-gizhi-msft
Community Support
Community Support

Hola

@dc7669

Después de copiar y despivotar, intente crear una tabla de segmentación de datos para filtrar:

SlicerTable =
ADDCOLUMNS (
    UNION (
        DISTINCT ( 'Table (1)'[Attribute] ),
        DISTINCT ( 'Table (2)'[Attribute] ),
        DISTINCT ( 'Table (3)'[Attribute] ),
        DISTINCT ( 'Table (4)'[Attribute] )
    ),
    "Group", "Group-" & RIGHT ( LEFT ( [Attribute], 5 ), 1 )
)

El resultado muestra:

1.PNG

Vea mi archivo pbix adjunto.

Saludos

Giotto

v-gizhi-msft
Community Support
Community Support

Hola

Por favor, siga estos pasos:

1)Copie primero la tabla original en cuatro tablas iguales en el Editor de consultas.

2)Reserve un atributo en una tabla y elimine otras columnas de atributo.

3)Después de aplicar, puede crear cuatro segmentaciones de datos para filtrar estas cuatro tablas y cada tabla solo tendrá como máximo 130 filas.

Saludos

Giotto

Pensé esto también al principio @v-gizhi-msft pero la confusión se deriva del poste, no es 4 columnas como se indica en el post. Si miras un poco más de cerca, creo que los datos están organizados como los siguientes:

Persona,attribute1_value1,attribute1_value2,attribute1_value3,attribute2_value1,attribute2_value2...

Así que esas serían las columnas del conjunto de datos. No es nada bonito. En absoluto.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler Su comprensión es absolutamente correcta. En essense, tengo una tabla de datos con 41 campos (13+7+10+10) agrupados en 4 grupos. Acerca de Filtrado en tabla sin pivotar, parecía que el filtrado no se puede hacer antes de Unpivot. Esto probablemente tenga sentido.

Traté de @v-gizhi-msft's sugerencia de hacer 4 copias de la tabla y luego desfortalecer un grupo de campos a la vez. Funcionó. Y luego, creé la relación "Muchos a varios" para vincular las 4 tablas juntas. Entonces, traté de hacer 4 rebanadoras. Vi que si la Persona A tiene atributos mutliple dentro del mismo grupo, la Persona A aparecería varias veces cuando no se selecciona ninguno de los atributos del grupo en una segmentación de datos. Esto no ocurre si tuviera que desencrepitar 4 veces en una sola tabla.

Gracias @Greg_Deckler @v-gizhi-msft por sus comentarios e insumos.

Hola

@Greg_Deckler

Creo que puedo seleccionar todas las columnas bajo un atributo especificado para reservar y como una nueva tabla, continuar pasos y generar cuatro tablas por fin, luego desicomar todas estas columnas para cada tabla.

Saludos

Giotto

Sí, pero aún necesitaría todas las columnas del atributo 1 en una sola columna para establecer una relación. No lo sé, es muy feo, tal vez @ImkeF tiene una idea o @edhans .

Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Hola @dc7669 ,

¿Podría ser que necesita 4 tablas diferentes (dimensión) en su lugar?

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

@dc7669

Tiendo a estar de acuerdo con @ImkeF pensamientos aquí. Me daría un paso atrás y miraba lo que hay en esa mesa. Es posible que deba ser para tablas DIM, o podríamos dividirlo en 4 consultas en Power Query y, a continuación, volver a combinarlas como una sola si realmente es un conjunto de datos que está organizado horriblemente en el origen.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Por lo que leí, las tablas dimensionales tienen todos los hechos (o campos con los que quiero cortar/leer). En mi ejemplo, serán 4 grupos de atributos. Cada grupo de atributos tiene unas 10 opciones posibles. Cada opción es simplemente sí/no. Por lo tanto, cada persona en la tabla tiene 40 campos que tiene sí/no en ella. Tengo unas 100 personas en la mesa. Por lo tanto, 5 dimensiones (el campo de persona + 4 grupo de atributo) tabla que tendrá 100 x 10 x 10 x 10 x 10 x 1,000,000 filas. Eso es exactamente lo que Unpivot la tabla 4 veces me dará. Por lo tanto, dudo que esta estrategia tenga alguna ventaja.

La presentación que quiero hacer es para que el usuario seleccione la totalidad o una de las opciones de los 4 grupos de atributos y el usuario verá a todas las personas que cumplieron con los criterios seleccionados una sola vez.

Puede ser que no haya una manera fácil de salir de esto.

Gracias por todas sus entradas.

dc7669

Hola @dc7669 ,

lo que particularmente no entiendo es esto:"y el usuario verá a todas las personas que cumplieron con los criterios seleccionados sólo una vez. "

¿Qué tal crear algunos datos de maquetas reales con 2 usuarios, 2 atributos con 2 opciones cada uno y crear algunas imágenes como desea que se comporte el informe?

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

Greg_Deckler
Super User
Super User

Bueno, sí, pero ¿no filtraría la tabla para donde todas las columnas Value estaban en blanco?

Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.