Forum Discussion

flinch's avatar
flinch
Helper I
5 years ago
Solved

Clean and Trim

Hi, I am trying to merge 2 inventory files using the item code. One of the queries has spaces after the item code, so I have both cleaned and trimmed the column. But it doesn't seem to make any difference - I end up with many item codes that are not found, and when I look at the final query, it is obvious that it  isn't working because the one inventory code has these spaces after it and that is affecting the merge.

 

But other than going to my source file, and removing the spaces there, which for obvious reasons I want to avoid, how do I get rid of these things?

  • Hello flinch 

     

    I've tried some experiments with your data, but no way that I was able to no join them. Here the code if somebody want to try.

    And so you are saying that exactly this 2 rows in your final table didn't join?

    let
        Table1 = 
    
    
        let
            Source = #table
                (
                    type table [Column1 = number, Column2 = text, Column3 = text, Column4 = text, Column5 = text, Column6 = text, Column7 = text, Column8 = text],
                    {
                        {"1105","BP01","BALL POINT PEN (EACH)","C","STATIONERY LOCAL","","0","No"}
                    }
                ),
            Transform = Table.TransformColumns
            (
                Source,
                {
                    {
                        "Column2",
                        each _,
                        type number
                    }
                }
            )
        in
    	    Transform,
            
    
    Table2 =
        let
            Source = #table
            (
                type table [Column1 = datetime, Column2 = datetime],
                {
                    {"BP01","1.095.944.348"}
                }
            )
        in
            Source,
    
    
    Join= Table.NestedJoin
    (
        Table1,
        "Column2",
        Table2,
        "Column1",
        "tbl2"
    )
    in
        Join


    If this post helps or solves your problem, please mark it as solution (to help other users find useful content and to acknowledge the work of users that helped you)
    Kudoes are nice too

    Have fun

    Jimmy

     

17 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    it is not that, by chance, when you point to the tables to merge, you refere to the "wrong" steps: someone precedes the one in which you did cleaning?

     

    could you show the content of the advanced editor of your queries?

    • flinch's avatar
      flinch
      Helper I

      Hi Rocco,

       

      This is what I think is the issue as well. It seems to be merging the queries at a time when the cleaning and trimming doesn't appear to have happened yet. This is why I have ended up with clean and trim statements all over the show! I presume a query runs all the steps in the panel on the right, before it is then pulled across to merge with another query?

       

      But I've got clean and trim statements everywhere now, and it still isn't coming right.

       

      I will try post some more detail as per Jimmy's reply shortly.

      • flinch's avatar
        flinch
        Helper I

        Oh man, suddenly it's working. Cleaning and trimming in all the wrong places it would seem.

         

        Thank you for the asistance all. I'm not sure exactly what the issue was, so hopefully it doesn't repeat!

  • MattAllington's avatar
    MattAllington
    Community Champion

    It could be that your spaces are some obtuse character that is not technically a space but actually looks like a space. You could try clicking on one of the cells, copy one of the spaces (you can do that down the bottom) and then try "replace values" by pasting this character from the clipboard into the "find" box. 

    • flinch's avatar
      flinch
      Helper I

      Hi Matt, thanks for the resposnse.

       

      That's definitly happening in some places. I have "solved" half my problem by putting clean and trim functions after every step in the query, which while odd, seems to make a difference in some of them.

       

      I will give your suggestion a bash and report back.

      • flinch's avatar
        flinch
        Helper I

        Matt, that has helped in some cases. Now I have items that appear to be identical. I can freely find them in either sheet, and they are just the code, i.e., when I copy/paste into find, they appear as I would expect them to. Something copied in one spreadsheet is directly found in the other spreadsheet with no issues. It just does not see the cost to merge!

         

        It seems that although the output tables have identical codes, clearly at the point of the merge there is a difference. So I am cleaning and trimming in the wrong place. But there are only so many places to perform the function, so I just don't know what to do at this point!

  • Jimmy801's avatar
    Jimmy801
    Community Champion

    Hello flinch 

     

    how are you applying the clean and trim-functions? Could you post your m-codes..

     

    BR

     

    Jimmy

    • flinch's avatar
      flinch
      Helper I

      Hi Jimmy,

       

      I am just applying it using the menu options - selecting the column and then selceting trim and then clean. It is resulting in the following code...

       

      = Table.TransformColumns(#"Filtered Rows",{{"fldInventoryCode", Text.Clean, type text}})

      = Table.TransformColumns(#"Cleaned Text",{{"fldInventoryCode", Text.Trim, type text}})

       

      Not sure if that helps?

      • Jimmy801's avatar
        Jimmy801
        Community Champion

        Hello flinch 

         

        and you are applying this to both of your tables? I see that you are referencing a filter-step before cleaning... this filter-step doesn't have any impact on the desired output, right?

         

        BR

         

        Jimmy