Forum Discussion
Anonymous
1 year agoNot applicable
PowerBi Desktop: Number Formatting in calculated Measures
I want to achive below Expected number format in PowerBI calculated measure.
| Calculated Measure Input | Expected Output |
| 359704 | 359.704 |
| 27160 | 27.160 |
| 1503 | 1.503 |
| 999 | 999 |
| 99 | 99 |
| 1 | 1 |
Experts pls help on this. Thanks.
Below Calculated Measure for your reference:
Volume =
IF((CALCULATE(
DISTINCTCOUNT('Table'[ID]),
'Table'[Worked] =
IF(
SELECTEDVALUE('Table'[Worked]) = "Worked"
|| SELECTEDVALUE('Table'[Worked items]) = "Worked",
"Worked",
"Un-Worked"
)
))>=1000,CALCULATE(
DISTINCTCOUNT('Table'[ID]),
'Table'[Worked] =
IF(
SELECTEDVALUE('Table'[Worked]) = "Worked"
|| SELECTEDVALUE('Table'[Worked items]) = "Worked",
"Worked",
"Un-Worked"
)
)/1000, CALCULATE(
DISTINCTCOUNT('Table'[ID]),
'Table'[Worked] =
IF(
SELECTEDVALUE('Table'[Worked]) = "Worked"
|| SELECTEDVALUE('Table'[Worked items]) = "Worked",
"Worked",
"Un-Worked"
)
))
IF((CALCULATE(
DISTINCTCOUNT('Table'[ID]),
'Table'[Worked] =
IF(
SELECTEDVALUE('Table'[Worked]) = "Worked"
|| SELECTEDVALUE('Table'[Worked items]) = "Worked",
"Worked",
"Un-Worked"
)
))>=1000,CALCULATE(
DISTINCTCOUNT('Table'[ID]),
'Table'[Worked] =
IF(
SELECTEDVALUE('Table'[Worked]) = "Worked"
|| SELECTEDVALUE('Table'[Worked items]) = "Worked",
"Worked",
"Un-Worked"
)
)/1000, CALCULATE(
DISTINCTCOUNT('Table'[ID]),
'Table'[Worked] =
IF(
SELECTEDVALUE('Table'[Worked]) = "Worked"
|| SELECTEDVALUE('Table'[Worked items]) = "Worked",
"Worked",
"Un-Worked"
)
))
1 Reply
- rajendraongole1Super User
Hi Anonymous - Please try the below updated measure for converting numbers larger than 1,000 to thousands (K) format while leaving smaller numbers unchanged.
Formatted Volume =VAR CountValue =CALCULATE(DISTINCTCOUNT('Inpu'[ID]),'Inpu'[Worked] =IF(SELECTEDVALUE('Inpu'[Worked]) = "Worked"|| SELECTEDVALUE('Inpu'[Worked items]) = "Worked","Worked","Un-Worked"))RETURNIF(CountValue >= 1000,FORMAT(CountValue / 1000, "#,###.000"), // Format numbers above 1000 with decimal placesFORMAT(CountValue, "#,###") // Keep numbers below 1000 as they are)Hope this helps.