extract domain in beast move

Has any successfull extracted the domain out of an email address using Beast Mode?

Best Answers

  • Gimli
    Gimli Domo Employee
    Answer ✓

    Hello @MReznick,

    Sadly there is not an effective way to accomplish this through a beastmode.  However we can accomplish this through a SQL dataflow. 

    To do this we are going to take advantage of the SQL function SUBSTRING_INDEX(). 

    For example: 
    Email: test.user@domain.com

     

     

     

    SUBSTRING_INDEX('test.user@domain.com','@',-1) --> domain.com

    If you would like to remove the ".com" we can remove this by adding another SUBSTRING_INDEX() to the query. 

    SUBSTRING_INDEX(SUBSTRING_INDEX('test.user@domain.com','@',-1),'.',1)  --->  domain



    Here is a great link to a resource that explains how SUBSTRING_INDEX() works further. 


    http://www.w3resource.com/mysql/string-functions/mysql-substring_index-function.php

    If you have any further questions in regards to this, you can email Domo support at support@domo.com. A support tech will be able to help answer any additional questions you may have. 

     

    **Say “Thanks" by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • deepabijjula
    deepabijjula Member
    Answer ✓

    Obviously very late but this is how I do it: 

     

    RIGHT(`Email Address`,((LENGTH(`Email Address`))-(INSTR(`Email Address`,'@'))))

Answers

  • ckatzman
    ckatzman Contributor

    Similar question was posted in the Dojo recently... I posted the following (link) suggestion related to doing it in DataFlow, but the same might work in BeastMode.  I have found that MySQL functions will work in Beast Mode even though they are not reflected as part of the Beast Mode function list.

     

    Extract Domain from Email Address

     

    Good luck, please let me know if that works or not.

    **Say thank you by clicking the 'thumbs up'
    **Be sure to select the answer that represents the best solution and mark as "Accept as Solution"
  • kshah008
    kshah008 Contributor

    @MReznick, did ckatzman's reply help you out?

  • No, that locate is not a function in beast mode and I cannot find a similar funtion

  • Gimli
    Gimli Domo Employee
    Answer ✓

    Hello @MReznick,

    Sadly there is not an effective way to accomplish this through a beastmode.  However we can accomplish this through a SQL dataflow. 

    To do this we are going to take advantage of the SQL function SUBSTRING_INDEX(). 

    For example: 
    Email: test.user@domain.com

     

     

     

    SUBSTRING_INDEX('test.user@domain.com','@',-1) --> domain.com

    If you would like to remove the ".com" we can remove this by adding another SUBSTRING_INDEX() to the query. 

    SUBSTRING_INDEX(SUBSTRING_INDEX('test.user@domain.com','@',-1),'.',1)  --->  domain



    Here is a great link to a resource that explains how SUBSTRING_INDEX() works further. 


    http://www.w3resource.com/mysql/string-functions/mysql-substring_index-function.php

    If you have any further questions in regards to this, you can email Domo support at support@domo.com. A support tech will be able to help answer any additional questions you may have. 

     

    **Say “Thanks" by clicking the thumbs up in the post that helped you.
    **Please mark the post that solves your problem by clicking on "Accept as Solution"
  • I really don't wat to run my data through a flow just to be able extract the domain in a card.

  • deepabijjula
    deepabijjula Member
    Answer ✓

    Obviously very late but this is how I do it: 

     

    RIGHT(`Email Address`,((LENGTH(`Email Address`))-(INSTR(`Email Address`,'@'))))

This discussion has been closed.