- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Usar comodín para extraer palabras
Hola a todos
Tengo una columna con palabras no estructuradas. Necesito extraer las palabras.
AA | AA |
AAgotozoo | AA |
. AA | AA |
AA$$ | AA |
Zoneedto goAA | AA |
$$AA | AA |
Traté de agregar una columna de condición, pero solo extrajo ciertas palabras pero no la lista completa. ¿Alguien sabe cómo usar comodines para extraer el texto?
¡Gracias!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi Hnguy71,
Enumera una cadena de texto.
La naturaleza impredecible es un patrón. Puede estar delante o detrás en diferentes momentos. Las palabras pueden unir algunas veces. A continuación se presentan algunas de las muestras.
¡Gracias!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Para lograr esto, primero necesitará una lista de palabras clave para proporcionar como esta:
Y luego cree una columna personalizada para verificar si la subcadena coincide con alguna de la lista.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WciwoyElVitUBsgICfFzBLBUkQRBLwdQUzDE1VUCTSc8vya/KzwcL6CEMALMUVFTAHKB8XmpqSkl+er4CVEksAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Words Pattern" = _t]),
// Retrieve list of text strings
ListPatterns = List.Buffer(KeywordList),
// Find pattern, return first found string, ignoring case-sensitivity.
ReturnFoundString = Table.AddColumn(Source, "Extract Words", each
List.First(
List.Transform(
ListPatterns , (n) => if Text.Contains([Words Pattern], n, Comparer.OrdinalIgnoreCase) then n else null
)
)
,
type text)
in
ReturnFoundString
Producto previsto:
He incluido un pbix de muestra como referencia.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi hnguy71,
Muchas gracias por su aportación.
Soy bastante nuevo en M-code. Cuando intenté aplicar el código al caso real, hubo un error de expresión.
Importo el archivo de Excel en el escritorio de Power Bi sin poner el código.... "let_t=((type nullable text) meta [seralized. Text=true) en la tabla de tipos....." ¿Puedes obtener más información sobre este código? ¡Gracias!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

La fuente se originó cuando hace clic en "Ingresar datos". Se genera un documento json y luego se convierte en una tabla para ETL adicional. Como ya tienes tu propia "fuente", puedes omitirla o sustituirla por la tuya.
Idealmente, debería comenzar en el paso ListPatterns y todo el camino hacia abajo.
Si tiene más problemas, copie y pegue su consulta aquí y puedo ayudarlo a modificarla para que la copie y pegue de nuevo.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Muchas gracias por su amable gesto.
Intenté ingresar el código M sugerido pero encontré los siguientes errores:
A continuación se muestra el código M que utilicé:
dejar
Source = Excel.Workbook(Web.Contents("https://smrtcorp-my.sharepoint.com/Documents/Desktop/Dylan%20Files/LBS%20settlement%20(working%20fil..."), null, true),
Table1_Table = Source{[Item="Table1",Kind="Table"]}[Data],
#"Tipo cambiado" = Table.TransformColumnTypes(Table1_Table,{{"Patrón de palabras", escriba text}}),
ListPatterns = List.Buffer(KeywordList),
Busque el patrón, devuelva la primera cadena encontrada, ignorando la distinción entre mayúsculas y minúsculas.
ReturnFoundString = Table.AddColumn(Origen, "Extraer palabras", cada uno
List.First(
List.Transform(
ListPatterns , (n) => if Text.Contains([Words Pattern], n, Comparer.OrdinalIgnoreCase) then n else null
)
)
,
escribir texto),
Busque el patrón, devuelva la primera cadena encontrada, ignorando la distinción entre mayúsculas y minúsculas.
Table1_Table1 = ReturnFoundString{[Item="Table1",Kind="Table"]}[Extraer palabras]
en
Table1_Table1
Una vez más, muchas gracias por su ayuda y realmente lo aprecio.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

HI @joeywong ,
El error que indica es que no hay una columna llamada "Patrones de palabras" que está intentando modificar o referenciar. He cambiado a la columna "Comentarios" y esto debería funcionar para su escenario:
let
Source = Excel.Workbook(Web.Contents("https://smrtcorp-my.sharepoint.com/Documents/Desktop/Dylan%20Files/LBS%20settlement%20(working%20files)/Joyce%20share%20file/Words%20Patterns.xlsx"), null, true),
Table1_Table = Source{[Item="Table1",Kind="Table"]}[Data],
ListPatterns = List.Buffer(KeywordList),
// Find pattern, return first found string, ignoring case-sensitivity.
ReturnFoundString = Table.AddColumn(Table1_Table, "Extract Words", each
List.First(
List.Transform(
ListPatterns , (n) => if Text.Contains([Remarks], n, Comparer.OrdinalIgnoreCase) then n else null
)
), type text
)
in ReturnFoundString

Helpful resources
Power BI Monthly Update - July 2025
Check out the July 2025 Power BI update to learn about new features.

Subject | Author | Posted | |
---|---|---|---|
05-08-2025 12:41 AM | |||
05-29-2025 01:43 PM | |||
05-12-2025 08:05 AM | |||
11-23-2021 03:43 PM | |||
Anonymous
| 03-13-2020 05:07 AM |