Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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) & "%" &")"
Solved! Go to Solution.
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) & "%" &")"
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) & "%" &")"
User | Count |
---|---|
22 | |
11 | |
8 | |
6 | |
6 |
User | Count |
---|---|
25 | |
12 | |
11 | |
7 | |
6 |