Skip to main content
When you upload an SPSS file, VoxDash looks at every variable and asks one question: is this a code frame, or is it something else? Only code frames can be tabulated. A variable that is not a code frame is marked open-ended, which means VoxDash will not draw a frequency chart for it and will not offer it as a banner in a crosstab. This is deliberate, and usually it is what you want. But it is worth understanding, because you control the outcome — mostly through your value labels.

What counts as a code frame

A code frame is a closed list of answer options, each with a value label: This is tabulable. You can chart it, and you can cross anything by it. Two kinds of variable are not code frames, and VoxDash marks both as open-ended:
  1. Free text — verbatim answers, where nearly every respondent writes something different.
  2. Measurements and identifiers — household IDs, respondent IDs, sampling weights, earnings, hours worked, ages. These are numbers on a scale, not categories.
Crossing your data by a household ID or a sampling weight produces thousands of meaningless columns, so VoxDash excludes them.

How VoxDash decides

A variable is marked open-ended when either of these is true.
1. It looks like free text. More than 30 distinct answers, and the distinct answers are at least 60% of the number of respondents.Almost everyone gave a different answer, which is the signature of a verbatim.
2. It looks like a measurement. More than 200 distinct values, and at least 95% of those values carry no value label.Lots of different numbers, and no labels attached to them — the signature of an ID, a weight, or an amount.
Everything else stays tabulable.

Why test 2 needs both halves

This is the part that surprises people, so it is worth being precise. Neither half works on its own. Notice the sampling weight has fewer distinct values than the occupation code, yet one is excluded and the other is kept. That is why the count alone is never enough — the value labels are what tell the two apart.

What happens to a variable marked open-ended

Your data is never changed or deleted. The variable stays in your dataset, stays in every export and download, and remains available to you in full.
What changes is how it is presented:
  • It does not get a frequency chart on its question page.
  • It is not offered as a banner when someone builds a crosstab.
  • It is excluded from the pre-computed crosstab tables, which is what keeps the rest of your survey fast.
  • If it is genuine free text, it becomes eligible for AI coding — see AI Open-Ended Analysis.

Very high-cardinality variables: the top-5,000 display cap

Some variables have an enormous number of distinct response values — an open-ended text field, or a numeric measurement, can easily run to tens of thousands of unique answers. Sending every one of those to your browser would make the question page slow to load and heavy to render. To keep the page responsive, VoxDash caps the response list it displays:
If a question has more than 5,000 distinct response values, its question page shows the top 5,000 by frequency rather than the full list. Questions at or below 5,000 always show every response.
When the list is capped, the page shows a notice at the top of the results so the reader knows they are not seeing everything:
Showing the top of responses by frequency.
A few things worth knowing about this cap:
  • Your totals are still exact. The “sample size” and the total response count are calculated separately from the full data — they are never affected by the display cap. Only the list of individual responses is shortened.
  • The most common answers are the ones you keep. The cap keeps the 5,000 highest-frequency responses, so nothing frequent is ever hidden — only the long tail of rare, one-off values is left out of the on-screen list.
  • It is decided by the number of response values, not by the open-ended flag. In practice the two overlap heavily — a variable with 50,000 unique values is almost always an identifier or free text — but a genuinely large closed question would be capped the same way.
  • Your full data is untouched. As always, every response is retained in your dataset and in every export. The cap only affects what is drawn on the question page.
This is why giving a large variable meaningful value labels matters twice over: it keeps the variable tabulable, and a properly coded categorical rarely has enough distinct values to hit the display cap in the first place.

How to control the outcome

Value labels are the lever. In almost every case, whether a variable stays tabulable is decided by whether you labelled its values in SPSS.
If you want a variable to be usable as a banner, give its values labels in SPSS before you upload. A labelled variable is treated as a code frame no matter how many categories it has.
Practical guidance:
  • Labelled categories, any number of them → tabulable. An occupation list with 600 labelled codes is fine.
  • Unlabelled numbers, more than 200 of them → treated as a measurement and excluded.
  • Unlabelled numbers, 200 or fewer → still tabulable. A 0–100 score or a numerically coded country list will be kept.
  • Verbatim text → treated as open-ended, and can be AI-coded.
This also means the reverse is true, and it is worth saying plainly: if you leave a genuine categorical variable unlabelled and it has more than 200 categories, VoxDash will read it as a measurement and exclude it. Adding the labels fixes it.

Variables you should expect to be excluded

These are almost always excluded, and that is the correct behaviour:
  • Identifiers — household ID, person ID, record number, questionnaire number, respondent key.
  • Sampling weights — final weight, household weight, longitudinal weight, and any other weight variable. (See Weighted Variables for how weights are applied to your results.)
  • Continuous amounts — earnings, hourly pay, hours worked, job tenure, duration in weeks or months.
  • Timestamps — interview start and end times.
None of these are meaningful as a crosstab banner. Excluding them is what allows the rest of your survey to be tabulated quickly and correctly.
If a survey is uploaded with a household identifier left as an ordinary categorical variable, VoxDash would attempt to cross every other question by tens of thousands of ID values. This is why the exclusion exists — it protects your survey’s crosstab performance.

A note on banded variables

If you want to analyse something continuous — age, income, hours — the right approach is to band it into a labelled categorical variable in SPSS before uploading. Age — 83 distinct unlabelled values. Usable, but it produces an 83-column crosstab that is hard to read. ✅ Age_Band — 5 labelled categories (18–24, 25–34, …). Clear, readable, and exactly what a banner should be. You can upload both. Keep the raw variable for your own records, and use the banded one for analysis.

Frequently asked questions

Almost always because its values have no labels and it has more than 200 of them. VoxDash cannot distinguish an unlabelled 300-category code list from a measurement — they look identical in the file.Add value labels to the variable in SPSS and re-upload, and it will be treated as a code frame.
Yes — label its values. That is the signal VoxDash reads. A labelled variable is kept regardless of how many categories it has.If you have a variable that is genuinely categorical, genuinely unlabelled, and genuinely has more than 200 categories, contact support and we can review it with you.
Yes. Nothing is deleted or altered. The variable remains in your dataset and in every export. Only its presentation changes: no frequency chart, and not offered as a crosstab banner.
Not by re-uploading the same file — the classification is applied at import and is not automatically reversed.If you believe a variable has been classified incorrectly, fix the value labels in SPSS and contact support so the dataset can be reprocessed.
Those are correctly identified as open-ended, and that is what makes them eligible for AI coding. See AI Open-Ended Analysis — VoxDash can code the verbatim text and store both the original response and its assigned numeric code.

Summary

  • VoxDash tabulates code frames. Free text and measurements are marked open-ended and excluded from charts and crosstab banners.
  • A variable is treated as a measurement when it has more than 200 distinct values and at least 95% of them are unlabelled.
  • Value labels are the lever you control. Label your values and your variable stays tabulable, however many categories it has.
  • Your data is never changed. Only how it is presented changes.
  • Band continuous variables (age, income, hours) into labelled categories for the cleanest analysis.
For general file preparation guidance, see Preparing Your SPSS File for VoxDash.