I would be interested in hearing best practices as well.
We have the similar situations as the one you describe. We work with plumbing fixtures and pipe threads. 1-1/8" and 0.75" pipe thread is an example. We also work with water flow for standard and metric measurements. Gallons per minute and Liters per minute.
Our business decision was to create 2 attributes to display both metric and standard values. 1 to hold the standard value and 1 to hold the metric value. Water Flow(Gpm), Water Flow(Lpm).
As far as threads go, we did what you explained. We set preset values and have both the fraction and decimal representation. The attribute data type is defined as a character string.
I wrestled with the same thing you did...is this a number or string. I justified the business decision because an attribute describes the item. If it is an accurate description then the data is stored properly. M6 is the proper description for a metric srew. 1/2" is the proper description for a standard screw size.
Hoping to help,
I've done a bunch of large scale industrial catalog work that were PIM driven. We ended up creating sequence numbers for Items based on the "key" attribute and created sequence numbers on the attributes themselves so that one can change the column order they appear in a table. All the metric and imperial fractional values were stored as strings with units. We stripped off any double quote marks on import.
Excel has some okay sorting function for fractions as strings, but nothing beats the human eye when suppliers send stuff like "1 1/2" or "1-1/2". It's pretty easy to sequence them in Excel or in the item list view.
Thanks guys for your responses. I originally modeled the data as strings, then changed to decimals, then after reading both of your responses went back to strings. Greg's point is that 1/2" is the proper designation for a screw and accurately describes the item. After thinking about that argument I completely agree.
Fortunately P360 is relatively easy to configure in this way, so we are going to write this into our spec for threaded items. I also set a standard of value x 1000 for sequence numbers, e.g. a 1/2" value will be 500, 3/4 750. This way adding other values after the fact won't be a chore to sequence.
We had some other loose standards where we used fractions where we didn't necessarily need to, so on the flip side I'm going to require these be decimals. So our SOP will be that we will use decimals unless there is a specific use case for strings (e.g. threads). We've also uncovered some ratty data where we had things in our old system like a numeric value of 8.1 for something intended to be an Mx value, so the presets will help in that manner as well.