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

Extraer las dimensiones del producto de varios collumns

Querida comunidad,

Tengo una lista de productos:

Products.png

... y una tabla que relaciona los productos con los grupos de productos:

Product Dimensions.png

"Es decir: los números de producto de 1000 a 1999 pertenecen al grupo de productos A"

... que quiero combinar con una tabla que muestre los productos y sus grupos de productos:

Result.png

Probé diferentes combinaciones de CALCULATE, LOOKUPTABLE, FILTER y SELCTEDVALUE, pero no llegaron a un resultado.

¡Agradecería mucho tu ayuda!

Muchas gracias

Daniel

7 REPLIES 7
Pragati11
Super User
Super User

Hola @dakü ,

Tengo una solución para lograr esto.

  1. Tengo las siguientes tablas de la siguiente manera:g1.png
  2. En el Editor de consultas hice las siguientes tranasformaciones en la tabla Product con solo la columna Product:
    • Columna Producto duplicado (Ignorar nombre me equivoqué en la tabla, pero esta es la tabla con solo la columna "Producto" que contiene los valores de producto como en la primera tabla. Al final lo he renombrado.)g2.png
    • Se ha cambiado el tipo de columna duplicado a TEXTO y 1o carácter extraído de esta columna:g3.png
    • De nuevo modificado el tipo de datos de esta columna duplicada a TODO NUMERO y lo renombró a "lowerVal"g4.png
    • Se ha añadido una columna personalizada como se muestra a continuación:g5.png
    • Se ha añadido otra columna personalizada g6.png usando esta columna FROM de la siguiente manera: por lo que finalmente terminamos con la columna FROM y TILL en la tabla Product. Simplemente eliminando la columna "lowerVal" y cambiando el nombre de Product Group coulmn a Product obtenemos:g7.png
  3. Ahora puede recuperar fácilmente el grupo de productos con estos productos de la tabla ProductGroup.
  4. Cree una relación entre 2 tablas en la columna FROM.
  5. a continuación, simplemente arrastre las columnas de la siguiente manera y termine con el grupo de productos contra el valor del producto:g8.png

Finalmente obtienes el resultado requerido.

Si esto ayuda y resuelve el problema, apreciar un Kudos y marcarlo como una solución! 🙂

Gracias

Pragati

Best Regards,

Pragati Jain


MVP logo


LinkedIn | Twitter | Blog YouTube 

Did I answer your question? Mark my post as a solution! This will help others on the forum!

Appreciate your Kudos!!

Proud to be a Super User!!

Anonymous
Not applicable

Estimado @Pragati11 ,

gracias por su idea y la gran descripción!

En realidad, su enfoque es el trabajo que estoy usando actualmente. El problema es que en el futuro más grupos de productos llegarán como 1000<AA>1500. Así que me gustaría usar un enfoque que de alguna manera se ve así:

Productgr - IF(Products[Product] >Productgroups[from] && Products[Product] < Productgroups[till]); Grupos de productos[ProductGroup])

¿Alguna idea 😅?

saludos

Daniel

Anonymous
Not applicable

Pegue ambas piezas en PQ:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSK1YlWMgKTxmDSBEyagkkzMGkOJi3ApCWYNDRQio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ProductID = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"ProductID", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Groups", each Groups),
    #"Expanded Groups" = Table.ExpandTableColumn(#"Added Custom", "Groups", {"Group", "From", "To"}, {"Group", "From", "To"}),
    #"Added Custom1" = Table.AddColumn(#"Expanded Groups", "Should Retain", each [From] <= [ProductID] and [ProductID] <= [To]),
    #"Filtered Rows" = Table.SelectRows(#"Added Custom1", each ([Should Retain] = true)),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"From", "To", "Should Retain"})
in
    #"Removed Columns"

Y

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIAYmOlWJ1oJScgywSIzcA8ZyDLHIgtwTwXMEtHydBIKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Group = _t, From = _t, To = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Group", type text}, {"From", Int64.Type}, {"To", Int64.Type}})
in
    #"Changed Type"

Funciona con la condición de que todos los ProductID pertenecen a un grupo. Si no hay ningún grupo al que pertenezca el ProductID, se filtrará. Pero puede ajustar fácilmente el código para que, si no hay ningún grupo para él, se asigne null.

Mejor

D

Anonymous
Not applicable

Y este código funciona para cualquier arreglo. Una condición es que los grupos no deben superponerse en términos de identificadores de producto que cubren. Si tienes algo como esto, recibirás un error.

Archivo adjunto.

Mejor

D

Anonymous
Not applicable

¡Impresionante! ¡Muchas gracias!

Mariusz
Community Champion
Community Champion

Hola @dakü

Puede combinar consultas en Power Query

https://www.youtube.com/watch?v=dTdFt9AvDHA&t=89s


Saludos
Mariusz

Si este post ayuda,entonces por favor considere aceptarlo como la solución.

Por favor, siéntase libre de conectarse conmigo.
Linkedin



Anonymous
Not applicable

Hola @Mariusz,

¡Agradezco su ayuda inmediata!

Ha sugerido combinar las consultas. Me encantaría hacerlo, pero la fusión de consultas funciona normalmente con collumns comunes.

En mi caso necesito algo como:
Productgr - IF(Products[Product] >Productgroups[from] && Products[Product] < Productgroups[till]); Grupos de productos[ProductGroup])

¿Alguna idea de cómo resolver eso?

saludos

Daniel

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.