What was measured, the kind of value, the value, its unit and basis.
- functionality_category (Recommended)
- FoodProt property category (listed in the Data Dictionary). When both are given, the metric name decides. Format: Category name as listed
- metric_or_measurement_name (Conditional)
- Canonical FoodProt metric name or metric_key; aliases are accepted. A name FoodProt cannot map is kept and goes to mapping review. Required when measurement_name_original is blank: every data row of a v5 file must name what was measured. Format: Metric name or key as listed
- measurement_name_original (Recommended)
- The measurement name exactly as the source words it; kept as the stored name. Format: Text as printed
- value_type (Required; dropdown)
- Kind of observation. It decides which value columns are filled. Required on every data row of a v5 file. In any file it must be one of the listed values, and the value columns must match it; the upload is refused otherwise. Format: scalar, categorical, censored_lt, censored_gt, range, not_detected, no_gel, series_point
- measurement_value (Conditional)
- The number as reported; the bound for a censored value (the x of < x or > x). Required for scalar, censored_lt, censored_gt and series_point rows; must be blank for range, categorical, not_detected and no_gel rows. The upload is refused otherwise. Format: Number only
- value_lower (Conditional)
- Lower bound of a reported range. Required, with value_upper, when value_type is range (lower ≤ upper); blank for every other value type. Format: Number only
- value_upper (Conditional)
- Upper bound of a reported range. Required, with value_lower, when value_type is range (lower ≤ upper); blank for every other value type. Format: Number only
- value_text (Conditional)
- Text outcome exactly as the source words it. Required when value_type is categorical, not_detected or no_gel; the upload is refused without it. Format: Text as printed
- measurement_unit (Conditional)
- Unit exactly as reported; never converted. The Data Dictionary lists each metric's recommended units. Needed whenever the value has a unit; a metric that requires a unit is flagged in data validation without one. Format: Unit as reported
- measurement_unit_custom (Conditional)
- Kept for earlier workbooks: the exact unit when measurement_unit is blank or holds 'Other / custom unit'. Stored verbatim; never converted. Used only when measurement_unit is blank or holds the custom-unit marker. A different unit in both columns refuses a v5 upload. Format: Unit as reported
- measurement_basis (Conditional)
- Reporting basis exactly as reported (dry basis, wet basis, per g protein, % w/v …); different bases are never combined. Needed whenever the source states a basis. Format: Basis as reported
- measurement_basis_custom (Conditional)
- Kept for earlier workbooks: the exact basis when measurement_basis is blank or holds 'Other / custom basis'. Stored verbatim. Used only when measurement_basis is blank or holds the custom-basis marker. A different basis in both columns refuses a v5 upload. Format: Basis as reported
- measurement_condition (Conditional)
- Condition qualifier of this value as reported: time point, temperature, the x-value of a series point. A series_point row needs its x-value context here or in the condition column that varies along the series; the upload is refused otherwise. Format: Text as reported
- analyte_or_band (Conditional)
- Analyte, band or component of a multi-analyte result; one row per amino acid, band or particle-size statistic. Needed for multi-analyte results, one row per analyte. Format: Text as reported