---
sourceDocument: Zurich Platform Analytics
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/now-intelligence

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich Platform Analytics

ft:clusterId :

    - par

bundleId :

    - par

workflow :

    - Platform


---

# Multilevel pivot tables

# Multilevel pivot tables {#ariaid-title1}

* Release version: Zurich
* 
* Updated July 31, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 16 minutes to read

Multilevel pivot tables display aggregate data broken down by
multiple dimensions in a single table. They display separate cells for each row and column value
combination, as well as a column subtotal for each first-level row. Aggregate information is
presented in the top left of the chart.

You can also create multilevel pivot tables with columns and rows containing variables. See
[Use service catalog variables in a report](https://www.servicenow.com/docs/e86m8~QIV6nrp7ePk6kmYA "In reports on service catalog data, stack and group by variables, use variables as columns in list reports, and as columns and rows in multilevel pivot tables.").

You can expand and collapse the rows in the table to show the chart details, or only the
subtotals. The top row of a multilevel pivot report is always visible.  
Note:  
* This topic refers to Reporting in the Core UI. For instances migrated to Platform Analytics experience and new Zurich instances, see [Create a pivot table data visualization in the Visualization Designer](https://www.servicenow.com/docs/NhuoOS7Ox4kZMjtcZPtNoQ "Create a pivot table visualization to summarize large data sets by breaking them down by multiple dimensions in a single table. Cells show each row and column value combination and can also show subtotals.").
* Some row configurations prevent the chart from displaying subtotal information, such as when a string column has the same text value but with different character cases.
* You can only schedule this report type as a PDF.
Figure 1. Multilevel pivot with subtotals and expanded rows

## Create a multilevel pivot report {#ariaid-title2}

Create a multilevel pivot report to display aggregate data broken down by multiple
metrics in a single table.

### Before you begin

Role required: itil, report_user, report_group, report_global, report_admin, or admin. To create a meaningful report, you must have the right to access the data you want to report on. {#t_CreateAMultilevelPivot__ph_report-role-required}  
Note:  
On net new Zurich instances, only users with the report_admin role can create reports. To visualization your information in these instances, see [Creating data visualizations](https://www.servicenow.com/docs/up1j4CXuKyF7nvcq1lKkvw "See how to create data visualizations using different data sources.").

### Procedure

1. Perform one of the following actions:
   * On an upgraded instance that has not been fully migrated to Platform Analytics, navigate to AllReportsCreate New.
   * On a new instance or one that has been fully migrated to Platform Analytics, navigate to AllPlatform Analytics AdministrationUsage and governanceReports and select New.
   {#t_CreateAMultilevelPivot__choices_wjj_z4z_42c}
2. On instances with Unified Analytics enabled, and on new Zurich instances, both Core UI reports and Platform Analytics experience data visualizations are found in the Platform Analytics library. Navigate to AllPlatform AnalyticsLibraryData Visualizations and select New. For more information, see [Differences between Core UI and Platform Analytics dashboards](https://www.servicenow.com/docs/LJKxkWoKGvgBKag3UZTHyQ "When the unified analytics property is enabled, Core UI dashboards and dashboards in Platform Analytics can coexist in your instance. Use this reference to distinguish between them.").
3. On the Data tab, give the report a name that reflects the information being grouped.
4. Select the applicable source for the report.

   | Option | Description |
   | Data source | Also called a report source, a data source is a table with filters applied to provide a single source of information for all users. For more information, see [Report sources](https://www.servicenow.com/docs/LOVLFgWYEJppbrPEAWILSg#c_ReportSources "Report sources are predefined data sets for creating reports."). Note: If you select a data source used by existing reports, a notification prompts you to view them. |
   | Table | The raw data from a table with no filters applied. When you select a table, its short description appears below the table name. For trend reporting, you can also select a remote table, which aggregates, in memory, data retrieved from an external source. Then select a Trend by field option to aggregate its data. To learn more about remote tables, see [Retrieving external data using remote tables and scripts](https://www.servicenow.com/docs/access?context=remote-tables&version=zurich&pubname=zurich-servicenow-platform&ft:locale=en-US) |
   | External import | Choose an existing imported report source, or select the Upload icon (![Upload icon]()) to import a new file. See [Create a Core UI report from an imported Microsoft Excel document](https://www.servicenow.com/docs/YNtrbqPP7cWE5LKhsprOtA "You can import Excel spreadsheets (.xlsx files) of data maintained outside of your instance and create reports from those files."). |
   | MetricBase | MetricBase enables you to collect, retain, analyze, and visualize custom time series data on the ServiceNow AI Platform. For more information, see [MetricBase](https://www.servicenow.com/docs/access?context=metricbase&version=zurich&pubname=zurich-servicenow-platform&ft:locale=en-US). |
   |-|-|

   {#t_CreateAMultilevelPivot__choicetable_t31_tst_1x}
5. Select Next.
6. On the Type tab, enter Multi-level pivot table in the filter, select the report type, and click Next.  
   The application
   shows a preliminary version of the report. To view the updated report at any
   time, select Run.
7. On the Configure tab, fill in the following fields and select Next.  
   {#t_CreateAMultilevelPivot__table_b1w_sh4_bs__entry__2}

   | Field | Description |
   |-|-|
   | Select columns | One or more fields to use as chart columns. The chart displays data broken down by a combination of row and column values. You can select up to three columns. Click the info icon (![Info icon]()) for descriptions of the selected fields Note: It is not possible to group by the Tags field. |
   | Select rows | One or more fields to use as chart rows. The chart displays data broken down by a combination of row and column values. You can select up to five rows. Click the info icon (![Info icon]()) for descriptions of the selected fields Note: The Tags field is not supported for multilevel pivot reports. |
   | Configure function field | Configure fields based on calculation of multiple inputs including arithmetic functions. For more information, see [Report on function fields](https://www.servicenow.com/docs/AvmGp5gQQI1jEa5Fivh8Zg "While regular fields store a value in the database, a function field displays the results of a database query. The function field generates the value based on computations of other fields and constants. You can use these fields in reports and data visualizations as you would other fields."). Function field results are calculated when the report is run. You can use the results for aggregations and grouping. You have to save the report before you can configure function fields. Configured function fields appear in the Group by and Additional group by lists after you save the report. |
   | Aggregation | Mathematical calculation to perform on the data. The default is Count, which shows the number of records selected. To show only unique records, select Count Distinct. Select Average, Sum, or Count Distinct, to show a list of fields from the selected Table. Select a field to Aggregate by from this list.{#t_CreateAMultilevelPivot__p_dk1_2xw_mbb} If you group the report by a field and select an Average aggregate, you get the average of each group. If a Total value is shown, it is the average of these group averages, not of the individual field values. Select Minimum or Maximum to show the maximum or minimum value for each segment of the report. For more information on aggregation options, see [Aggregation in reporting](https://www.servicenow.com/docs/23J1Zt7TuEJjwe8DPZxUrQ "Aggregation enables you to apply calculations to data displayed in reports."). If you choose Average,Sum, Count Distinct, Minimum, or Maximum, you may be able to aggregate on fields from extended tables. See [How to report on extended tables](https://www.servicenow.com/docs/_~jQ~GGMjAse8EXdJ8FrjA#t_AccessFieldExtendedTable "Learn how to include fields from tables that extend the Task table in a single report. For example, you could include both incidents and problems in a single report."). For information about aggregating on FX currency values, see [FX Currency values in reporting](https://www.servicenow.com/docs/GNAcq8M49eY_NBbsm4SwlQ#fx-currency-values-reporting "Manage projects in multiple currencies with FX (Foreign Exchange) Currency. You can report on the projects in currency values entered by the user, a reference currency, or both."). |
   | Set Value Formatting | Enables you to configure how to show numerical values in reports, including decimal precision, rounding, minimum and maximum duration units, and abbreviations for duration units. See [Value formatting in reports](https://www.servicenow.com/docs/pwtppjLjSf_qJesz8Y343A#value-formatting-reports "In most reports, you can configure how numerical values look when you publish the report."). Note: Decimal precision does not work on currency fields. |
   | Max number of groups | Maximum number of groups that the Group by condition returns. The groups with highest values are shown first. Any groups beyond the limit are combined into the single group Other. If you select Show all, all groups up to a limit of 50 are displayed. The rest of the results are grouped as Other. |
   | Show Other | Check box to include the Other group in the report. The Other group contains data for all groups that exceed the number specified in Max number of groups. |
   [Table 1. Configure tab]

   {#t_CreateAMultilevelPivot__table_b1w_sh4_bs}  
   Note:  
   Currency fields default to two decimal places. With the Set Value Formatting option, you can configure decimal precision for 0-4 decimal places.
8. **Optional:** Select Default expanded to display the report with the rows expanded.  
   Otherwise, the report will display with all rows collapsed. Figure 2. Multilevel pivot report with collapsed and expanded rows
9. **Optional:** Check Display row lines and Display column lines to show the lines that separate the cells in the report.  
10. **Optional:** Configure the sort order of the applicable fields in the report (column, row, Group by, Stack by or Trend by depending on the report type).  
    Select the filter icon (![Filter icon for lists]()) and choose Add Sort.
    1. In the Sorting Order list, choose the field you want to sort on and then choose a-z or z-a for alphabetical order or reverse alphabetical order.

       The list contains all
       possible fields from the report's source and fields on extended, or related, tables. The only effective values, however, are the fields chosen for the current report (column, row, Group by, Stack by, or Trend by
       depending on the report type).  
       Note:  
       On fields from dot-walked (extended) tables, you can only sort on date fields.
    2. Select the sort plus icon (![Sort plus icon]()) to configure additional sorting order conditions. (Select the sort minus icon ( ![Sort minus icon]()) to delete configured sorting order conditions.)
    3. Select Save.

    {#t_CreateAMultilevelPivot__ol_ebr_c1k_gy}

    For fields of the type Choice list, sort order is not determined alphabetically based on Label, it is sorted based on the Value of the choice field. For multi-level pivot table and heatmap reports,
    sort order is determined by the sequence of the choices in the list.  
11. **Optional:** To limit the information displayed in the report, select the filter icon (![Filter icon]()) and specify conditions to filter the report data.  
    To learn how to construct conditions, see [Condition builder](https://www.servicenow.com/docs/access?context=c_ConditionBuilder&version=zurich&pubname=zurich-platform-user-interface&ft:locale=en-US).  
    Note:  
    In aggregated and list reports, language-dependent filter conditions may return zero results on localized instances.
12. On the Style tab, fill in the fields as appropriate to configure the appearance of the report.
13. Select Save to continue editing the visualization, or Save and close to return to the Analytics Center main screen.
{#t_CreateAMultilevelPivot__steps_tbs_4h4_bs}

### What to do next

* Select the Report info icon (![Info icon]()) and add a description of the report.
* Select the sharing icon (![Sharing icon]()) to open the Sharing menu. On this menu, you can add the report to a dashboard, export the report to PDF, publish the report to the web, and set visibility and schedules. {#t_CreateAMultilevelPivot__ph_ejl_dgy_wy}
* Search the [Community](https://community.servicenow.com/community?id=community_search&forums=b5291a2ddbd897c068c1fb651f9619e2&q=multilevel) site for more insight or help with multi-level pivot reports.
{#t_CreateAMultilevelPivot__ul_wm3_4wg_4y}

## Create a multilevel pivot report with variable columns and rows {#ariaid-title3}

You can create a multilevel pivot report with variables columns and rows based on a
data source or table that has variables associated with it. Variables are descriptions of
catalog items.

### Before you begin

Roles required: itil, report_user, report_group, report_global, report_admin, or admin. To create a meaningful report, you must have the right to access the data you want to report on.

### Procedure

1. Perform one of the following actions:
   * On an upgraded instance that has not been fully migrated to Platform Analytics, navigate to AllReportsCreate New.
   * On a new instance or one that has been fully migrated to Platform Analytics, navigate to AllPlatform Analytics AdministrationUsage and governanceReports and select New.
   {#create-multipivot-rep-with-var-col-row__choices_wjj_z4z_42c}
2. On the Data tab, give the report a name that reflects the information being grouped.
3. Select the applicable source for the report.

   | Option | Description |
   | Data source | Also called a report source, a data source is a table with filters applied to provide a single source of information for all users. For more information, see [Report sources](https://www.servicenow.com/docs/LOVLFgWYEJppbrPEAWILSg#c_ReportSources "Report sources are predefined data sets for creating reports."). Note: If you select a data source used by existing reports, a notification prompts you to view them. |
   | Table | The raw data from a table with no filters applied. When you select a table, its short description appears below the table name. For trend reporting, you can also select a remote table, which aggregates, in memory, data retrieved from an external source. Then select a Trend by field option to aggregate its data. To learn more about remote tables, see [Retrieving external data using remote tables and scripts](https://www.servicenow.com/docs/access?context=remote-tables&version=zurich&pubname=zurich-servicenow-platform&ft:locale=en-US) |
   | External import | Choose an existing imported report source, or select the Upload icon (![Upload icon]()) to import a new file. See [Create a Core UI report from an imported Microsoft Excel document](https://www.servicenow.com/docs/YNtrbqPP7cWE5LKhsprOtA "You can import Excel spreadsheets (.xlsx files) of data maintained outside of your instance and create reports from those files."). |
   | MetricBase | MetricBase enables you to collect, retain, analyze, and visualize custom time series data on the ServiceNow AI Platform. For more information, see [MetricBase](https://www.servicenow.com/docs/access?context=metricbase&version=zurich&pubname=zurich-servicenow-platform&ft:locale=en-US). |
   |-|-|

   {#create-multipivot-rep-with-var-col-row__choicetable_t31_tst_1x}
4. Select Next.
5. On the Type tab, enter Multi-level pivot table in the filter, select the report type, and click Next.  
   The application
   shows a preliminary version of the report. To view the updated report at any
   time, select Run.
6. On the Configure tab, click Select columns.  
   From the Available list in the Multilevel Pivot Columns window, select columns that you want to use in the report and move them to the Selected list.  
   Note:  
   It is not possible to group or stack reports by the Tags field, or by certain field types, such as MEDIUMTEXT.

   Depending on system configuration, you can add fields from tables that extend
   the table selected as the report data source. For more information, see
   [Report on extended tables](https://www.servicenow.com/docs/_~jQ~GGMjAse8EXdJ8FrjA#t_AccessFieldExtendedTable "Learn how to include fields from tables that extend the Task table in a single report. For example, you could include both incidents and problems in a single report.").
7. Select variables to use as columns:
   1. Select one or more fields to use as report columns.  
      The report visualization displays data broken down by a combination of row and column values. You can select up to three columns including the variables.
   2. Select Variables \[+\] and click the structure icon (![]()) to choose an item.  
   3. Select a Catalog item from the pop-up window.  
      The variables associated with the item appear in the Columns window.  
   4. Move the selected variables to the Selected column and click OK. Click the info icon (![Info icon]()) for descriptions of the selected fields
   {#create-multipivot-rep-with-var-col-row__substeps_rty_3yq_px}
8. Click Select rows to select one or more fields to use as report rows.  
   You select rows similarly to how you select columns. Click the info icon (![Info icon]()) for descriptions of the selected fields.
   The report visualization displays data broken down by a combination of row and column values. You can select up to five rows including the variables.  
   Note:  
   It is not possible to group or stack reports by the Tags field, or by certain field types, such as MEDIUMTEXT.
9. On the Configure tab, fill in the following fields and select Next.  
   {#create-multipivot-rep-with-var-col-row__table_b1w_sh4_bs__entry__2}

   | Field | Description |
   |-|-|
   | Configure function field | Configure fields based on calculation of multiple inputs including arithmetic functions. For more information, see [Report on function fields](https://www.servicenow.com/docs/AvmGp5gQQI1jEa5Fivh8Zg "While regular fields store a value in the database, a function field displays the results of a database query. The function field generates the value based on computations of other fields and constants. You can use these fields in reports and data visualizations as you would other fields."). Function field results are calculated when the report is run. You can use the results for aggregations and grouping. You have to save the report before you can configure function fields. Configured function fields appear in the Group by and Additional group by lists after you save the report. |
   | Aggregation | Mathematical calculation to perform on the data. The default is Count, which shows the number of records selected. To show only unique records, select Count Distinct. Select Average, Sum, or Count Distinct, to show a list of fields from the selected Table. Select a field to Aggregate by from this list.{#create-multipivot-rep-with-var-col-row__p_dk1_2xw_mbb} If you group the report by a field and select an Average aggregate, you get the average of each group. If a Total value is shown, it is the average of these group averages, not of the individual field values. Select Minimum or Maximum to show the maximum or minimum value for each segment of the report. For more information on aggregation options, see [Aggregation in reporting](https://www.servicenow.com/docs/23J1Zt7TuEJjwe8DPZxUrQ "Aggregation enables you to apply calculations to data displayed in reports."). If you choose Average,Sum, Count Distinct, Minimum, or Maximum, you may be able to aggregate on fields from extended tables. See [How to report on extended tables](https://www.servicenow.com/docs/_~jQ~GGMjAse8EXdJ8FrjA#t_AccessFieldExtendedTable "Learn how to include fields from tables that extend the Task table in a single report. For example, you could include both incidents and problems in a single report."). For information about aggregating on FX currency values, see [FX Currency values in reporting](https://www.servicenow.com/docs/GNAcq8M49eY_NBbsm4SwlQ#fx-currency-values-reporting "Manage projects in multiple currencies with FX (Foreign Exchange) Currency. You can report on the projects in currency values entered by the user, a reference currency, or both."). |
   | Set Value Formatting | Enables you to configure how to show numerical values in reports, including decimal precision, rounding, minimum and maximum duration units, and abbreviations for duration units. See [Value formatting in reports](https://www.servicenow.com/docs/pwtppjLjSf_qJesz8Y343A#value-formatting-reports "In most reports, you can configure how numerical values look when you publish the report."). Note: Decimal precision does not work on currency fields. |
   | Max number of groups | Maximum number of groups that the Group by condition returns. The groups with highest values are shown first. Any groups beyond the limit are combined into the single group Other. If you select Show all, all groups up to a limit of 50 are displayed. The rest of the results are grouped as Other. |
   | Show Other | Check box to include the Other group in the report. The Other group contains data for all groups that exceed the number specified in Max number of groups. |
   [Table 2. Configure tab]

   {#create-multipivot-rep-with-var-col-row__table_b1w_sh4_bs}  
   Note:  
   Currency fields default to two decimal places. With the Set Value Formatting option, you can configure decimal precision for 0-4 decimal places.
10. **Optional:** Check Display row lines and Display column lines to show the lines that separate the cells in the report.  
11. **Optional:** Configure the sort order of the applicable fields in the report (column, row, Group by, Stack by or Trend by depending on the report type).  
    Select the filter icon (![Filter icon for lists]()) and choose Add Sort.
    1. In the Sorting Order list, choose the field you want to sort on and then choose a-z or z-a for alphabetical order or reverse alphabetical order.

       The list contains all
       possible fields from the report's source and fields on extended, or related, tables. The only effective values, however, are the fields chosen for the current report (column, row, Group by, Stack by, or Trend by
       depending on the report type).  
       Note:  
       On fields from dot-walked (extended) tables, you can only sort on date fields.
    2. Select the sort plus icon (![Sort plus icon]()) to configure additional sorting order conditions. (Select the sort minus icon ( ![Sort minus icon]()) to delete configured sorting order conditions.)
    3. Select Save.

    {#create-multipivot-rep-with-var-col-row__ol_ebr_c1k_gy}

    For fields of the type Choice list, sort order is not determined alphabetically based on Label, it is sorted based on the Value of the choice field. For multi-level pivot table and heatmap reports,
    sort order is determined by the sequence of the choices in the list.  
12. **Optional:** To limit the information displayed in the report, select the filter icon (![Filter icon]()) and specify conditions to filter the report data.  
    To learn how to construct conditions, see [Condition builder](https://www.servicenow.com/docs/access?context=c_ConditionBuilder&version=zurich&pubname=zurich-platform-user-interface&ft:locale=en-US).  
    Note:  
    In aggregated and list reports, language-dependent filter conditions may return zero results on localized instances.
13. On the Style tab, fill in the fields as appropriate to configure the appearance of the report.  
    See [Multilevel pivot report style options](https://www.servicenow.com/docs/pq2umtPiDOqkLF5aXrbkSQ#multilevel-pivot-chart-style-options "Change the look of your multi-level pivot chart.").
14. Select Save to continue editing the visualization, or Save and close to return to the Analytics Center main screen.

### What to do next

* Select the Report info icon (![Info icon]()) and add a description of the report.
* Select the sharing icon (![Sharing icon]()) to open the Sharing menu. On this menu, you can add the report to a dashboard, export the report to PDF, publish the report to the web, and set visibility and schedules. {#create-multipivot-rep-with-var-col-row__ph_ejl_dgy_wy}
* Search the [Community](https://community.servicenow.com/community?id=community_search&forums=b5291a2ddbd897c068c1fb651f9619e2&q=multilevel) site for more insight or help with multi-level pivot reports.
{#create-multipivot-rep-with-var-col-row__ul_wm3_4wg_4y}

## Multilevel pivot report style options {#ariaid-title4}

Change the look of your multi-level pivot chart.
When you create or edit a report, click the
Style tab for options to configure the look of your report. The
options are organized under two or more of the following tabs:
General, Title,
Legend, and Axis. To see how the report
looks with the changed settings, click Save.
{#multilevel-pivot-chart-style-options__table_h1l_1jh_yq__entry__2}{#multilevel-pivot-chart-style-options__EditColoringRules}{#multilevel-pivot-chart-style-options__decimalPrecisionEntry}

| Field | Description |
|-|-|
| General ||
| Display Zero | Check this box to display the number 0 when the value of a cell is 0. Clear this check box to display an empty cell when the value of the cell is 0. Applicable when Aggregation is Count or Count Distinct. |
| Default expanded | Check this box to expand all rows when the report is displayed. Clear this check book to collapse all rows when the report is displayed. |
| Display row lines | Check this box to display lines between rows in the report. |
| Display column lines | Check this box to display lines between columns in the report. |
| Drilldown view | List view to show when a user selects a segment of a report for which no drilldown report type is specified. This view is also used when the user reaches the lowest drilldown level of a report. See [Configure the list layout](https://www.servicenow.com/docs/access?context=t_ConfigureTheListLayout&version=zurich&pubname=zurich-platform-administration&ft:locale=en-US) . If you specify a Report drilldown, Drilldown view is ignored. For more information, see [Define a report drilldown](https://www.servicenow.com/docs/GJjFBxX8yM1o1b_Lql8anw#t_DefineAReportDrilldown "You can define a report drilldown to enable reporting users to view subsets of the report data. When you define a report drilldown, it applies only to the report for which you define it."). |
| Edit coloring rules | Click this hyperlink to configure how cells and cell text with numerical values are colored in the report. You can create rules to define which colors are used based on operators and values. For example, you can specify that any value greater than 5 displays in red. See [Create coloring rules for multilevel pivot reports](https://www.servicenow.com/docs/gqvaz5XvkfOWVetUI8OMYQ "Configure rules for how numerical values are displayed in a multilevel pivot table report. Coloring rules make it easy to highlight the more important values. The color rule is applied to the content of cells in pivot reports."). Note: It is not possible to apply coloring rules to the Total cells in multilevel pivot reports. |
| Decimal precision | Number of decimal places to show. You can show from zero to four decimal places. Default value: 2. To change the default value, create the system property glide.chart.decimal.precision and specify the value. Note: Percentage labels do not change accordingly with the decimal precision specified. |
| Title ||
| Show chart title | When the chart title is shown for the report. * Never: Never show the chart title. * Report only: Shows the chart title on reports. * Always: Shows the chart title on reports, dashboards, and landing pages. |
| Chart title | The chart title has a maximum length of 40 characters. If no title is entered, the report name is used for the title. This field appears when Report only or Always is selected from the Show chart title list. |
| Size of the chart title | Size of the chart title in pixels. This field appears when Report only or Always is selected from the Show chart title list. |
| Chart title color | Color of the chart title. This field appears when Report only or Always is selected from the Show chart title list. |
| Title horizontal alignment | How the chart title is aligned horizontally. This field is available when the Custom chart title position option is cleared. |
| Title vertical alignment | How the chart title is aligned vertically. This field appears when Custom chart title position is cleared. |
[Table 3. Multilevel pivot report style options]

{#multilevel-pivot-chart-style-options__table_h1l_1jh_yq}

*[\>]: and then


