Categorical Value
Type Registry
Categorical Value
representation.discrete.categorical Discrete string value from a small, unordered set (e.g., "male"/"female", "S"/"C"/"Q", "red"/"blue"/"green", "active"/"inactive"). Typical cardinality: 2-20 unique values. Transforms to VARCHAR. Column-level identification relies on low cardinality detection.
Domain representation›discrete
Casts to VARCHAR
Scope Universal
Try it
CLI
$ finetype infer -i "active"
→ representation.discrete.categorical DuckDB
Detect
SELECT finetype('active');
-- → 'representation.discrete.categorical' Cast expression
CAST({col} AS VARCHAR) Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'representation.discrete.categorical'; JSON Schema
finetype schema representation.discrete.categorical {
"$id": "https://noon.sh/schemas/representation.discrete.categorical",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Discrete string value from a small, unordered set (e.g., \"male\"/\"female\", \"S\"/\"C\"/\"Q\", \"red\"/\"blue\"/\"green\", \"active\"/\"inactive\"). Typical cardinality: 2-20 unique values. Transforms to VARCHAR. Column-level identification relies on low cardinality detection.",
"examples": [
"active",
"male",
"S",
"red",
"pending",
"Type A"
],
"maxLength": 50,
"minLength": 1,
"title": "Categorical Value",
"type": "string"
} Examples
activemaleSredpendingType A Also known as
categoryenumfactorlevel