Field note
Is a detected type the field's true type?
No. A profiler reports values it saw in a bounded sample. The declared type expresses intended documentation after human review. A numeric-looking identifier may properly remain text.
Observation is evidence
The profiler reports the primitive types it saw in the rows it read, with counts: integer, number, text, boolean, date, date-time and blank. That is a statement about a bounded sample, not about the field. A column of digits profiles as an integer whether it holds a measurement, a postcode or a key.
Declaration is an authored claim
The declared type is what you intend readers and downstream tools to treat the field as, and you choose it after looking at the evidence. Identifiers stay text even when every value looks numeric, because leading zeros matter, arithmetic on a key is meaningless, and a spreadsheet that converts it to a number silently damages a join. The studio never coerces, validates or repairs a value to match what you declared.
Mixed samples need investigation
More than one primitive type in one column is a prompt, not a type. It usually means a sentinel token sitting among real values, two date formats from two collection rounds, or a free-text answer that was never separated out. Find the cause before you declare anything, and where the mixture is genuine, say so in the definition rather than leaving the reader to discover it.
Worked example from the sample project
The sample makes the distinction concrete in one field. Profile a Northbank export and tree_id will look like an integer in most rows, because the codes are numeric. The folio nevertheless declares it text with the identifier role, because it is a key: leading zeros matter, arithmetic on it is meaningless, and a spreadsheet that helpfully converts it to a number will silently damage a join.
The profiler is honest about its own limits. It reports the primitive types it saw in the rows it read, and reports mixed when it saw more than one. Mixed is a prompt to investigate, not a type: it usually means a stray sentinel, an alternate date format, or two collection processes that were never reconciled.
What this does not do
- An observed type is evidence from a bounded sample, never a conclusion about the field.
- The studio does not coerce, validate or repair values to match a declared type.
- A declared type is documentation; it enforces nothing anywhere downstream.
Do this in the studio
Let observation raise the question and let a person answer it.
- Open the Field folios station and read the observed profile beside the declaration.
- Declare text for identifiers regardless of how the values look.
- Investigate every mixed observation before declaring anything.
Open the studio at the Field folios station