Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
neelofarshama
Post Partisan
Post Partisan

Regexp_replace function in DAX

Hi,

I have column where data is as shown below, for this column "REGEXP_REPLACE(Promotion,'LA EM LAN | Nov 19','')" function is used in google visual stuido to achive a new column with data like "Essesntial CA", "Today Headlines", "Opinion", "Tasting Notes"  so on please help me to create a DAX for this requirement in power BI 
pbi.PNG

1 ACCEPTED SOLUTION

Hi @neelofarshama ,

 

This is because your column mg2[promotion] has rows where LAN or Nov are not present.

 

Try this Calculated Column

 

 

Column = 
VAR FirstLAN =
    Find (
        "LAN",
        'Table'[Promotion],
        1,
        LEN('Table'[Promotion]))
    
VAR FirstNov =
    FIND (
        "Nov",
        'Table'[Promotion],
        1,
        LEN('Table'[Promotion]))
    
RETURN
//FirstLAN & " " & FirstNov
SWITCH(
    TRUE(),
    FirstLAN = FirstNov || FirstLAN > FirstNov, " ",
    FirstNov > FirstLAN , 
    MID (
        'Table'[Promotion],
        FirstLAN + 3 , -- to adjust LAN (3)
        FirstNov - FirstLAN - 3 -- to adjust LAN (3)
    )
)

 

 

Regards,

Harsh Nathani

Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)

View solution in original post

5 REPLIES 5
harshnathani
Community Champion
Community Champion

Hi @neelofarshama ,

 

You should do this in Power Query.

 

But if you want to create a Calculated Column if your Values are between LAN and Nov.

 

Column = 
VAR FirstLAN =
    FIND (
        "LAN",
        'Table'[Promotion],
        1
    )
VAR FirstNov =
    FIND (
        "Nov",
        'Table'[Promotion],
        1
    )
RETURN

    MID (
        'Table'[Promotion],
        FirstLAN + 3 , -- to adjust LAN (3)
        FirstNov - FirstLAN - 3 -- to adjust LAN (3)
    )

 

1.jpg

 

Regards,
Harsh Nathani

Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)

 

 

Hi Harsh,

 

Thank you for the reply, I tried using your DAX but it is throwing me the below error.

pbi_1.PNG

I googled about this error and found that adding Iferror to find,mid will work, I tried that but it is throwing me another error 

"Expressions that yield variant data-type cannot be used to define calculated columns"

and this is because i am giving string "LAN"  and interger 1 in the same calculated column.

Please suggestme some other alternative

Hi @neelofarshama ,

 

This is because your column mg2[promotion] has rows where LAN or Nov are not present.

 

Try this Calculated Column

 

 

Column = 
VAR FirstLAN =
    Find (
        "LAN",
        'Table'[Promotion],
        1,
        LEN('Table'[Promotion]))
    
VAR FirstNov =
    FIND (
        "Nov",
        'Table'[Promotion],
        1,
        LEN('Table'[Promotion]))
    
RETURN
//FirstLAN & " " & FirstNov
SWITCH(
    TRUE(),
    FirstLAN = FirstNov || FirstLAN > FirstNov, " ",
    FirstNov > FirstLAN , 
    MID (
        'Table'[Promotion],
        FirstLAN + 3 , -- to adjust LAN (3)
        FirstNov - FirstLAN - 3 -- to adjust LAN (3)
    )
)

 

 

Regards,

Harsh Nathani

Did I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)

This worked, thank you so much

amitchandak
Super User
Super User

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors