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

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
Syndicate_Admin
Administrator
Administrator

Consolidar valores en la segmentación de datos

Hola, estoy buscando consolidar varios valores para que aparezcan como un valor en la segmentación de datos. Por favor, vea ejemplos y explicaciones a continuación.

Ejemplo de lista en excel

christianadaa_0-1660530852985.png

Ejemplo de segmentación de datos en power bi

christianadaa_1-1660530913166.png

Me gustaría mostrar todas las entradas que contienen Alex M bajo un valor en la segmentación de datos y hacer esto para las otras entradas. Por lo tanto, la segmentación de datos mostrará Alex como un valor, sin embargo, cuando se hace clic en él, producirá todos los datos que contienen Alex (así como Alex con otros nombres). ¿Es esto posible?

Gracias.

13 REPLIES 13
Syndicate_Admin
Administrator
Administrator

Hola

En mi opinión, podría copiar la columna (columna de nombre) y luego dividir la nueva columna (según el primer espacio de la columna en particular)

MahyarTF_0-1660537584850.png

A continuación, elimine la segunda columna nueva (ahora tiene una columna que incluye el nombre completo y otra con el nombre), y podría crear la segmentación de datos en esta nueva columna o en ambas columnas:

MahyarTF_1-1660537895688.png

@MahyarTF,

Gracias por su respuesta. Esta es una buena idea. El problema que tengo es que esto solo sacará el nombre de la lista que agrupa la lista relevante solo una vez. Idealmente, necesito que la cortadora se agrupe por cada nombre dividido por una coma, por ejemplo, la segunda línea en la captura de pantalla a continuación incluye a Jake, Elena, Matt. La segunda cortadora debe aparecer bajo Jake, Elena y Matt. Por favor, vea la captura de pantalla a continuación a continuación.

christianadaa_0-1660608973710.png

¿Crees que esto es posible?

Cristiano

Hola

Siga los pasos a continuación en Power Query:

----------------------

dejar
Source = Excel.Workbook(File.Contents("C:\Users\mtalehfirouz\Downloads\Book1.xlsx"), null, true),
Sheet104_Sheet = Source{[Item="Sheet104",Kind="Sheet"]}[Data],
#"Columna duplicada" = Table.DuplicateColumn(Sheet104_Sheet, "Column1", "Column1 - Copy"),
#"Valor reemplazado" = Table.ReplaceValue(#"Columna duplicada",", ",",",Replacer.ReplaceText,{"Columna1 - Copiar"}),
#"Columnas eliminadas5" = Table.RemoveColumns(#"Valor reemplazado",{"Columna1"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Removed Columns5", "Column1 - Copy", Splitter.SplitTextByDelimiter(",", QuoteStyle.csv), {"Column1 - Copy.1", "Column1 - Copy.2", "Column1 - Copy.3", "Column1 - Copy.4"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1 - Copy.1", type text}, {"Column1 - Copy.2", type text}, {"Column1 - Copy.3", type text}, {"Column1 - Copy.4", type text}}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type", "Column1 - Copy.1", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Column1 - Copy.1.1", "Column1 - Copy.1.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"Column1 - Copy.1.1", type text}, {"Column1 - Copy.1.2", type text}}),
#"Columnas eliminadas" = Table.RemoveColumns(#"Changed Type1",{"Column1 - Copy.1.2"}),
#"Split Column by Delimiter2" = Table.SplitColumn(#"Columnas eliminadas", "Column1 - Copy.2", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.csv, false), {"Column1 - Copy.2.1", "Column1 - Copy.2.2"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter2",{{"Column1 - Copy.2.1", type text}, {"Column1 - Copy.2.2", type text}}),
#"Columnas eliminadas1" = Table.RemoveColumns(#"Changed Type2",{"Column1 - Copy.2.2"}),
#"Split Column by Delimiter3" = Table.SplitColumn(#"Removed Columns1", "Column1 - Copy.3", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"Column1 - Copy.3.1", "Column1 - Copy.3.2"}),
#"Changed Type3" = Table.TransformColumnTypes(#"Split Column by Delimiter3",{{"Column1 - Copy.3.1", type text}, {"Column1 - Copy.3.2", type text}}),
#"Columnas eliminadas2" = Table.RemoveColumns(#"Changed Type3",{"Column1 - Copy.3.2"}),
#"Split Column by Delimiter4" = Table.SplitColumn(#"Removed Columns2", "Column1 - Copy.4", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.csv, false), {"Column1 - Copy.4.1", "Column1 - Copy.4.2"}),
#"Changed Type4" = Table.TransformColumnTypes(#"Split Column by Delimiter4",{{"Column1 - Copy.4.1", type text}, {"Column1 - Copy.4.2", type text}}),
#"Columnas eliminadas3" = Table.RemoveColumns(#"Changed Type4",{"Column1 - Copy.4.2"}),
#"Columnas no votadas" = Table.UnpivotOtherColumns(#"Columnas eliminadas3", {}, "Atributo", "Valor"),
#"Columnas eliminadas4" = Table.RemoveColumns(#"Columnas no votadas",{"Atributo"}),
#"Duplicados eliminados" = Table.Distinct(#"Columnas eliminadas4")
en
#"Duplicados eliminados"

----------------------

Estos son los registros en el primer paso:

MahyarTF_0-1660620231580.png

Y este es el resultado:

MahyarTF_1-1660620255862.png

