Using schema files to enhance your data
If you have a separate schema file (often called a "question key" or "data dictionary") that describes your survey questions, you can upload it to AddMaple to automatically apply descriptive labels, group related questions, and organize your columns.
This is useful when your CSV export uses technical column names (like q7_industry or TechEndorse_1) but you have a separate file that contains the full question text and metadata.
What is a schema file?
A schema file is a CSV that maps your data's column names to human-readable information. Common sources include:
- Question keys from survey platforms (User Interviews, Qualtrics, SurveyMonkey)
- Data dictionaries from research teams
- Codebooks from SPSS or statistical packages
- Schema exports from survey builders
Example schema file
Question,Question Text,Type
screener_1,Which statement reflects your relationship to research?,Multiple Choice
screener_2,What type of research do you primarily conduct?,Multi-select
q1_title,Which is closest to your job title?,Multiple Choice
q7_industry,Which industry category describes your company?,Dropdown
Uploading a schema file
- Open Project Settings (More → Settings)
- Navigate to the "Manage Project" tab
- Scroll to "Upload Schema File"
- Click "Upload Schema"
A schema mapper will appear where you can:
- Upload your schema CSV file
- Map schema columns to AddMaple fields
- Preview the mapping before applying
Mapping schema columns
The schema mapper shows your CSV columns and lets you assign each one to a specific field:
Required field
- Column Name (rawName) — Must match your data's column headers exactly
Recommended fields
- Display Label — Human-readable name shown in AddMaple
- Question Text — Full question wording (used for grouping)
Optional fields
- Group ID — Groups related sub-questions together (matrix questions)
- Group Label — Display name for the group
- Short Label — Abbreviated version of the label
- Semantic Category — Classification or theme
- Tags — Comma or semicolon-separated keywords
- Order — Numeric order for sorting within groups
- Hidden — Set to "true" to hide the column by default
How schema mapping works
After you upload and map a schema file, AddMaple will:
- Match columns — Find each data column using the rawName from your schema
- Apply labels — Replace technical names with descriptive question text
- Create groups — Organize related questions using Group ID and order
- Update settings — Regenerate column configuration with schema metadata
The page will reload automatically with your updated column settings.
Example use cases
Use case 1: Survey with question codes
Your data export:
- Column names:
screener_1,screener_2_market_r,q1_title,q7_industry
Your schema file:
Column,Question
screener_1,Which statement reflects your relationship to research?
screener_2,What type of research do you primarily conduct?
q1_title,Which is closest to your job title?
q7_industry,Which industry describes your company?
Mapping:
- Column Name → "Column"
- Display Label → "Question"
Result: Columns display with full question text instead of technical codes.
Use case 2: Grouped matrix question
Your data export:
- Columns:
TechEndorse_1,TechEndorse_2,TechEndorse_3,TechEndorse_4
Your schema file:
qname,question,sub,group_id,order
TechEndorse_1,What attracts you to a technology?,AI integration,QID18,1
TechEndorse_2,What attracts you to a technology?,Easy-to-use API,QID18,2
TechEndorse_3,What attracts you to a technology?,Robust API,QID18,3
TechEndorse_4,What attracts you to a technology?,Quality reputation,QID18,4
Mapping:
- Column Name → "qname"
- Display Label → "sub"
- Question Text → "question"
- Group ID → "group_id"
- Group Label → "question"
- Order → "order"
Result: Four sub-questions grouped together under "What attracts you to a technology?" with proper ordering.
Use case 3: Multi-select with option labels
Your data export (double-header format):
- Row 1:
screener_2_market_r,screener_2_user_ux,screener_2_data_science - Row 2:
Market research,User/UX research,Data science
Your schema file:
Question,Question Text
screener_2,What type of research do you primarily conduct?
Steps:
- First, set Header rows to 2 in Project Settings
- Then upload schema file
- Map: Column Name → "Question", Display Label → "Question Text"
Result: Individual checkbox columns merge into a single multi-select column with:
- Column name: "What type of research do you primarily conduct?"
- Values: "Market research", "User/UX research", "Data science" (from Row 2)
Schema file formats
AddMaple supports flexible schema formats. Here are common patterns:
Minimal schema (column names and labels)
column,label
q1,Job title
q2,Years of experience
q3,Industry
Full schema (with grouping)
column_name,display_label,question_text,group_id,group_label,order
TechEndorse_1,AI integration,What attracts you?,QID18,What attracts you?,1
TechEndorse_2,Easy API,What attracts you?,QID18,What attracts you?,2
Question key (simple format)
Question,Question Text
screener_1,Which statement reflects your relationship to research?
q7_industry,Which industry describes your company?
For multi-select questions, the schema typically lists the base question (like screener_2) and AddMaple automatically matches related columns (like screener_2_market_r, screener_2_user_ux) through prefix matching.
Tips for preparing schema files
- Exact column name match — The rawName field must match your data's column headers exactly (including underscores, capitalization)
- One row per column — For multi-select questions, you can list either the base question or each individual option column
- CSV format — Save as CSV (not Excel) for reliable upload
- Remove blank rows — Empty rows in the schema will be skipped
- Prefix matching — For multi-select splits like
q3_career_change_promotion, list the baseq3_career_changeand AddMaple will match all related columns
Common schema mappings
Different survey platforms export different schema formats. Here's how to map them:
Simple question key format
Question,Question Text,Notes,Type
screener_1,Which statement reflects your relationship to research?,Select one,Multiple Choice
Mapping: Column Name → "Question", Display Label → "Question Text"
Matrix question format (with grouping)
qid,qname,question,sub,sq_id
QID18,TechEndorse_1,What attracts you to a technology?,AI integration,1
Mapping: Column Name → "qname", Display Label → "sub", Question Text → "question", Group ID → "qid", Order → "sq_id"
Research codebook format
variable,label,category,hide
participant_id,Participant ID,identifier,true
age,Age in years,demographic,false
Mapping: Column Name → "variable", Display Label → "label", Semantic Category → "category", Hidden → "hide"
After applying a schema
Once you apply a schema file:
- Columns update immediately with new labels and grouping
- The page reloads to reflect changes
- Multi-select questions use descriptive option labels instead of column IDs
- Matrix questions appear as grouped sub-questions
- You can still edit individual columns manually in Manage Columns if needed
Important: Applying a schema regenerates all column settings. Any manual edits you've made to column names, types, or grouping will be replaced with the schema's definitions.
Troubleshooting
My columns didn't update
- Verify the rawName in your schema matches the actual column headers in your data exactly
- Check for extra spaces or different capitalization
- For multi-select splits, try listing the base column name without suffixes
Some columns are missing
- Ensure every column in your data has a corresponding row in the schema
- Columns without schema entries will keep their original auto-detected names
Groups aren't appearing
- Make sure you mapped both Group ID and Group Label fields
- Verify all columns in a group share the same Group ID value
- Add Order values if you want to control the sequence within groups
Multi-select values show column IDs instead of labels
- If using double headers, set Header rows to 2 first, then apply the schema
- The second header row provides the descriptive option labels
Related features
- Header Rows — Configure multi-row headers before uploading schema
- Manage Columns — Manually edit column settings after schema application
- Combining Columns — Understand how multi-select merging works
- Group — Learn about grouped matrix questions