Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more
Hi 🙂
I have my Workdesciptions from sapByD and i mus find the jira bookinf in this column.
| WorkDescription | 
| AX2012-5703 Parameter für PriceEngine | 
| AX2012-5703 Parameter für PriceEngine | 
| AX2012-5711 Montageflag pro Artikelposition übernehmen und als Artikeltext andrucken | 
| Teams-Meeting Jira AX2012-5466 [POQ] Anbindung Produktverfügbarkeit an AX | 
| Nachbearbeitung Teams-Meeting "[POQ] Anbindung Produktverfügbarkeit an AX" und Abstimmung mit Thomas Schlick (AX2012-5466) | 
| AX2012-5775 ESKOLE Aufträge als solche an übermitteln | 
| AX2012-6056 Adresscode "Direkt" bzgl Dropshipping Bestellungen müssen an übergeben werden | 
| AX2012-6177 | 
| Itsdone Wochenplanung + LuK Team Jour Fixe | 
| LUKART-851: code change | 
| PORTAL-469: database script execution on PROD | 
| PORTAL-460: meeting | 
| LUKART-851: code change | 
| PORTAL-467: answer to supplier | 
| PAC-117: database check + code check + database script on test | 
| Itsdone Wochenplanung + LuK Team Jour Fixe | 
| DWH-282: analysis | 
i will to have this Result :
| WorkDescription | Jira Booking | 
| AX2012-5703 Parameter für PriceEngine | AX2012-5703 | 
| AX2012-5703 Parameter für PriceEngine | AX2012-5703 | 
| AX2012-5711 Montageflag pro Artikelposition übernehmen und als Artikeltext andrucken | AX2012-5711 | 
| Teams-Meeting Jira AX2012-5466 [POQ] Anbindung Produktverfügbarkeit an AX | AX2012-5466 | 
| Nachbearbeitung Teams-Meeting "[POQ] Anbindung Produktverfügbarkeit an AX" und Abstimmung mit Thomas Schlick (AX2012-5466) | AX2012-5466 | 
| AX2012-5775 ESKOLE Aufträge als solche an übermitteln | AX2012-5775 | 
| AX2012-6056 Adresscode "Direkt" bzgl Dropshipping Bestellungen müssen an übergeben werden | AX2012-6056 | 
| AX2012-6177 | AX2012-6177 | 
| Itsdone Wochenplanung + LuK Team Jour Fixe | |
| LUKART-851: code change | LUKART-851 | 
| PORTAL-469: database script execution on PROD | PORTAL-469 | 
| PORTAL-460: meeting | PORTAL-460 | 
| LUKART-851: code change | LUKART-851 | 
| PORTAL-467: answer to supplier | PORTAL-467 | 
| PAC-117: database check + code check + database script on test | PAC-117 | 
| Itsdone Wochenplanung + LuK Team Jour Fixe | |
| DWH-282: analysis | DWH-282 | 
Note:
we have 12 BookingCode:
Solved! Go to Solution.
@lboldrino Try this with a few more CONTAINSSTRING's:
Column = 
    SWITCH(TRUE(),
        CONTAINSSTRING([WorkDescription],"AX2012-"),
                VAR __Start = SEARCH("AX2012-",[WorkDescription])
                VAR __Colon = SEARCH(":",[WorkDescription],__Start,LEN([WorkDescription]))
                VAR __Space = SEARCH(" ",[WorkDescription],__Start,LEN([WorkDescription]))
            RETURN
                MID([WorkDescription],__Start,MIN(__Colon, __Space) - __Start),
        CONTAINSSTRING([WorkDescription],"LUKART-"),
                VAR __Start = SEARCH("LUKART-",[WorkDescription])
                VAR __Colon = SEARCH(":",[WorkDescription],__Start,LEN([WorkDescription]))
                VAR __Space = SEARCH(" ",[WorkDescription],__Start,LEN([WorkDescription]))
            RETURN
                MID([WorkDescription],__Start,MIN(__Colon, __Space) - __Start),
        BLANK()
    )
					
				
			
			
				#"Added Conditional Column" = Table.AddColumn(#"Renamed Columns", "Jira", each if Text.Contains([WorkDescription], "AX2012-") then "AX2012-" else if Text.Contains([WorkDescription], "LUKSALE-") then "LUKSALE-" else if Text.Contains([WorkDescription], "LUKMC-") then "LUKMC-" else if Text.Contains([WorkDescription], "ISU-") then "ISU-" else if Text.Contains([WorkDescription], "BIZ-") then "BIZ-" else if Text.Contains([WorkDescription], "DWH-") then "DWH-" else if Text.Contains([WorkDescription], "AX40-") then "AX40-" else if Text.Contains([WorkDescription], "DWHOPT-") then "DWHOPT-" else if Text.Contains([WorkDescription], "PORTAL-") then "PORTAL-" else if Text.Contains([WorkDescription], "LUKSM-") then "LUKSM-" else if Text.Contains([WorkDescription], "LUKART-") then "LUKART-" else if Text.Contains([WorkDescription], "PAC-") then "PAC-" else null),
