Forum Discussion

khisla's avatar
khisla
Icon for Helper II rankHelper II
1 year ago
Solved

Extract part of text string

I have a column with a text sting that I need to extract the store number

 

Test StringExpected Result
232 אאוטלט מול הריםנוף הגליל IL213IL213
232 אאוטלט מול הריםנוף הגליל IL213IL213
227 אדידס אאוטלט ביג ירכא IL208IL208
235 IL216 זכרון יעקבIL216
235 IL216 זכרון יעקבIL216
250 אאוטלט חוצות המפרץ חיפה IL225IL225
222 אדידס אאוטלט בילו IL204IL204
  
  • Hi khisla please try this custom column in power query editor

     

    = if Text.Contains([Test String], "IL")
    then Text.Middle([Test String], Text.PositionOf([Test String], "IL"), 5)
    else null

13 Replies

  • Create a calculate column

     

    Store Number = RIGHT ( Table[String], 5 )

     

    If this helped, please consider giving kudos and mark as a solution

    me in replies or I'll lose your thread

    consider voting this Power BI idea

    Francesco Bergamaschi

    MBA, M.Eng, M.Econ, Professor of BI

  • Not sure I understand the calculation.  The store number does not sit within the same text location in each row therefore not sure the 5 is the same for each row.  What do I enter for Table [String]?

     

    • FBergamaschi's avatar
      FBergamaschi
      Icon for Super User rankSuper User

      OK, sorry I thought it was always at the end

       

      Table[String] is the column from where you need to extract the store

       

      In this case:

      Store Number = 
      VAR pos = FIND ( "IL", Table[String] )
      RETURN MID ( Table[String], pos, 5 )
       

      If this helped, please consider giving kudos and mark as a solution

      me in replies or I'll lose your thread

      consider voting this Power BI idea

      Francesco Bergamaschi

      MBA, M.Eng, M.Econ, Professor of BI

      • khisla's avatar
        khisla
        Icon for Helper II rankHelper II

        Did not work.  

        I have this Text.Start(Text.AfterDelimiter([סניף],"IL"),3) which worked however need to also include the IL portion.  Any idea?

  • EricVieira's avatar
    EricVieira
    Regular Visitor
    Text.Middle(Text.Select([Test String], {"A".."Z", "0".."9"}), Text.PositionOfAny(Text.Select([Test String], {"A".."Z", "0".."9"}), {"IL"}), 5)
    
    
    Text.Middle(Text.RegexReplace([Test String], ".*(IL\d{3}).*", "$1"), 0, 5)
  • Hi khisla please try this custom column in power query editor

     

    = if Text.Contains([Test String], "IL")
    then Text.Middle([Test String], Text.PositionOf([Test String], "IL"), 5)
    else null

    • khisla's avatar
      khisla
      Icon for Helper II rankHelper II

      I used this for another purpose but am getting an error message for cells which do not include a value or value if null.  How can I adjust accordingly?

       

      est StringExpected Result
      232 אאוטלט מול הריםנוף הגליל IL213IL213
      null0
      227 אדידס אאוטלט ביג ירכא IL208IL208
      235 IL216 זכרון יעקבIL216
      235 IL216 זכרון יעקבIL216
      250 אאוטלט חוצות המפרץ חיפה IL225IL225
      222 אדידס אאוטלט בילו IL204IL204
        
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi khisla ,

    Thanks for reaching out to the Microsoft fabric community forum.

     

    You can do this easily in Power BI Desktop without writing any M code. First, I loaded my data into Power BI, where I had a column called "Test String" containing long texts like "Adidas Outlet IL208" or "Zichron Yaakov IL216". Then, I went to the Data view, clicked on Modeling > New Column, and wrote this simple DAX:

     

    Here is the DAX  used:

     

    StoreNumber =
    VAR StartPos = SEARCH("IL", 'YourTableName'[Test String], 1, -1)
    RETURN IF(StartPos > 0, MID('YourTableName'[Test String], StartPos, 5), BLANK())


    This formula searches for the position of "IL" and pulls the next 5 characters (like "IL216"). Once the column was created, I went to Report view and added a Table visual where I placed both Test String and the new StoreNumber column. This helped me clearly see whether the store number was extracted correctly. You can also use a Bar chart or Matrix visual if you want to count how many times each store number appears. For easy filtering, I also added a Slicer with StoreNumber. Everything worked smoothly using only DAX, no Power Query needed.

     

    Please find the attached pbix file for your reference.


    Best Regards,
    Tejaswi.
    Community Support