HRSD CSAT Monthly Reporting – Average Satisfaction Score by Service and Country
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi All,
I am working on an HRSD reporting requirement and would appreciate guidance on the recommended reporting approach.
Business Requirement
We need to create a monthly CSAT report that shows:
- Average survey satisfaction score submitted by employees after HR case closure.
- Include only non-lifecycle HR cases.
- Ability to group and/or filter results by:
- HR Service
- HR Subject Person Country
Current Understanding
The survey data appears to be available in both:
- asmt_assessment_instance
- asmt_metric_result
The satisfaction score is stored in survey assessment records, and we need to relate those results back to the associated HR Case.
Questions
What report type would be most appropriate for this requirement?
- List Report
- Aggregate Report
- Pivot Table
- Database View
- Performance Analytics
Which table would be the best reporting source?
- asmt_assessment_instance
- asmt_metric_result
- Survey Response tables
- sn_hr_core_case
What is the recommended way to retrieve the following attributes from the survey records?
- HR Service
- HR Subject Person → Country
Is a standard report sufficient for this use case, or would a Database View or Performance Analytics solution be recommended?
Has anyone implemented a similar monthly CSAT reporting solution in HRSD and can share best practices or sample configurations?
Any guidance, screenshots, or examples would be greatly appreciated.
Thank you in advance for your help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @Sirri,
Build this on a Database View instead of reporting off any single table directly, that one decision answers most of what you're asking.
- Report type: Database View as the source, then an Aggregate Report or Pivot Table on top for the average score by service and country. A plain List Report can't average a field for you, and full Performance Analytics is overkill unless you also need rolling trend history beyond a monthly snapshot.
- Table: the actual score lives in asmt_metric_result, in the actual_value field (decimal, -1 to 100). asmt_assessment_instance carries the survey metadata but not the score itself.
- Excluding lifecycle cases: anchor the view on sn_hr_core_case, not sn_hr_le_case. The latter is a direct table extension of the former, built specifically for Lifecycle Events, so joining to the parent table keeps them out without needing an extra filter.
- HR Service: comes straight off sn_hr_core_case as hr_service.
- Subject Person's country: subject_person on the case is a reference to HR Profile, not directly to the user record, so the real dot-walk path is subject_person.user.country. HR Profile has its own "user" reference to sys_user, and country lives on sys_user.
This combination, Database View plus Aggregate Report, is the standard pattern for this kind of cross-table CSAT reporting in HRSD. There's no out-of-the-box report that already does it, so you're not missing a shortcut, most orgs building this land on the same structure.
One thing worth checking before you wire up the join: the field on asmt_assessment_instance that points back to the case (often trigger_id) is a Document ID type on some versions, and those can't be dot-walked in reports. If that's the case on your instance, match it by sys_id in the database view definition instead.
Thank you,
Vikram Karety
Octigo Solutions INC
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 weeks ago
@Vikram Reddy ,
Please can you share the snips so I can plan to create that will help full to me.
Thank you