I am using a Valid If expression in an enum type to create a dropdown of dollar values based on percent markup of the column “A Table” within that row using the following expression:
LIST(
CONCATENATE("5% - ",[A Table]*1.05),
CONCATENATE("10% - ",[A Table]*1.10),
CONCATENATE("15% - ",[A Table]*1.15),
CONCATENATE("20% - ",[A Table]*1.20),
CONCATENATE(“25% - $”,[A Table]*1.25)
)
@Suvrutt_Gurjar helped me with the yesterday. It works great, except because the base type must be text, there are too many decimal digits (screenshot attached). Is there a way, within the expression itself, to limit the decimal digits to 2?
Solved! Go to Solution.
The implication in the TEXT() function is that if you wrap it around a Decimal type it will truncate it to 2 decimals.
I think there may also be a DECIMAL() function but i am not seeing any documentation on it.
I just looked in the Expression Assistant, there are no parameters to control decimal digits in the DECIMAL() function. Its strictly a conversion function to convert TO Decimal.
The implication in the TEXT() function is that if you wrap it around a Decimal type it will truncate it to 2 decimals.
I think there may also be a DECIMAL() function but i am not seeing any documentation on it.
I just looked in the Expression Assistant, there are no parameters to control decimal digits in the DECIMAL() function. Its strictly a conversion function to convert TO Decimal.
Awesome, wrapping each [Column] value with TEXT() did the trick. It also added the $ back in for some reason so I could delete it from the equation. It ended up looking like this:
LIST(
CONCATENATE("A Table - ",TEXT([A Table])),
CONCATENATE("5% - ",TEXT([A Table]*1.05)),
CONCATENATE("10% - ",TEXT([A Table]*1.10)),
CONCATENATE("15% - ",TEXT([A Table]*1.15)),
CONCATENATE("20% - ",TEXT([A Table]*1.20)),
CONCATENATE("25% - ",TEXT([A Table]*1.25))
)
Thanks again!!
Yes, retaining the $ is the expected behavior for the TEXT() function. You can think of it as grabbing the display value from a column, reduced to 2 decimal digits.
Unfortunately, if you needed more precision that 2 decimal digits, the TEXT() function is not going to help.
User | Count |
---|---|
56 | |
25 | |
13 | |
11 | |
6 |