Notifications

264 views

Description

When a report on a Dashboard uses an Interactive Filter that has the option "Apply to both database views and tables" selected, the URL that is generated when you drill down a report will have the "filter condition" string appended multiple times.

Depending on the number of database views and report filters, this may exceed the browser limitation for URL length and produces:
- a blank page
or
- the following error:

This page isn't working
If the problem continues, contact the site owner.

HTTP ERROR 400

Steps to Reproduce

  1. Navigate to: Reports > Administration > Interactive Filters
  2. Create an Interactive Filter of type 'Reference' using the reference table: Company [core_company]. Save and then add the following Interactive Filter:
    • Reference:
    • Reference table: Task SLA [task_sla]
    • Reference field: -Task > Company
  3. Make sure to select the "Apply to both database views and tables" checkbox and Save.
  4. Create a single score report (Note: the issue occurs for any type of reports that can be drilled down to open in a list view).
  5. Add the report and interactive filter to a dashboard and make the report widget follow the interactive filter (by configuring its settings in Edit mode).
    1. Choose a company from the interactive filter such that a score is computed.
    2. Click on the score to open the list view of the result
    3. Right click on the breadcrumb and select 'copy query'
  6. You will see that URL will have the same company filter condition appended to it multiple times. One for each database view on [task_sla] table (OOB there are 8 database views against [task_sla]):
taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555 
^taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555
^taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555
^taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555
^taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555
^taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555
^taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555
^taskslatable_task.companyIN81fdf9ebac1d55eb4cb89f136a082555
^task_companyIN81fdf9ebac1d55eb4cb89f136a082555
^task_companyIN81fdf9ebac1d55eb4cb89f136a082555
^companyIN81fdf9ebac1d55eb4cb89f136a082555
^sysuser_companyIN81fdf9ebac1d55eb4cb89f136a082555
^active=true

Expected behavior:
The URL should not have repetitive filter condition string appended to it as this does not change the result. The recursive filter only adds to the length of the URL and sometimes exceeds browser limitation.

Actual behavior:
The filter should be generated for the database views that are available on the given dashboard and not for all the existing database views on the platform for the given table.

Workaround

Since "Apply to both database views and tables" is checked, the Interactive Filter is applied to ALL Database Views against one of the Interactive Filter References defined in the Interactive Filter definition.

Some tables like [task] or [cmdb_ci] are base tables for many tables in ServiceNow. When you select one of these tables as reference for an Interactive Filter and check thr "Apply to both database views and tables" option, the filter query generated for that Interactive Filter will usually be too long.

Ideally, the filter should be generated for Database Views which are available on a given dashboard only but this is the current limitation in Interactive Filters.

The following steps could be used as a workaround:

  1. Identify the reports based on Database Views in a dashboard. If there is no report based on view then uncheck the "Apply to both database views and tables" option.
  2. If there are reports based on Database Views, identify the views, add them as Interactive Filter Reference in the Interactive Filter definition, and then uncheck the "Apply to both database views and tables" option.

Related Problem: PRB1321988

Seen In

There is no data to report.

Intended Fix Version

New York

Safe Harbor Statement

This "Intended Fix Version" information is meant to outline ServiceNow's general product direction and should not be relied upon in making a purchasing decision. The information provided here is for information purposes only and may not be incorporated into any contract. It is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at ServiceNow's sole discretion.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2019-08-07 10:18:33
Published:2019-05-20