You can find trends and patterns in your data by creating ordered crosstabs (cross tabulations) in Snap. This is a quick way of analysing banded or coded variables. (Don’t use it for quantity or open responses as it uses number of responses rather than values.)

Crosstabs are also known as contingency tables (or pivot tables). This worksheet shows you how to produce them, order them and display them as charts.

bar_xtab_items_age

It also shows how to create crosstabs for all relevant questions in your survey with a single instruction.

Background

A crosstab is a table where the analysis field gives the rows and the break field gives the columns (this can be reversed by selecting the Transpose option).

xtab_ab

The data in each cell show the figure for the respondents who fit into both the column and the row. The type and order of data displayed is given by the Show options.

xtab_data

You can order the rows by:

  • the order the codes appear in the questionnaire. You would use this for rating scales. This is the default order.
  • alphabetical order by label.
  • popularity (sorted by quantity of responses)
  • statistics you have included

See more ↓Hide this content ↑

Creating a simple crosstab

This example shows how to break down responses by gender. (It uses data in the crocodile survey supplied with Snap.)

  1. Click table to display the Analysis Definition dialog.
  2. Type Q9 into the Analysis field (the age variable)
  3. Press [OK] to build a simple table of the ages of your respondents.

    croc_age_q9

  4. Click var_prop on the top left of the table window toolbar to display the Analysis Definition dialog.
  5. Type Q10 into the Break field (the gender variable)
  6. Press [Apply]. The table will be updated with the values of Q9 as the row labels on the left-hand side of the table and the values of Q10 as the column labels across the top of the table.

    xtab_age_gend

  7. Go back to the Analysis Definition dialog and check Break Percents, which shows each answer as a percentage of the column totals for the break variable (Q10).

    def_bk_pc_hl

  8. Click [Apply] to update your table. You can see that 8% of male respondents were over fifty-five.

    xtab_age_gend_bkpc

  9. Click save to save the table.

Show example ↓Hide this content ↑

Creating an ordered crosstab

This example shows how to set out data so it’s easy to see which choices were most popular. The analysis shows which items were ordered (with a breakdown by age), and sorts them according to popularity.

  1. Click table to display the Analysis Definition dialog.
  2. Type Q4 into the Analysis field (the food ordered)
  3. Type Q9 into the Break field (the age variable)
  4. Press [OK]. You will see a crosstab with the values of Q4 as the row labels on the left-hand side of the table and the values of Q9 as the column labels across the top of the table.

    xtab_items_age

The default row order is the order that the items were listed in the questionnaire. To make it easy to see which choice was the most popular, you can order the rows by the analysis value

  1. Click var_prop on the table toolbar to open the Analysis Definition dialog again.

    def_order_hl

  2. Select Analysis Base in the drop-down list for Order by and click [Apply]. Your table will update, with the rows sorted according to the number of responses. You can see that the French fries row has moved to the top.

    xtab_items_age_or

  3. To save the table click save.

You can easily display your data in chart form. Open the Analysis Definition dialog and change the Type to Chart. The example below shows it with a style of Horizontal Bar Counts. You can see that the items ordered have been sorted by the Analysis base, with the most popular at the top.

bar_xtab_items_age

Show example ↓Hide this content ↑

Quickly building multiple crosstabs in a report

You can create a report of separate crosstabs using the same break (for example, break all the responses down by age or gender or both) with a single instruction in a report. The example below breaks down the questions in the crocodile report by age.

  1. Click batch to display the Reports window.
  2. Click add to create a new report. Set the labels to a description of your report and select Skip Empty to omit any empty analyses.

    rep_xtab11

  3. Click add to create a new instruction and select Table in the Instruction List to display a Report instruction dialog.
  4. Complete the fields in the Definition tab:

    Analysis: Q2,Q4,Q6a TO Q6e

    Break: Q9

    Set the Order by dropdown to Default. Ordering is not appropriate for rating scales.

    The instruction will generate one crosstab for each question that you put in the analysis field. Literal, date and quantity questions have been excluded.

  5. Click [OK] to save the instruction.
  6. Click run on the Report window toolbar to open the Report execution dialog. (You will be asked if you want to save the report. Click [Yes].)
  7. Click [Printer] to choose a printer to send the report to. (Send it to a pdf printer driver or the XPS document writer to see your report as a file).
  8. Click [OK] to run the report and create the set of crosstabs.

Show example ↓Hide this content ↑

Producing crosstabs filtered by demographic

You can also break down the data in your tables by using filters. This example shows how to produce a set of age tables for males and a set of age tables for females.

  1. Create a new report or duplicate the one you created in the previous step.
  2. Change the label of your new report to Analysis of all questions by age filtered by gender.
  3. Double-click Table in the Instruction List to display the Report instruction dialog.
  4. Enter Q10 (gender) in the filter field.

    ta_in_filt_gen

  5. Click [OK] to save the instruction.
  6. Click run to open the Report execution dialog. (You will be asked if you want to save the report. Click [Yes].)
  7. Click [OK] to run the report and create the set of crosstabs.
  8. You will have two versions of all the question tables, one for males and one for females.

    You can convert all the tables to charts by changing the instruction type and style.

Show example ↓Hide this content ↑

Further reading

You can see more about analysis in the section Analyzing your case data.

Learn more about analyzing results in Snap on our Analysing Results course (https://www.snapsurveys.com/training/course-outline-analysing-survey-results/)

You can find out about styling your tables in the help section: Table appearance

If there is a topic you would like a worksheet on, email to snapideas@snapsurveys.com