Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

En Operador en power Query

Hola

Quiero hacer un filtro personalizado si una columna tiene ciertos valores: Si columna = "A" o columna = "B" o columna = "C" entonces "filtro" de lo contrario "no filtro".

¿Hay un operador IN, si la columna IN {"A","B","C"} en M Language/Power Query?

Muchas gracias

  • Aquí hay una forma de hacerlo en el editor de consultas. Para ver cómo funciona, simplemente cree una consulta en blanco, abra el Editor avanzado y reemplace el texto allí con el código M a continuación. Puede usar List.Contains( ) para hacerlo.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclSK1YlWcgKTzmDSRSk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Letter = _t]),
        #"Added Custom" = Table.AddColumn(Source, "Custom", each if List.Contains({"A", "B"}, [Letter]) then "Y" else "N")
    in
        #"Added Custom"

    Palmadita

2 Replies

  • Aquí hay una forma de hacerlo en el editor de consultas. Para ver cómo funciona, simplemente cree una consulta en blanco, abra el Editor avanzado y reemplace el texto allí con el código M a continuación. Puede usar List.Contains( ) para hacerlo.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclSK1YlWcgKTzmDSRSk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Letter = _t]),
        #"Added Custom" = Table.AddColumn(Source, "Custom", each if List.Contains({"A", "B"}, [Letter]) then "Y" else "N")
    in
        #"Added Custom"

    Palmadita

  • ¿Cómo se rellena la tabla con A, B, C y D? He descubierto casi todo lo demás a partir de su código M, excepto eso.

    Su código

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclSK1YlWcgKTzmDSRSk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Letter = _t]),
        #"Added Custom" = Table.AddColumn(Source, "Custom", each if List.Contains({"A", "B"}, [Letter]) then "Y" else "N")
    in
        #"Added Custom"