Forum Discussion

Cyrilbrd's avatar
Cyrilbrd
Helper IV
6 years ago

Text.Remove

Dada una serie de código de modelo como:

BONH-P-M-16

CAN-BL-A17

88-R-AC-19

Dicha columna también contiene espacios en blanco.

La nueva columna calculada debe devolver lo siguiente:

BONH-P-M

CAN-BL-A

88-R-AC

La fórmula actual utilizada es:

= Table.AddColumn(framework_tblsalesitem, "model_code(", each Text.Trim(Text.Start(Text.Remove([product_name],{"0","1","2","3","4","5","6","7","8","9"}),Text.PositionOf(Text.Remove([product_name],{"0","1","2","3","4","5","6","7","8","9"}),"-",Occurrence.Last))))

Problema encontrado:

Se quitan todos los números, pero solo se debe quitar la última cadena.

88-R-AC-19 da -R-AC pero necesitamos ver 88-R-AC

Todos los espacios en blanco deben devolver un "sin datos" Tal vez con TRY DE OTRA MANERA? no estoy seguro de la sintaxis adecuada.

9 Replies

  • ImkeF's avatar
    ImkeF
    Community Champion

    Hola @Cyrilbrd

    hay un parámetro opcional en la función Text.TrimEnd que le permite pasar una lista de caracteres que se eliminarán del final de la cadena:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcvL389AN0PXVNTRTitWJVnJ29NN18tF1NDQHc8GEhYVukK6js66hpVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [product_name = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"product_name", type text}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Text.TrimEnd([product_name], {"0".."9"} & {"-"}))
    in
        #"Added Custom"

    • Cyrilbrd's avatar
      Cyrilbrd
      Helper IV

      Gracias por su respuesta, no lo ha decidido todavía, no habría encontrado esto por mí tampoco.

      ¿Modificará esto la columna Product_name o creará según sea necesario una nueva columna Model_Code( ?

      ¿Qué está haciendo exactamente esa parte?

      Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcvL389AN0PXVNTRTitWJVnJ29NN18tF1NDQHc8GEhYVukK6js66hpVJsLAA", BinaryEncoding.Base64), Compression.Deflate))

      • ImkeF's avatar
        ImkeF
        Community Champion

        Hola @Cyrilbrd ,

        esto simplemente crea datos de muestra. (Es el código resultante cuando se escriben datos manualmente en Power BI).

        Reemplácelo por la referencia a la tabla.