Forum Discussion

klikk680's avatar
klikk680
Frequent Visitor
6 years ago
Solved

How to complete a field to get a fixed length with Power Query / M language

Hi,

I have this text column in my table

Label1 (txt)
12345678
NJGTWS21Q99Y651S

and I want a new column like this:

copy Label1 (txt)
0000000012345678
NJGTFS21P99Y651S

in excel I could use a function like:

=IF(LEN(a2)<16;(REPT("0";16-LEN(a2))&a2);a2)

How to complete this field to get a fixed length with Power Query / M language?

Thank you in advance!

  • klikk680's avatar
    klikk680
    6 years ago

    Thanks Anonymous I tried your suggestion with Text.PadStart function like this:

     

    Text.PadStart([Label1 (txt)],16,"0") and it works fine!

     

    Grazie 1000!

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    try using addcolumn with this formula:

     

    Text.PadStart(Text.From([#"Label1 (txt)"]),16,"0")).

     

     

    incidentally, for the excel version I would have this idea:

     

     

    TESTO is the italian version of TEXT function RIPETI is for REPEAT and LUNGHEZZA is for LEN.

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Ma se il problema è, come mi viene il dubbio sia, la lettura di un codice fiscale come numero anziché testo, conviene piuttosto che affannarsi a cercare un rimedio, prevenire il problema in fase di caricamento dati.

      Ad esempio, evitando che power query attui un cambio di tipo automatico sulle colonne che potrebbero sembrargli contenere dei nuemri invece sono testo a tutti gli effetti.

       

       

      • klikk680's avatar
        klikk680
        Frequent Visitor

        i dati purtroppo sono in questo formato nel csv che mi inviano, più che chiedere ogni volta di cambiare il formato non posso... 

        grazie e buona giornata

        --

    • klikk680's avatar
      klikk680
      Frequent Visitor

      Thanks Anonymous I tried your suggestion with Text.PadStart function like this:

       

      Text.PadStart([Label1 (txt)],16,"0") and it works fine!

       

      Grazie 1000!