Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!
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
Ejemplo de segmentación de datos en power bi
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.
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)
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:
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.
¿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:
Y este es el resultado:
apreciar a Kudos
Gracias. Esto es muy apreciado.
¿Podrá compartir su archivo pbix para que pueda echar un vistazo más de cerca?
Hola
https://drive.google.com/file/d/1ZlkrdfvS-2wTqEWhj9wPdkBJgjaDbBSz/view?usp=sharing
Apreciar por Kudos
por favor compruébalo
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:
| 1 | Matt Chirgwin |
| 2 | Sam Mackay, Marcelle Ahamefule, Alex Meyers, Cameron Hasley |
| 3 | Alex Meyers, Marcelle Ahamefule |
| 4 | Marcelle Ahamefule, Cameron Hensley |
| 5 | Matt Chirgwin |
| 6 | Matt 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.
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.
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
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.
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:
| 1 | Matt Chirgwin |
| 2 | Sam Mackay |
| 3 | Alex Meyers, Marcelle Ahamefule |
| 4 | Marcelle Ahamefule, Cameron Hensley |
| 5 | Matt Chirgwin |
| 6 | Matt 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.
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"
Vote for your favorite vizzies from the Power BI World Championship submissions!
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.