Lenguaje M para transformar la columna

Un usuario Pregunto ✅

Avalondas

Tengo la siguiente columna en powerquery y lo que debo hacer es lo siguiente:

1. Ignorar a Trevor Noah y Sin asignar

2. Reemplace a Derek Fisher con «Sin asignar»

3. Para todas las demás filas que comienzan con un número, extraiga los primeros tres caracteres.

Columna Variable:

432 Dakarta

312 Londres

833 bobo

Trevor Noé

Sin asignar

derek pescador

Quiero que la columna se transforme en esto en Power Query usando M:

Columna Variable:

432

312

833

Trevor Noé

Sin asignar

Sin asignar

Hola @avalonds,

Puede intentar utilizar la siguiente fórmula de consulta para lograr su requisito:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjE2UnBJzE4sKklUitWJVjI2NFLwyc9Lyc8Dcy2MjRWc8pPA7JCi1LL8IgW//MQMMD80L7G4ODM9LzUFzHVJLUrNVnDLLM5ILVKKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Variable Column" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Variable Column", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Transform", each if [Variable Column]= "Trevor Noah" or [Variable Column]= "Unassigned" then [Variable Column] else if [Variable Column]="Derek Fisher" then "Unassigned" else if Value.Is(Number.FromText(Text.Start([Variable Column],3)), type number) then Text.Start([Variable Column],3) else [Variable Column])
in
    #"Added Custom"

4 PNG

Saludos,
Xiaoxin-sheng

Hola @avalonds,

Puede intentar utilizar la siguiente fórmula de consulta para lograr su requisito:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjE2UnBJzE4sKklUitWJVjI2NFLwyc9Lyc8Dcy2MjRWc8pPA7JCi1LL8IgW//MQMMD80L7G4ODM9LzUFzHVJLUrNVnDLLM5ILVKKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Variable Column" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Variable Column", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Transform", each if [Variable Column]= "Trevor Noah" or [Variable Column]= "Unassigned" then [Variable Column] else if [Variable Column]="Derek Fisher" then "Unassigned" else if Value.Is(Number.FromText(Text.Start([Variable Column],3)), type number) then Text.Start([Variable Column],3) else [Variable Column])
in
    #"Added Custom"

4 PNG

Saludos,
Xiaoxin-sheng

Avalondas

En respuesta a v-shex-msft

Gracias. Pregunta rápida. ¿Hay alguna manera de que pueda usar una función Table.Transform?

En respuesta a Avalondas

Hola @avalonds,

En realidad, solo agrego una columna personalizada con la fórmula de declaración if para lograr su requisito. No he usado la función table.Transform en la consulta anterior.

Si te refieres a un paso personalizado, puedes hacer clic en efectos especiales botón para en su lugar nuevos pasos personalizados.

Editar la configuración del paso de consulta (Power Query)

Saludos,

Xiaoxin-sheng

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *