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
Chaucer
Helper II
Helper II

Intentar crear una segmentación

Tengo una mesa de productos así:

Producto Características
1A, B
2B, C
3C, D

Quiero crear una segmentación que tenga las características enumeradas en ella: A o B o C o D, y cuando se selecciona ese caratoico, mi tabla muestra los productos que incluyen esas características. Por lo tanto, al seleccionar B se enumerarían los productos 1 y 2, seleccionando A enumeraría el producto 1.

He intentado hacer esto duplicando la tabla, nombrando el segundo filtro de tabla, luego divido la columna por delimitador y, a continuación, creando una relación a través del producto en las tablas.

Sin embargo, hacer esto sólo me presenta la opción de cortar por A, B o B, C o C, D.

Sospecho que estoy pensando en esto, pero por mi vida no puedo averiguar cómo hacer lo que debe ser una tarea muy básica y común?

2 ACCEPTED SOLUTIONS
Greg_Deckler
Super User
Super User

@Chaucer Puede hacerlo a través de una segmentación compleja mediante la búsqueda (SEARCH) o CONTAINS y devolver 1 o 0 si se va a mostrar o no.

https://community.powerbi.com/t5/Quick-Measures-Gallery/The-Complex-Selector/m-p/1116633#M534

Como:

Flag Measure =
  VAR __Slicer = SELECTEDVALUE('Slicer'[Column])
RETURN
  IF(SEARCH(__Slicer,'Table'[Column],,0)>0,1,0)

@ 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...

View solution in original post

@Chaucer

Ok, así que aquí están los pasos:

1) Tabla original:

1 orig table.JPG

2) Seleccione la columna Características y utilice la función "Dividir columna" en la cinta de opciones, Elija "coma" como delimitador:

2 split column.JPG

3) Seleccione la columna Producto, elija la función Unpivot en la cinta de opciones y seleccione "Despivot otras columnas"

3 unpivot.jpg

4) Retire la columna "Atributo":
4 remove columns.jpg

5) Cambie el nombre de las columnas restantes. También es posible que desee borrar la nueva columna Características por si acaso: selecciónela, vaya a la pestaña Transformar , seleccione Formato en la cinta de opciones y seleccione "Recortar" y luego "Limpiar"Final products table.JPG

6) Cree una nueva tabla haciendo referencia a la tabla Products (he llamado a esta nueva tabla "Características de Slicer"):

5 creating Slicer.JPG

7) Retire la columna "Productos" de esta nueva tabla (Características de la cortadora)
6 remove slicer column.jpg

'8) Eliminar duplicados de la columna restante "Chracteristics":

7 remove duplicates.jpg

9) cargar en el modelo, y crear una relación de uno a varios entre la tabla "Características de Slicer" y la tabla de productos:
Model.JPG

10) Cree una medida para enumerar las características seleccionadas que se utilizarán en el objeto visual de la tabla:

Selected Characteristics = 
VAR Charact = CONCATENATEX(VALUES('PB Products'[Characteristics]), 
'PB Products'[Characteristics], ", ")
RETURN
IF(ISINSCOPE('PB Products'[Product]), Charact)

Y esto es lo que obtienes:

Result.JPG

Si desea incluir las otras características asociadas a los productos filtrados,puede utilizar esta medida:

Other associated Characteristics = 
VAR full = CALCULATETABLE(VALUES('PB Products'[Characteristics]), ALLEXCEPT('PB Products','PB Products'[Product]))
VAR Selected = VALUES('PB Products'[Characteristics])
VAR List = CONCATENATEX(EXCEPT(full, Selected),  'PB Products'[Characteristics], ", ")
RETURN
IF(ISBLANK([Selected Characteristics]), BLANK(), List)

Lo que te consigue esto:
Other Characteristics.JPG

Si desea incluir la lista completa de características para los productos filtrados (en lugar de columnas separadas), puede utilizar:

Full Characteristics (filtered) = 
VAR full = CALCULATETABLE(VALUES('PB Products'[Characteristics]), ALLEXCEPT('PB Products','PB Products'[Product]))
VAR List = CONCATENATEX(full,  'PB Products'[Characteristics], ", ")
RETURN
IF(ISBLANK([Selected Characteristics]), BLANK(), List)

Full Charact.JPG

He incluido el archivo PBIX para su referencia.





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






View solution in original post

10 REPLIES 10
PaulDBrown
Community Champion
Community Champion

@Chaucer

En Power Query:

1) Divida la columna 'Características' en dos para obtener ambos valores en columnas separadas, despotable estas dos columnas. Debería obtener una columna para 'Producto' y otra para la lista de 'Características'