#"Added Conditional Column1" = Table.AddColumn(#"Added Conditional Column", "Code", each if [Jira] <> null then Text.Select(Text.BetweenDelimiters([WorkDescription],"-"," "),{"0".."9"}) else null),
#"Added Conditional Column2" = Table.AddColumn(#"Added Conditional Column1", "Jira Booking", each if [Code] <> "" then [Jira] & [Code] else null)
#"Added Conditional Column" = Table.AddColumn(#"Renamed Columns", "Jira", each if Text.Contains([WorkDescription], "AX2012-") then "AX2012-" else if Text.Contains([WorkDescription], "LUKSALE-") then "LUKSALE-" else if Text.Contains([WorkDescription], "LUKMC-") then "LUKMC-" else if Text.Contains([WorkDescription], "ISU-") then "ISU-" else if Text.Contains([WorkDescription], "BIZ-") then "BIZ-" else if Text.Contains([WorkDescription], "DWH-") then "DWH-" else if Text.Contains([WorkDescription], "AX40-") then "AX40-" else if Text.Contains([WorkDescription], "DWHOPT-") then "DWHOPT-" else if Text.Contains([WorkDescription], "PORTAL-") then "PORTAL-" else if Text.Contains([WorkDescription], "LUKSM-") then "LUKSM-" else if Text.Contains([WorkDescription], "LUKART-") then "LUKART-" else if Text.Contains([WorkDescription], "PAC-") then "PAC-" else null),
#"Added Conditional Column1" = Table.AddColumn(#"Added Conditional Column", "Code", each if [Jira] <> null then Text.Select(Text.BetweenDelimiters([WorkDescription],"-"," "),{"0".."9"}) else null),
#"Added Conditional Column2" = Table.AddColumn(#"Added Conditional Column1", "Jira Booking", each if [Code] <> "" then [Jira] & [Code] else null)
@lboldrino Try this with a few more CONTAINSSTRING's:
Column = 
    SWITCH(TRUE(),
        CONTAINSSTRING([WorkDescription],"AX2012-"),
                VAR __Start = SEARCH("AX2012-",[WorkDescription])
                VAR __Colon = SEARCH(":",[WorkDescription],__Start,LEN([WorkDescription]))
                VAR __Space = SEARCH(" ",[WorkDescription],__Start,LEN([WorkDescription]))
            RETURN
                MID([WorkDescription],__Start,MIN(__Colon, __Space) - __Start),
        CONTAINSSTRING([WorkDescription],"LUKART-"),
                VAR __Start = SEARCH("LUKART-",[WorkDescription])
                VAR __Colon = SEARCH(":",[WorkDescription],__Start,LEN([WorkDescription]))
                VAR __Space = SEARCH(" ",[WorkDescription],__Start,LEN([WorkDescription]))
            RETURN
                MID([WorkDescription],__Start,MIN(__Colon, __Space) - __Start),
        BLANK()
    )
					
				
			
			
				@Greg_Deckler see my errores:
Desciption your Jira Correct
Abstimmung DWH-282 DWH-28 DWH-282
Abstimmung mit HP bezüglich AX2012-5291 AX2012-529 AX2012-5291
Abstimmung Portal-261  Katharina   Huber                Portal-261 Katharina  Portal-261
Analyse AX2012-5260                                                  AX2012-526               AX2012-5260
what do you mean?
@lboldrino Well, one problem is that it looks like you don't have a space or a colon after those so it is grabbing the entire next word. Not sure what to do with that one unless those always have a set number of characters like AX2012-xxxx would be 11 characters but if you had AX2012-xxx then you would get one too many characters.
The second issue is that anywhere you have a LEN([Workdescription) make it
ok,
for exm.: for AX2012- i have only AX2012-xxxx. is it usefull?
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.