Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

MRVS report creation and how to display real value instead of sys_id

LT_23
Tera Contributor

Hello,

 

My requirement is to create a report from a MRVS that has 2 columns one for employee and the other is the employee's manager (both reference fields).

I tried creating a database view  and can see the rows but sys_id are displayed instead of the employees name and managers name.My question is how can I have the real values displayed instead and also is there a way to merge it with the other variables of the catalog item so that I have one report with all variables including the MRVS. 

PS: if I have two MRVS do I have to create a database view and report for each? 

3 REPLIES 3

lauri457
Tera Sage

Nishant_Shelar
Mega Guru

 

  • The table sc_multi_row_question_answer does not store display values.
  • It stores everything as plain text.
  • Even if your variable is a reference field (like sys_user), it still stores only the sys_id.

You can try below solution (Untested)

How MRVS data is actually stored (EAV model)

  • ServiceNow uses an EAV (Entity-Attribute-Value) structure for MRVS.
  • That means:
    • Each row in MRVS is NOT one record
    • Instead, each field inside that row is stored as a separate record

👉 Example:

If your MRVS has:

Employee Manager
JohnMike

It gets stored like this:

Row ID Question (Variable) Value
1Employeesys_id_1
1Managersys_id_2

So:

  • Same row → linked using a row index / parent reference
  • But Employee and Manager are stored separately

3. Why you can’t directly get Employee & Manager together

  • Since both values are stored as separate rows, they are not side-by-side by default
  • You have to manually join them back together
  • That’s why a simple query doesn’t work

4. Why you need to join the table twice

To reconstruct one MRVS row:

  • First join → get Employee value
  • Second join → get Manager value

So basically:

  • Same table (sc_multi_row_question_answer)
  • Used two times
  • Each time filtered by a different variable (question)

5. Why you also need to join sys_user twice

  • Both Employee and Manager store sys_ids
  • To convert them into names:
    • Join sys_user for Employee
    • Join sys_user again for Manager

So total joins:

  • MRVS table → 2 times
  • sys_user → 2 times

6. Final structure (simple understanding)

Your Database View is doing something like:

  • MRVS (Employee)
  • MRVS (Manager)
  • sys_user (Employee name)
  • sys_user (Manager name)

 

Ankur Bawiskar
Tera Patron

@LT_23 

that's how data is stored for MRVS and it shows sysId and not display value

link shared by @lauri457 should help you

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader