Lire ce guide en français

Julius AI · Survey analysis

Julius AI Survey Analysis: Multiple-Choice Results and Cross-Tabs

By Frédéric Cassiede · Published · Official documentation checked October 29

Turn a survey export into counts and cross-tabs you can explain. This Julius AI guide works through multiple-choice answers, unanswered questions and group comparisons, with a free CSV, question dictionary and independently calculated answer key.

Documentation-led guide with fictional data. We have not run this example inside Julius. Sources and method. Julius links are affiliate links; we may earn a commission at no extra cost to you.

The worked exampleWhich responses belong in the calculation?

Separate displayed questions, valid answers and selections.

16Submissions
12Shown the question
10Valid answers

Fictional survey · Multiple selections allowed · “None” is a valid answer

Prepare the survey export and question dictionary

Keep an unchanged source file. Record the export date, filters and whether your rows represent submissions or distinct people. A response ID identifies a submission; it does not automatically prove that a person responded only once.

Julius lists CSV, Excel and SPSS among its supported file types. Format support does not establish that every question label, missing-value code or display rule will survive an import. Supply a dictionary describing the columns, valid choices, special codes and question-routing rules.

What to check in common survey exports
SourceWhat the documentation establishesCheck before asking Julius to count
Google FormsResponses can be downloaded as CSV or viewed in a linked spreadsheet.Use the intended response file and collection period. Keep the question wording and routing definitions alongside it.
Typeform CSV / XLSXMultiple-selection choices appear in separate columns. Applied filters or selected responses limit the download.Map all columns belonging to the question. Confirm the export includes the responses you intend to analyze.
Typeform through Google SheetsMultiple selections appear in one column, separated by commas, rather than the export’s separate choice columns.Confirm the structure and historical coverage. Do not assume it is identical to a direct CSV export or split arbitrary labels blindly.
QualtricsExport options control labels, recodes and multi-value columns. CSV/TSV can have several header rows.Identify the actual first data row, codes and display information. Some automated extracts can remove extra headers.

Export references: Google Forms responses; Typeform downloads and Sheets integration; Qualtrics dataset structure, export options and automated extraction.

Use non-sensitive inputs. For plan limits, credits and the data-use conditions to check before uploading real responses, see our Julius AI review and privacy discussion.

A worked survey example you can download

The fictional question is: “Which features would you use? Select all that apply: A, B, C, or None.” All choices are shown whenever the question appears. None is exclusive: it cannot be selected with A, B or C.

The file assumes one submission per distinct fictional person. Pro and Starter are fictional survey segments, not Julius subscription plans. The answer key describes this unweighted example; it is not a Julius export or evidence of product accuracy.

Free reference files

Data, definitions and expected results

16 fictional submissions · CSV and dictionary · Answer key · Optional Python checker

What the columns mean

q_features_shown records whether the question appeared. q_features_answered records a valid answer, including an explicit None. In an answered row, each option is 1 if selected and 0 if not. Option cells are blank when there is no valid answer. These definitions belong to this example. Do not impose them on an unrelated export.

Suggested first request in Julius

Inspect responses.csv using dictionary.csv. Do not modify the source or impute missing choices. Identify the unit of observation, unique submission IDs, display and answer flags, and all columns belonging to the feature question. Flag duplicate IDs, unknown codes, choices recorded for unseen questions, and None combined with another choice. Show the counts for shown-and-answered, shown-but-unanswered, and not-shown records. Explain any ambiguity before calculating percentages.

These are proposed instructions, not a recorded Julius session. Its documentation describes code-based tools and inspectable steps. Use that visibility to review the rules implemented for your file.

Separate unanswered questions from questions never shown

A blank, zero and explicit None can represent different things. Preserve their definitions before cleaning. For this question, the reference file reconciles as follows:

The population behind the feature question · fictional data
StatusCountTreatment in this example
Shown and answered10Valid-answer base, including 2 explicit None answers.
Shown, unanswered2Included in the 12 shown the question, excluded from the 10 valid answers.
Not shown4Excluded from both question bases.
All submissions1610 + 2 + 4. This is not the valid-answer base.

“None” is an answer, not missing data. Dropping those two records would shrink the valid base from 10 to 8 and inflate A from 60% to 75%. Neither a zero-filled blank nor automatic deletion is an appropriate substitute for reading the dictionary.

What if the export contains only six blanks?

Our flags identify two unanswered and four unseen records. Remove those flags and the six blank choice rows alone cannot reveal that split. Request the missing display information or report the limitation. An AI cannot recover an unrecorded distinction just by analyzing harder.

Qualtrics documents an optional, customizable recode for questions seen but unanswered. Without that option, unanswered questions can remain blank. Special codes therefore depend on the export settings: Qualtrics export options.

