アンケート結果から満足度を算出し、ダッシュボードに表示する方法について
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-28-2022 02:58 AM
お世話になっております。
アンケート結果から満足度を算出し、ダッシュボードに表示する方法について伺いたく、投稿しました。
やりたい内容としては、ServiceNow画面の見やすさや使い勝手をユーザーたちにアンケート回答してもらい、
その結果を満足度(以下Aと記載)として%で表示させ、
さらにそのA(%)と、基準値B(%)を比較して、A=<Bであれば「達成」、A>Bであれば「未達」のように
ダッシュボードに表示したいです。どのようにすれば良いでしょうか?
よろしくお願いいたします。
2 REPLIES 2
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-08-2022 10:38 PM
アンケート結果を集計するにはAssessment Instance Questions [asmt_assessment_instance_question] Tableを集計します。後は別の投稿で回答した通りWidget の Dynamic Content で実装すると良いかと思います。
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_result" object="true" >
var result = {};
var avgA;
var valueB;
var gr = new GlideAggregate('asmt_assessment_instance_question');
gr.addQuery('source_id','502a2c44d7211100158ba6859e6103a3');// Survey Definitin
gr.addQuery('metric','d02a2c44d7211100158ba6859e6103a4');// Survey Question
gr.addAggregate('AVG', 'value'); // 満足度の平均
gr.setGroup(false);
gr.query();
if (gr.next()) {
avgA = parseFloat(gr.getAggregate('AVG', 'value'));
valueB = parseFloat(5);
if (avgA <= valueB) {
result = {
"result":'達成 A '+avgA.toFixed(2)+', valueB ' + valueB.toFixed(2),
"color":"green"
};
} else {
result = {
"result":'未達成 A '+avgA.toFixed(2)+', valueB ' + valueB.toFixed(2),
"color":"red"
};
}
}
result;
</g:evaluate>
<p style="text-align:center; font-size: xx-large; color:${jvar_result.color};">${jvar_result.result}</p>
</j:jelly>
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-09-2022 06:15 PM
ありがとうございます。
確認させていただきます。