Platform Analytics dashboards filter by catalogue item variables

absadik
Tera Contributor

Hello community,

 

I want to filter a dashboard using an interactive filter based on a catalogue item variable, but I'm not sure how to do this. Also, when I try to add column variables to a simple list in the dashboard, it displays all the variables in the platform, which makes it hard to search through them.

4 REPLIES 4

BeingKhan
Kilo Guru

Hello,

This is a very common and valid challenge when working with dashboards + catalog data in ServiceNow. You are running into two different (but related) platform limitations, not a misconfiguration on your side.

I’ll address both questions clearly, honestly, and with workable patterns.


Part 1: Can an Interactive Filter filter a dashboard using a Catalog Item Variable?

Short Answer

No, not directly.
Interactive Filters cannot filter on catalog item variables out of the box.

This is a platform limitation, not a dashboard or reporting issue.


🔍Why This Happens (Important to Understand)

Interactive Filters work on:

  • Database table fields

  • Columns that exist physically on the table (e.g., sc_req_item, task, incident)

Catalog item variables:

  • Are stored in variable tables (sc_item_option, sc_item_option_mtom)

  • Are not real columns on sc_req_item

  • Are dynamically resolved at runtime

So when an Interactive Filter asks:

“Which field should I filter on?”

Variables simply do not qualify.


📌What Interactive Filters Can Filter On

Supported Not Supported

sc_req_item.cat_itemCatalog variables
requested_forVariable values
state, opened_atVariable labels
Any real table columnVariable internal names

Supported Workarounds (This Is How People Actually Solve It)

Option 1 (Best Practice): Copy Variable Value to a Real Field

This is the most reliable and scalable approach.

How it works

  1. Create a custom field on sc_req_item

    • Example: u_region, u_environment, u_application

  2. Populate it from the catalog variable using:

    • Business Rule

    • Flow Designer

  3. Use that field in:

    • Reports

    • Interactive Filters

    • Dashboards

Example Business Rule logic

current.u_region = current.variables.region;

✔ Fully filterable
✔ Dashboard-friendly
✔ Upgrade-safe
✔ Recommended by ServiceNow


Option 2: Use cat_item Instead of Variables (If Applicable)

If your filter intent is:

“Show requests for Catalog Item X”

Then you don’t need variables at all.

Use:

sc_req_item.cat_item

This field:

  • Is native

  • Works perfectly with Interactive Filters

  • Avoids variable complexity


What Will NOT Work (Save Time)

Attempt Result

Interactive Filter → Variables
Dot-walking to variable tables
Scripted interactive filters
UI Builder filter pills (classic dashboards)

Part 2: Why Does the Simple List Show All Variables?

You’re seeing expected but frustrating behavior.

When you add columns to a Simple List:

  • ServiceNow exposes every variable definition

  • Across all catalog items

  • From the global variable pool

This is because:

  • Variables are not scoped per catalog item

  • The platform has no context to filter them automatically


🔍Why Search Is So Hard

  • Variable labels are reused

  • Variable names are inconsistent

  • No catalog-item-based filtering exists in the column picker

This is by design, not a bug.

 

 

 

 

 

 


Practical Ways to Manage Variable Noise

✔️Best Option: Don’t Report on Variables Directly

Instead:

  • Copy required variables to fields (same as Part 1)

  • Report and filter on those fields

This avoids:

  • Performance issues

  • Confusing column pickers

  • Fragile dashboards


✔️If You Must Use Variables (Last Resort)

  • Use naming conventions for variables

    • Example: REQ_ENV_, REQ_REGION_

  • Use Favorites in column picker

  • Limit dashboard scope to one catalog item

⚠️This is manageable for demos, not enterprise dashboards.


Recommended Architecture (Strong Practitioner Opinion)

If dashboards are involved:

Variables are for forms.
Fields are for reporting.

Always design catalog items with:

  • Reporting fields

  • Dashboard-friendly attributes

  • Variables feeding those fields

This saves months of pain later.

 


[ Please Mark my post as helpful & accept it if you find it valuable. ]

MD SHADAB KHAN
CSA || CAD || CIS-DISCOVERY
PLEASE MARK THE ANSWER HELPFUL AND ACCEPT IT AS A SOLUTION IF YOU FIND IT HELPFUL & CORRECT

Hi @BeingKhan,

 

are you sure that screenshots with records created in 2016 are covering the latest version and new features?

 

Please, share your own experience rather than copying it from god knows where without validation...

_____
100 % GlideFather experience and 0 % generative AI

@GlideFather 

 

Appreciate the engagement 🙂
If you’ve spotted specific inaccuracies, feel free to point them out — happy to correct or discuss.

Blanket statements without substance don’t really help the community, but constructive feedback always does.

____________________________________________________
No AI was used in the writing of this post. Pure #BeingKhan only

MD SHADAB KHAN
CSA || CAD || CIS-DISCOVERY
PLEASE MARK THE ANSWER HELPFUL AND ACCEPT IT AS A SOLUTION IF YOU FIND IT HELPFUL & CORRECT

Hi @GlideFather ,

 

The behavior being discussed here — interactive filters not supporting catalog variables and variable columns appearing globally in lists — is a fundamental platform design, not something tied to a specific release year or UI screenshot.

 

Catalog variables are not physical table fields, and that limitation has existed across releases. The explanation focuses on why this happens and how teams typically work around it, based on implementation patterns — not on showcasing the newest UI chrome.

 

If you have a different technical approach that allows interactive filters to work directly on catalog variables, I’d genuinely be interested to see it. That would add real value to the discussion.

 

____________________________________________________
No AI was used in the writing of this post. Pure #BeingKhan only

MD SHADAB KHAN
CSA || CAD || CIS-DISCOVERY
PLEASE MARK THE ANSWER HELPFUL AND ACCEPT IT AS A SOLUTION IF YOU FIND IT HELPFUL & CORRECT