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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Anonymous
Not applicable

Help to Format DAX to String/Text Output

Hi, I would like to simplify this dax that outputs a string. It's becoming too complex to maintain and make changes to the output e.g. 1. the format of $1.3M I would like to change to 2 decimal place $1.37M e.g. 2. if var% is positive, include "+" i.e. (+9.2%).

Any tips on how to refine this so it will be dynamic instead of manually changing dax? Appreciate any help, thanks.

 

 

 

Sample Slack Message = "The onsite revenue for " & SELECTEDVALUE('Budget Scenario Prev Week'[FinMonthYearWeek]) & " was USD$" & IF(SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue])<10000000, LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),2),1),LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),1))  & "M" & " vs budget of USD$" & IF(SELECTEDVALUE('Budget Scenario Prev Week'[Comparative])<10000000, LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),2),1),LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),1)) & "M" & " (" & ROUND( VALUE( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Var])*100 , 5)),1) & "%" &")"  & " and vs last year at USD$" & IF(SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative])<10000000, LEFT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),2),1),LEFT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[onsite revenue]),3),2)) & "M" & " (" & ROUND( VALUE( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Var])*100 , 5)),1) & "%" &")"

 

 

 

 

 

qsmith83_0-1658958878030.png

qsmith83_1-1658958968840.png

 

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Managed to solve this by tweaking the dax. Although not the refined output I was looking for, but it works for now:)

 

Budget Slack Message = 
var _variance2 = ROUND( VALUE( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Var])*100 , 5)),0)
var _variance1 = ROUND( VALUE( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Var])*100 , 5)),1)
return
" @here The onsite revenue for " & SELECTEDVALUE('Budget Scenario Prev Week'[FinMonthYearWeek]) & " was USD$" & IF(SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue])<10000000, LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),2),LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),1))  & "M" & " vs budget of USD$" & IF(SELECTEDVALUE('Budget Scenario Prev Week'[Comparative])<10000000, LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),3),2),LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),1)) & "M" & " (" & IF(_variance1 > 0, "+" & _variance1, _variance1) & "%" &")"  & " and vs last year at USD$" & IF(SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative])<10000000, LEFT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),3),2),LEFT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[onsite revenue]),3),2)) & "M" & " (" & IF(_variance2 > 0, "+" & _variance2, _variance2) & "%" &")"

qsmith83_0-1659040904105.png

 

 

View solution in original post

1 REPLY 1
Anonymous
Not applicable

Managed to solve this by tweaking the dax. Although not the refined output I was looking for, but it works for now:)

 

Budget Slack Message = 
var _variance2 = ROUND( VALUE( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Var])*100 , 5)),0)
var _variance1 = ROUND( VALUE( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Var])*100 , 5)),1)
return
" @here The onsite revenue for " & SELECTEDVALUE('Budget Scenario Prev Week'[FinMonthYearWeek]) & " was USD$" & IF(SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue])<10000000, LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),2),LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),1))  & "M" & " vs budget of USD$" & IF(SELECTEDVALUE('Budget Scenario Prev Week'[Comparative])<10000000, LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),3),2),LEFT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[Comparative]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Budget Scenario Prev Week'[onsite revenue]),3),1)) & "M" & " (" & IF(_variance1 > 0, "+" & _variance1, _variance1) & "%" &")"  & " and vs last year at USD$" & IF(SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative])<10000000, LEFT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),2),1) & "." & RIGHT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),3),2),LEFT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[Comparative]),3),2) & "." & RIGHT( LEFT( SELECTEDVALUE('Last Year Scenario Prev Week'[onsite revenue]),3),2)) & "M" & " (" & IF(_variance2 > 0, "+" & _variance2, _variance2) & "%" &")"

qsmith83_0-1659040904105.png

 

 

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.