Cross-tabulation analysis counts observations across combinations of categorical values and displays the results in a contingency table. For example, a support team could compare ticket channel with resolution status to see how many email, chat, and web-form tickets are resolved or pending.
The table describes a distribution. It does not, by itself, explain why the pattern exists. To make the result trustworthy, define what counts as one observation, build the count table, label every percentage by its denominator, and decide whether the question is descriptive or requires a statistical test.
The ticket figures in this guide are hypothetical illustrations, not measured service results.
What cross-tabulation analysis shows
A cross-tabulation, also called a contingency table, summarizes the joint distribution of two or more categorical variables. One variable usually defines the rows and another defines the columns. Each cell reports the number of observations in that category combination.
Use it when the question concerns how categories occur together, such as whether resolution status varies across contact channels. A count table can reveal patterns worth investigating, but it cannot establish causation or prove that the variables are associated in a wider population. Penn State’s introductory guidance on chi-square tests distinguishes descriptive counts from formal testing.
Define the observation before building the table
The observation, or grain, is the unit counted once in the analysis: one ticket, one survey response, one customer, or another clearly specified record. A table can be numerically correct and still answer the wrong question if its rows represent inconsistent units.
Before counting, specify:
- Grain and identifier: For a ticket-level table, use one row per ticket and a stable, nonblank ticket ID.
- Duplicates and lifecycle events: Decide whether a reopened ticket remains one ticket or becomes a separate event, and whether duplicate imports are removed.
- Missing categories: Choose whether blank, unknown, and not-applicable values remain as explicit categories or are excluded. Record that decision.
- Multi-value fields: A task with two assignees may be counted once per task-assignee relationship. If the intended measure is unique tasks, deduplicate to task level or use a single-valued category.
Microsoft recommends clean tabular source data with a single header row and unique, nonblank column labels for PivotTables. Its PivotTable preparation guidance is a useful source-data check.
A cross-tabulation is only as meaningful as the unit it counts. Write the grain and duplicate rule down before opening Excel.
Build a cross-tabulation in Excel with a PivotTable
Start with a worksheet where each row is one eligible observation and each column is one field. For example, a ticket dataset might contain ticket_id, channel, and resolution_status. Keep category values consistent, such as using “Web form” everywhere rather than mixing “Web form” and “Webform.”
In Excel, select the source data and choose Insert > PivotTable. Put channel in Rows, resolution_status in Columns, and the nonblank ticket_id in Values. Set the Values summary to Count. Excel Count counts nonempty values in the selected field, so a field containing blanks can undercount observations. Counting a stable ID avoids that particular problem; it does not automatically deduplicate repeated IDs.
Microsoft documents the available PivotTable summaries, including Count, in its guidance on summarizing values in a PivotTable. If you add rows to the source, refresh the PivotTable before sharing the result.
Read counts and percentages using the right denominator
Here is an illustrative count table for 75 support tickets. Each ticket is counted once.
| Channel | Resolved | Pending | Total |
|---|---|---|---|
| 18 | 6 | 24 | |
| Chat | 21 | 9 | 30 |
| Web form | 12 | 9 | 21 |
| Total | 51 | 24 | 75 |
Different denominators answer different questions:
- Row percentage: What share of tickets within a channel were resolved? For chat, 21 of 30 were resolved, so 21/30 = 70%. Email is 18/24 = 75%; web form is 12/21, or about 57%.
- Column percentage: What share of resolved tickets came from each channel? Chat accounts for 21 of 51 resolved tickets, or about 41%.
- Grand-total percentage: What share of all tickets falls in one cell? Resolved chat tickets are 21/75, or 28% of all tickets.
Always state the numerator and denominator. “Chat is 70%” is ambiguous; “70% of chat tickets were resolved” identifies the row denominator.
The chat cell is 21 in both calculations, but 21/30 gives the chat resolution rate, while 21/51 gives chat’s share of all resolved tickets. Select the denominator based on the question, then name it in the report.
When to use a chi-square test and what it cannot tell you
A cross-tabulation reports observed counts. A chi-square test of independence asks whether those counts are consistent with the assumption that two categorical variables are independent, given the study design and the test’s assumptions. The null hypothesis is independence; the alternative is that the variables are associated.
Check the sampling design and expected cell frequencies before using the usual chi-square approximation. Sparse expected counts can make that approximation unreliable. Depending on the analysis, a substantively defensible category combination or an appropriate exact or simulation-based method may be preferable. Do not combine categories only to obtain a desired result.
A p-value is not the probability that the null hypothesis is true, a measure of effect size, or a measure of practical importance. A threshold such as 0.05 is a convention to choose in context, not a universal definition of a meaningful result. Report the table and sample size, explain the assumptions and method, and describe the practical size of the difference. The American Statistical Association’s p-value statement explains common interpretation errors.
For statistical, clinical, regulated, or otherwise complex analyses, ask a qualified statistician to review the design and interpretation.
Use ClickUp for operational grouping, not as a statistical test
ClickUp can group tasks in supported views by fields such as Status, Priority, Assignee, Tags, and some Custom Fields. That makes a List or Table view useful for operational inspection, but a grouped view is not necessarily a normalized contingency table and does not itself perform a chi-square test. See ClickUp’s current documentation for grouping in views and Custom Field types and availability.
For consistent categories, use a controlled field such as a Dropdown where it fits the workflow. Decide whether a task or a relationship is the observation. A task with multiple assignees or labels can appear in more than one group, so visual group totals may exceed unique task counts.
Inspect current work in ClickUp
Group and filter tasks to monitor work by supported fields. Check the included tasks, subtasks, filters, and multi-value behavior before treating a displayed count as a unique-task total. Dashboard card availability varies by plan and role.
Build counts in Excel or a statistical tool
Export the relevant task data, verify the fields and filters, then count observations in a PivotTable or suitable analysis tool. Use a statistical test only when the question and assumptions support inference.
ClickUp documents exporting List and Table views to CSV or Excel, subject to conditions including permissions and the treatment of collapsed groups. It also documents task-data CSV export as a separate route. Verify which columns and Custom Fields are present instead of assuming the export contains every field or preserves a grouped view as a ready-made matrix. Start with the current guidance for exporting List and Table views and exporting task data. For help structuring operational fields and views, see ClickUp consulting.
For a repeatable export-to-analysis workflow, record the source view, filters, fields, and export time. Then build the PivotTable in Excel and retain the source file with the analysis. This is a sequence of separate ClickUp and Excel capabilities, not a one-click statistical integration.
A short quality check before sharing results
For a one-off analysis, retain the source file and a note of the filters and denominators. For a recurring report, preserve a source snapshot or run identifier so another analyst can trace which records were counted.
- Confirm the observation grain, stable ID, duplicate rule, and missing-value policy.
- Check that category labels and codes are consistent.
- Reconcile the grand total with eligible source records after filters.
- Verify that the PivotTable was refreshed and each percentage has a named denominator.
- Record the source system or view, filters, included fields, and export timestamp.
- For recurring automated results, retain the calculation version and use a database-enforced unique key or transactional upsert to prevent duplicate writes under concurrent runs.
Counting known, controlled categories is deterministic work, so formulas and PivotTables are usually simpler and more auditable than AI. If free text must be classified, define an allowed category list and validate every output against it before counting. Keep uncertain or conflicting classifications for human review rather than silently turning generated labels into source facts.
If a result is written back to a work-management or CRM system, retain its source snapshot and calculation version. A proposed persistence design should use a uniqueness key covering the source snapshot, observation grain, row and column dimensions, category values, and calculation version. Do not rely on a lookup-then-create sequence when concurrent runs could create duplicates. Teams designing a repeatable operational workflow can explore ClickUp setup and automations.
