Matrix Table
Build expandable tables, explore grouped data, and export Matrix results to CSV or PDF.
A Matrix table summarizes measures across row and column groups. Use it to compare categories, expand into more detail, and show subtotals and grand totals without loading the entire table at once.
For example, compare Sales and Profit by Region, then expand a region to see its Cities, with Product Category across the columns.
Build a Matrix table
Select the Matrix table visual in the editor, then drag fields into the shelves beside the preview:
| Shelf | What to add | Example |
|---|---|---|
| Rows | Fields to group down the table, from broadest to most detailed | Region, then City |
| Pivot Columns | Fields to group across the table | Product Category |
| Metrics | Values to summarize | Sum of Sales, Sum of Profit |
The order of fields in each shelf determines the hierarchy. Open a field's settings to adjust options such as its label, aggregation, or date grouping. Configure row and column totals to show the summaries your readers need.
Use filters to narrow the data included in the table. For example, select a date range before comparing sales across regions.
Explore the table
Expand a row or column group to see the next level of detail, and collapse it to return to the summary. Scroll to explore additional rows and columns. Semaphor loads more data as needed, so the portion currently visible is not the entire result.
There is no fixed total row or column count for browsing. The amount you can explore depends on the complexity of the table and the performance of its data source. This does not mean every Matrix can be exported as one file: exports have separate limits.
Viewing and copying limits
| Item | Limit |
|---|---|
| Row hierarchy | 8 levels |
| Column hierarchy | 8 levels |
| Measures | 16 |
| Copy selection | 10,000 cells and 1 MiB of text, whichever is reached first |
Region > Country > City uses three row levels, regardless of how many cities exist. Similarly, a column field with many categories still uses only one level.
Wait for selected cells to finish loading before copying. For larger selections, use an export instead.
Export your Matrix
Open the visual's export options and choose the content to include. Available options depend on the visual's download permissions.
| Content option | What it includes | Formats |
|---|---|---|
| Matrix layout: Current expansion | The table with your current groups expanded or collapsed, including matching rows beyond the visible screen | CSV, PDF |
| Matrix layout: All detail levels | The table expanded through all row and column detail levels | CSV, PDF |
| Flat aggregate CSV | Grouped values at the most detailed row and column levels, with each grouping field in a separate column | CSV |
Current expansion or all detail levels
Choose Current expansion to preserve which groups are open or closed. This is not a screenshot or a download of only the cells already loaded in your browser. Semaphor retrieves the data needed for the selected expansion.
Choose All detail levels when you need the full expanded hierarchy. Both layout options respect the table's filters, ranking settings, and configured totals. CSV preserves the row and column arrangement; PDF is suited to sharing a formatted report.
Flat aggregate CSV
Choose Flat aggregate CSV to work with grouped results in a spreadsheet or another analysis tool. For example, a row can contain Region, City, Product Category, Sales, and Profit rather than spreading categories across the page.
Flat exports do not include subtotal rows, grand-total rows, or an Others summary. They contain aggregated results, not the underlying individual source records.
Excel (.xlsx) export is not currently available for Matrix tables. You can
open a CSV file in Excel or another spreadsheet application. Flat export is not
available as PDF.
Export limits
These limits apply to the requested export, not just the rows currently visible on screen. The first applicable limit reached determines how much fits in one export.
| Export | Maximum rows | Maximum cells | Maximum file size |
|---|---|---|---|
| Matrix layout CSV | 1,000,000 | 5,000,000 | 1 GiB |
| Flat aggregate CSV | 1,000,000 | No separate total-cell limit | 1 GiB |
| Matrix PDF | 5,000 | Subject to the formatted-data limit below | 50 MiB |
For layout CSV, the cell count includes row-label columns, the header row, totals, and blank cells, not just populated measures. For example, an export with 50 columns can contain at most 99,999 data rows plus its header before reaching the 5,000,000-cell limit. Displayed totals also count toward the row limit.
PDF exports are additionally limited to 100 pages and 2.5 MiB of formatted table data used to create the document. Long text, many columns, or extensive formatting can reach this data limit before the row or page limit. Wide tables that span multiple pages also use more of the page allowance. The formatted-data limit is separate from the final PDF file size.
For reference, 1 GiB is 1,024 MiB; 1 MiB is 1,048,576 bytes.
Export time
CSV exports run in the background and have a maximum duration of 30 minutes. You can have up to three background exports in progress at a time. PDF data preparation has a maximum duration of 4 minutes 30 seconds, before the document is rendered.
These are maximums, not guaranteed completion times or capacities. Complex queries and very wide or text-heavy tables can reach processing limits earlier. An export that exceeds a limit fails rather than returning a successful download with silently omitted rows.
If an export is too large
- Narrow the date range or add filters to reduce the data included.
- Remove unnecessary column groups or measures.
- Choose Current expansion instead of All detail levels when summaries are sufficient.
- Use CSV instead of PDF for larger results, or Flat aggregate CSV when you do not need the expanded table layout.
- Divide the export into smaller, non-overlapping date ranges or categories.
Retrying the same export does not raise its limits. If the table reports a temporary loading error, retry after the data source recovers; if it reports that an export is too large, reduce the requested content first.