What about metabase types, what's behind?

Hi there.

I'm using metabase OSS for about 2 years, it's working very well.

I regularly ask myself the same question : what's behind model types ?
I'm pretty sure that's about intention. Giving a type allow Metabase to know what's the DATA meaning.
But the documentation is not very explicit on this subject, it only lists existing types without mentioning the impact between each other.

Now I'm stuck on the "price" type.
I'm running 0.50.6, when defining a column as price, I understand that metabase is using it as string..
But what If I want to create custom field using conditions like case([price] < "100", "foo", "bar").

Comparing numeric values using string format is a recipe for trouble.

But I can't compare a Price to an Integer; case([price] < "100", "foo", "bar") because Metabase is telling me that is an "Invalid expression".

Could you please tell me more about types ? Particularly on the Price type.

It's an other question,
But note that I also don't understand the Price > Currency definition. What's it for? What If the column hold an amount where currency is depending of an other column?
What Is the "Currency" type ? Is it really useful?


Hey there,

financial values are just numbers with some formatting on top of them.

Why do you think I understand that metabase is using it as string?

Are you sure those prices as string do not come directly from your database?

One option you might have would be to

case(cast([price] as float) < 100, "foo", "bar")