Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

Extracting a number from Text

Hi everyone :), I have a column with texts such as " XXXX P10000 FFFFF" , "ABCD R150000" would you please help me to find a formula to extract the 10000 and 150000 after the P and R. They are always either P or R as the begining. Thanks alot.

2 Replies

  • nandukrishnavs's avatar
    nandukrishnavs
    Community Champion

    Anonymous 

     

    The best option is to work on Edit Query.

    Replace your letter P, R into single delimiter. For example ","

    Then you can split column using a custom delimiter. https://www.tutorialgateway.org/how-to-split-columns-in-power-bi/

     

    Another option- using DAX calculated column

     

    Val = 
    var _p=FIND("P",'Table (2)'[Column],1,0)
    var _r=FIND("R",'Table (2)'[Column],1,0)
    var _s= IF(_p<>0,_p,_r)
    var _blank=FIND(" ",'Table (2)'[Column],1,0)
    var result= VALUE(LEFT(RIGHT('Table (2)'[Column],LEN('Table (2)'[Column])-_s),_blank))
    return result

     



    Did I answer your question? Mark my post as a solution!
    Appreciate with a kudos
    🙂

     

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    I agree that this is much easier to do in the Query Editor.  A robust way to extra numbers (or any desired characters) from a text string is to use Text.Select().  For example, you can add a column with a formula like this:

     

    =Text.Select([ColumnWithText], {"0".. "9"})

     

    The curly brackets create a list of the numbers from 0 to 9.  Only those characters will be extracted.  You can add other lists of desired characters too.  Note that if you have two separate number strings within the text, this formula would put them together (may be good or bad for what you are trying to do).

     

    If this works for you, please mark it as the solution.

     

    Regards,

    Pat