> ## Documentation Index
> Fetch the complete documentation index at: https://support.deepfield-ai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build a crosstab

> Cross a row variable with one or more column variables and interpret bases, percentages, and significance markers.

A crosstab places one variable in rows and compares it across defined columns. Build it from **Charts → New chart → Table** by adding a breakdown.

<Frame caption="This synthetic crosstab shows raw bases of 89 and 88, with colour and letter markers.">
  <img src="https://mintcdn.com/deepfieldai/dK8nllvOe0f0oG_-/images/analysis/significance-results.png?fit=max&auto=format&n=dK8nllvOe0f0oG_-&q=85&s=45ea39ae09c0018d3ad9274b3342286d" alt="This synthetic crosstab shows raw bases of 89 and 88, with colour and letter markers." width="1440" height="900" data-path="images/analysis/significance-results.png" />
</Frame>

## Before you start

Define the row measure and comparison groups. Check that eligible responses exist in the groups you intend to test.

## Build the table

<Steps>
  <Step title="Choose the row variable">
    Under **Question**, select the measure whose answers should appear down the table.
  </Step>

  <Step title="Select Table">
    Under **Display as**, choose **Table**.
  </Step>

  <Step title="Add the first column variable">
    Under **Break down by**, choose the segment or question that should form the columns. Column letters and bases appear in the preview.
  </Step>

  <Step title="Configure and save">
    Select the required cells, summary rows, significance settings, title, and weighting, then select **Save to charts**.
  </Step>
</Steps>

The row variable and every column variable must be distinct.

## Add or nest columns

Additional breakdowns create independent column groups, each with its own letters and statistical result. With exactly two column variables, **Nest the two questions** crosses them into combined columns such as region within age.

Nesting supports one additional variable. Remove nesting before adding more independent groups.

## Choose the values shown in cells

**Cells** controls the stacked values:

| Value               | Denominator or meaning                           |
| ------------------- | ------------------------------------------------ |
| **Count**           | Respondents represented in the cell              |
| **Column %**        | Cell divided by its column base                  |
| **Row %**           | Cell divided by the total for that row           |
| Confidence interval | Range at the selected confidence level           |
| Column letters      | Pairwise significant differences between columns |

Weighted counts can contain decimals because they are weighted sums rather than respondent headcounts.

## Add base and summary rows

**Additional rows** can include unweighted and weighted bases. Numeric row variables can also show mean, standard deviation, median, minimum, and maximum. Multi-select rows can show the mean number of answers.

Statistical tests use unweighted bases even when the displayed result is weighted.

## Read significance markers

The table uses two separate comparisons:

| Marker                              | Comparison                                                                  |
| ----------------------------------- | --------------------------------------------------------------------------- |
| **Significant cells** color         | A column's percentage compared with the overall percentage for the same row |
| **Column proportions test** letters | One column compared directly with another column in the same group          |

A letter names the column with the lower result. For example, B in column A means A is significantly higher than B at the indicated confidence level. Uppercase represents the primary level; lowercase represents the secondary level.

Open **Legend** beneath the table whenever a marker needs interpretation. Each independent column group has its own comparisons.

## Configure statistical settings

| Setting                  | Result                                                                           |
| ------------------------ | -------------------------------------------------------------------------------- |
| **Primary confidence**   | Sets the main 90%, 95%, or 99% threshold.                                        |
| **Secondary level**      | Adds a looser second level when enabled.                                         |
| **Chi-square test**      | Reports the group-level chi-square result and warns about small expected counts. |
| **Fisher's exact test**  | Provides an exact result suitable for small tables where available.              |
| **Confidence intervals** | Adds a range beneath selected percentages.                                       |
| **Heatmap**              | Shades relative counts by row or column without performing a test.               |

Heatmap and significance-cell coloring both use the cell background, so enabling significance coloring disables the heatmap.

## Check the base before reading a marker

| Unweighted column base | Display and test behavior                                |
| ---------------------- | -------------------------------------------------------- |
| 100 or more            | Displayed normally and eligible for tests                |
| 30–99                  | Displayed in parentheses, tested, and marked for caution |
| Below 30               | Displayed with `**` and excluded from significance tests |

A large percentage difference in a column below 30 is not tested. Widen the column definition, group compatible options, or describe the result as directional.

## Group or hide categories

Open the gear beside the row or column variable.

* **Hide** removes an option from the table but keeps it available to restore.
* **Group selected** combines selected options under a new label.
* **Keep the detail rows (net)** adds a grouped net while retaining its component rows.
* **Ungroup** returns the options to separate rows or columns.

## Generate several crosstabs

Use **Bulk generate**, choose the crosstab or table output, select the columns and row variables, then choose shared filters, weighting, and destination folder. The selected column order determines the group order in each table.

The dialog reports the number of tables before generation. Open-text and unsupported rows are omitted.

## Troubleshooting

<AccordionGroup>
  <Accordion title="No cells are marked significant">
    Expand Legend and read the note below the table. The table may have no eligible bases, too few rows or columns, or completed tests with no result at the selected levels.
  </Accordion>

  <Accordion title="A column has values but no markers">
    Check its unweighted base. A base below 30 is shown with `**` and is not tested.
  </Accordion>

  <Accordion title="A variable is missing">
    The questionnaire changed after the chart was saved. Reopen the chart, replace the missing variable, and save the current specification.
  </Accordion>

  <Accordion title="The crosstab is absent from PowerPoint">
    PowerPoint includes a crosstab as an editable table when the crosstab is on a slide of the saved deck you download. A long table continues across several slides, so check the continuation slides. Use the Charts Excel export when you need the complete grid and its statistical lines.
  </Accordion>
</AccordionGroup>

## Check the result

Reopen the saved table, read its legend, and compare raw bases with the requested groups. In the Excel export, check the numeric cells, separate significance columns, and statistical lines.

To prepare several tables with different comparisons for each question, use the [analysis plan](/analysis/analysis-plan). Its plan folder holds at most one crosstab per question, with **Significant cells** coloring and column letters at a 95% primary level. It keeps only the comparisons in which a column with an unweighted base of 30 or more has a significant cell, so a small study can have no plan crosstabs. When a planned comparison is absent, build the table here to read it in full.

## Related

* [Interpret significance](/analysis/reading-significance)
* [Build and organize charts](/analysis/charts-library)
* [Create and apply weighting](/analysis/weighting)
* [Export results](/analysis/exports)