apreciar a Kudos

@MahyarTF,

Gracias. Esto es muy apreciado.

¿Podrá compartir su archivo pbix para que pueda echar un vistazo más de cerca?

@MahyarTF,

Muchas gracias. He solicitado acceso.

por favor compruébalo

@MahyarTF,

Eché un vistazo. Mi problema persiste en que esto solo extraerá el nombre de la lista de otros nombres. Me temo que esto no capturará todos los nombres. Tenga en cuenta que está bien si se incluye el apellido.

Vea la lista a continuación como ejemplo:

Me gustaría crear una segmentación de datos que muestre la siguiente lista de valores:

Matt Chirgwin

Sam Mackay
Álex Meyers

Marcelle Ahamefule

Cameron Hensley

Mandy Sandhu

Del coloumn a continuación:

1Matt Chirgwin
2Sam Mackay, Marcelle Ahamefule, Alex Meyers, Cameron Hasley
3Alex Meyers, Marcelle Ahamefule
4Marcelle Ahamefule, Cameron Hensley
5Matt Chirgwin
6Matt Chirgwin, Mandy Sandhu

El punto es dibujar el nombre una vez en la rebanadora que captura cada vez que el nombre aparece en la columna, es decir, Marcelle Ahamefule capturará las filas 2, 3 y 4, Matt Chirgwin capturará las filas 1, 5 y 6. Al mismo tiempo, Cameron Hensley capturará las filas 2 y 4. El mismo concepto debe aplicarse a todos los valores. La lista con la que estoy trabajando es muy larga con algunas filas con 4 a 5 nombres. Los pasos proporcionados anteriormente solo funcionan para el primer nombre de la lista: ya he jugado con este concepto.

Perdón por la complejidad. Espero que haya otra solución.

Gracias.

Syndicate_Admin
Administrator
Administrator

@christianadaa ,

Puede crear una columna calculada en DAX para determinar si una celda contiene la palabra Alex. La fórmula de muestra es

Calc Column =
IF ( CONTAINSSTRING ( Data[column], "alex" ), "Alex", "Other" )

DAX no distingue entre mayúsculas y minúsculas a menos que utilice la función EXACT.

Esto se puede hacer en M, así como en una columna personalizada.

if Text.Contains([Column], "alex") then
  "Alex"
else
  "Other" //case-sensitive                


if Text.Contains(Text.Lower([Column]), "alex") then
  "Alex"
else
  "Other" //not case-sensitive   

Esto funciona solo para la palabra "alex" o cualquier criterio único.

@danextian,

Gracias por su respuesta. Esta es una gran idea, aunque necesito que esto funcione para todos los nombres. Por lo tanto, si solo funciona específicamente para cada nombre, puede que no sea la solución óptima, ya que se agregarán nuevos nombres a la lista en la furture. Necesito una solución que se actualice y agrupe automáticamente en la segmentación de datos.

Gracias

Cristiano

@christianadaa ,

Las soluciones presentadas se basan en la información inicial proporcionada. Proporcione más detalles, así como datos de muestra que podamos manipular fácilmente.

@danextian,

Gracias. Perdón por la falta de información. Me gustaría crear una segmentación de datos que muestre la siguiente lista de valores:

Matt Chirgwin

Sam Mackay
Álex Meyers

Marcelle Ahamefule

Cameron Hensley

Mandy Sandhu

Del coloumn a continuación:

1Matt Chirgwin
2Sam Mackay
3Alex Meyers, Marcelle Ahamefule
4Marcelle Ahamefule, Cameron Hensley
5Matt Chirgwin
6Matt Chirgwin, Mandy Sandhu

El punto es dibujar el nombre una vez en la rebanadora que captura cada vez que el nombre aparece en la columna, es decir, Marcelle Ahamefule capturará las filas 3 y 4, Matt Chirgwin capturará las filas 1, 5 y 6. Al mismo tiempo, Cameron Hensley capturará la fila 4 como con Marcelle Ahamefule. El mismo concepto debe aplicarse a todos los valores.

Espero que esto proporcione un alcance claro y que haya una solución óptima.

Gracias.

@christianadaa

El código de ejemplo siguiente creará una columna personalizada que convertirá [Nombre] en una lista dividida por comas. A continuación, los elementos de las listas se extraen como nuevas filas y se limpian para los espacios anteriores y posteriores. Tenga en cuenta que este enfoque no se puede utilizar en un lado de la relación de uno a muchos, ya que esto creará valores repetidos para la columna de nombre original.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUfJNLClRcM7ILEovz8xTitWJVjICigYn5ir4JiZnJ1aChYyBQo45qRUKvqmVqUXFOkC5ouTUnJxUBceMxNzUtNKcVLA6E7CB6FI6Cs5AVlF+noJHal5xTirETFOslpuhi4LsykupVAgGkhmlSrGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Index = _t, Name = _t]),
    #"Added Custom" = Table.AddColumn(Source, "Name2", each Text.Split([Name],","), type list),
    #"Expanded Name2" = Table.ExpandListColumn(#"Added Custom", "Name2"),
    #"Changed Type" = Table.TransformColumnTypes(#"Expanded Name2",{{"Name2", type text}}),
    #"Trimmed Text" = Table.TransformColumns(#"Changed Type",{{"Name2", Text.Trim, type text}})
in
    #"Trimmed Text"

danextian_0-1660698872073.png

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors