When looking for various dynamic fields you may have come across two options for the same field. Something similar to the image below:
If you are asking what the difference is between these two or don't know what to use, then this article is for you.
Warning: We are about to go into some computer science principles. We will try to keep this as straight forward as possible.
The difference comes down to data types.
The raw value takes the data type that is stored in our database - which is always a string.
The formatted value takes the string stored in the database and converts it back to the data type that dynamic field is configured to be.
For example, if we have a dynamic field that is classified as numeric, it is stored in the database as a string. However, grabbing the formatted value will convert it back to a numeric value.
So in the screenshot below, we are looking at a field where the FORMATTED value will be a number.
What is a string?
The most basic explanation for a string is that it is a line of characters. It's text - or a string of characters if you will. Like a word, for example.
Where this might cause confusion is that typing a number like '2468' into a numeric field will store it as a string of characters, NOT the number 2,468.
So if I grab the RAW value for a field containing the number '2468', it is not a number, but a string of characters.
If I grab the FORMATTED value for the field containing the number 2468, then it will be treated as a number with the value 2,468.
How does this affect me?
The most common place where you will run into this is decisions for workflows. You may have noticed that our comparison operations have numeric and non-numeric versions.
If you are trying to compare numeric (FORMATTED) data types, then use the numeric operations.
If you don't use numeric and use the string value (RAW), then this will not behave as you expect.
For example, believe it or not, the string '3' is greater than the string '20'.
Sorry if your head just exploded....