These are question-level bases. They do not establish the survey’s overall response rate: that would also require a defined population invited or eligible to participate.

Count responses and selections separately

Ask for the number of valid respondents choosing each option, then divide by the agreed valid-answer base. In this example, each option uses the same base of 10.

Multiple-choice results · base: 10 valid answers
OptionPeople selectingValid-answer basePercentage
A61060%
B51050%
C41040%
None21020%

Why do the percentages add up to 170%?

Ten people made 17 selections. A person can contribute to several options, so percentages of people do not have to sum to 100%. Keep that explanation beside the table. For this question, a bar chart can show the option percentages without implying that the choices form exclusive pieces of one whole.

The same six A selections can produce four different percentages

Choose the question first, then its denominator
What you want to describeCalculationA result
Valid answers choosing A6 / 1060%
People shown the question who chose A6 / 1250%
All fictional submissions choosing A6 / 1637.5%
Share of selections attributed to A6 / 17About 35.3%

If you reshape the data to one row per selection, the 10 valid response rows become 17 rows. Normalizing those rows gives shares of selections. To report the proportion of respondents, retain the response identifiers and the appropriate respondent base.

Also distinguish A or B from adding their percentages. Seven people selected at least one of them: 7/10 = 70%. Four selected both. Adding 60% and 50% counts those four twice.

Our common base assumes every option was visible to the same eligible people. Choice-level display logic can require a different base for each option. Qualtrics documents this distinction in its crosstabs guidance.

Compare groups with counts and explicit bases

The two segments have different numbers of valid answers. The useful comparison is the count choosing A divided by each segment’s valid base.

Choice A by fictional survey segment
SegmentChoosing AValid answersWithin-segment percentage
Pro3475%
Starter3650%
All valid answers61060%

Both groups contain three people choosing A. Their percentages differ because their bases differ. The 25-percentage-point gap describes this tiny fictional dataset; it does not establish a meaningful population difference or statistical significance.

“Within this group” and “among people choosing A” are different questions

Among the four valid Pro responses, three chose A: 75%. Among the six valid responses choosing A, three came from Pro: 50%. Keep the wording with the result rather than labeling both numbers simply “A percentage.”

Row and column percentages are useful only after you know which variable occupies each axis and which records are included. UCLA explains the corresponding row, column and overall percentage bases.

For multiple selections, inspect the counting unit again. Pro’s three A selections are 3/4 of valid Pro respondents, but 3/8 of all Pro selections: 75% versus 37.5%. A neatly normalized cross-tab can answer the wrong question if its rows represent selections rather than people.

Suggested calculation request

For the feature question, use q_features_shown=1 and q_features_answered=1 as the valid-response filter. Keep explicit None answers in the base. Return each option’s selected count, valid base and percentage overall and by segment. Count each submission at most once for an option. Separately calculate A or B and A and B using submission IDs. Explain the difference between respondent percentages and selection shares. Show the implemented rules and any excluded or contradictory records before interpreting group differences.

A real survey may need weights, a sampling design or specialist statistical review. This example is an unweighted descriptive exercise. It does not infer that voluntary respondents represent every customer.

Export the survey table with its bases and exclusions

Request a table that keeps the definition attached to the number. Suggested columns are question, option, segment, selected_count, base_count, percent and exclusion_rule. This is our proposed output structure, not an official Julius template.

  1. Inspect the calculation table. Compare the 10 valid answers, A’s count of 6 and the group bases of 4 and 6 with the answer key. Review the implemented code and any cleaning decisions.
  2. Export the dataframe as CSV. Julius documents an export button in Data Explorer. Ask for missing definition columns before downloading.
  3. Open the exported file. Verify counts, labels, bases and rounding. Keep the original input, dictionary and analysis rules with it. A readable table in the conversation is not proof that every field survived export.

The download kit contains an expected-results JSON and a small optional Python checker. They let you recalculate the supplied CSV independently. They do not establish what Julius will return for another survey.

If your immediate decision is which tool to use, our Julius AI vs ChatGPT for Excel comparison covers that choice. If the checked survey results later need slides, continue with our Excel-to-PowerPoint workflow guide.

Try the documented workflow

Start with the reference survey

Import the CSV and dictionary, confirm the counting rules, then compare the returned table with the answer key.

Sources and method

Official product and survey-export documentation checked October 29, 2026. This is a documentary guide, not a hands-on Julius test. The fictional data, proposed prompts, counting rules and expected results were created for this article. Reference arithmetic was checked independently against the supplied response records.

Julius: the documented file and export workflow

Export structure and response definitions

Cross-tabs and percentage bases

Product access and documentation can change. Use the linked source for the capability it documents and the reference files for this example’s arithmetic.