2) haga referencia a esta tabla para crear la segmentación utilizando la sola columna 'Características' con el A, B, C ... Valores. Elimine duplicados, cargue y cree una relación de uno a varios con su primera tabla que vincule las columnas 'Características'





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Chicos, muchas gracias por sus sugerencias. No sé si estoy teniendo una mala semana, pero mi pequeño cerebro no puede hacer que ninguna de tus sugerencias funcione.

@PaulDBrown He derribado algunas tablas con prefijo PB probando su método (Lo que parece súper simple)

@Greg_Deckler Tengo algunas tablas con prefijo GD probando la suya (que se ven súper escalables)

Disculpas por ser tan tenue.

Gaaaaah.pbix

@Chaucer

Ok, así que aquí están los pasos:

1) Tabla original:

1 orig table.JPG

2) Seleccione la columna Características y utilice la función "Dividir columna" en la cinta de opciones, Elija "coma" como delimitador:

2 split column.JPG

3) Seleccione la columna Producto, elija la función Unpivot en la cinta de opciones y seleccione "Despivot otras columnas"

3 unpivot.jpg

4) Retire la columna "Atributo":
4 remove columns.jpg

5) Cambie el nombre de las columnas restantes. También es posible que desee borrar la nueva columna Características por si acaso: selecciónela, vaya a la pestaña Transformar , seleccione Formato en la cinta de opciones y seleccione "Recortar" y luego "Limpiar"Final products table.JPG

6) Cree una nueva tabla haciendo referencia a la tabla Products (he llamado a esta nueva tabla "Características de Slicer"):

5 creating Slicer.JPG

7) Retire la columna "Productos" de esta nueva tabla (Características de la cortadora)
6 remove slicer column.jpg

'8) Eliminar duplicados de la columna restante "Chracteristics":

7 remove duplicates.jpg

9) cargar en el modelo, y crear una relación de uno a varios entre la tabla "Características de Slicer" y la tabla de productos:
Model.JPG

10) Cree una medida para enumerar las características seleccionadas que se utilizarán en el objeto visual de la tabla:

Selected Characteristics = 
VAR Charact = CONCATENATEX(VALUES('PB Products'[Characteristics]), 
'PB Products'[Characteristics], ", ")
RETURN
IF(ISINSCOPE('PB Products'[Product]), Charact)

Y esto es lo que obtienes:

Result.JPG

Si desea incluir las otras características asociadas a los productos filtrados,puede utilizar esta medida:

Other associated Characteristics = 
VAR full = CALCULATETABLE(VALUES('PB Products'[Characteristics]), ALLEXCEPT('PB Products','PB Products'[Product]))
VAR Selected = VALUES('PB Products'[Characteristics])
VAR List = CONCATENATEX(EXCEPT(full, Selected),  'PB Products'[Characteristics], ", ")
RETURN
IF(ISBLANK([Selected Characteristics]), BLANK(), List)

Lo que te consigue esto:
Other Characteristics.JPG

Si desea incluir la lista completa de características para los productos filtrados (en lugar de columnas separadas), puede utilizar:

Full Characteristics (filtered) = 
VAR full = CALCULATETABLE(VALUES('PB Products'[Characteristics]), ALLEXCEPT('PB Products','PB Products'[Product]))
VAR List = CONCATENATEX(full,  'PB Products'[Characteristics], ", ")
RETURN
IF(ISBLANK([Selected Characteristics]), BLANK(), List)

Full Charact.JPG

He incluido el archivo PBIX para su referencia.





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






@PaulDBrown crikey
Esa es la respuesta más contundente que he tenido. ¡Gracias!

@Chaucer

Sí, lo siento por eso... Puede que haya ido un poco por la borda en el detalle... Disculpas si las cosas eran un poco obvias...





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






Jaja, no fue increíble. He aprendido un montón de nuevos trucos trabajando a través de sus pasos que no tendría de otra manera! ¡Gracias!

Greg_Deckler
Super User
Super User

@Chaucer Puede hacerlo a través de una segmentación compleja mediante la búsqueda (SEARCH) o CONTAINS y devolver 1 o 0 si se va a mostrar o no.

https://community.powerbi.com/t5/Quick-Measures-Gallery/The-Complex-Selector/m-p/1116633#M534

Como:

Flag Measure =
  VAR __Slicer = SELECTEDVALUE('Slicer'[Column])
RETURN
  IF(SEARCH(__Slicer,'Table'[Column],,0)>0,1,0)

@ 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 @Greg_Deckler
Estoy recibiendo un error usando SEARCH en una medida.

"No se puede determinar un único valor para la columna 'Características' en la tabla 'Productos GD'. Esto puede suceder cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación como min, max, count o sum para obtener un único resultado."

¿Estoy siendo tonta?

No te asustes. Lo resolví usando contains en su lugar.

¡Gracias!

Gracias

amitchandak
Super User
Super User

Hola @amitchandak ,
¡Eso es exactamente lo que hice para crear el problema!

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.