How to create a report based on assignment group and ka author

raj149
Giga Guru

Hello Experts,

 

My requirement is 

 There is group called ABC group. In this group I want to check how many members are not authors for knowledge articles. We can check authors in this sn_km_mr_st_kb_knowledge table.

 

 we can find that users manually but here  I want to create a report based on above requirement.

 

How to achieve this...?

 

Thanks in advance.

Best Regards,

Raj

1 ACCEPTED SOLUTION

@raj149 ,
You can try below script 

var grMembers = new GlideRecord('sys_user_grmember');
grMembers.addQuery('group', abcGroupId);
grMembers.query();

var nonAuthorsCount = 0;

while (grMembers.next()) {
  var userId = grMembers.user.toString();
  
  var grKnowledge = new GlideRecord('sn_km_mr_st_kb_knowledge');
  grKnowledge.addQuery('author', userId);
  grKnowledge.query();

  if (!grKnowledge.next()) {
    nonAuthorsCount++;
  }
}

gs.print('Number of members in ABC group who are not authors: ' + nonAuthorsCount);

Was this answer helpful?


Please consider marking it correct or helpful.


Your feedback helps us improve!


Thank you!


Regards,


Amit Gujrathi



View solution in original post

9 REPLIES 9

Hello @Amit Gujarathi 

 

I really don't know about script now am learning.

Could you please help me here that will helpful for me.

 

Best regards,

Raj.

@raj149 ,
You can try below script 

var grMembers = new GlideRecord('sys_user_grmember');
grMembers.addQuery('group', abcGroupId);
grMembers.query();

var nonAuthorsCount = 0;

while (grMembers.next()) {
  var userId = grMembers.user.toString();
  
  var grKnowledge = new GlideRecord('sn_km_mr_st_kb_knowledge');
  grKnowledge.addQuery('author', userId);
  grKnowledge.query();

  if (!grKnowledge.next()) {
    nonAuthorsCount++;
  }
}

gs.print('Number of members in ABC group who are not authors: ' + nonAuthorsCount);

Was this answer helpful?


Please consider marking it correct or helpful.


Your feedback helps us improve!


Thank you!


Regards,


Amit Gujrathi



Thank you @Amit Gujarathi 

 

How can I use this in report 

 

Best Regards,

Raj 

Please refer the video I have shared


Was this answer helpful?


Please consider marking it correct or helpful.


Your feedback helps us improve!


Thank you!


Regards,


Amit Gujrathi



Hello @Amit Gujarathi 

I am your new subscriber from today(LOL)

 

Tested with below script include but it is not working 

function getUserDataNani () {
 
var memberss =[];
var grMembers = new GlideRecord('sys_user_grmember');
grMembers.addQuery('group', '4fcd62c71bb328101455edf2b24bcb98');
grMembers.query();
 
//var nonAuthorsCount = 0;
 
while (grMembers.next()) {
  var userId = grMembers.user.toString();
  
  var grKnowledge = new GlideRecord('sn_km_mr_st_kb_knowledge');
  grKnowledge.addQuery('author', userId);
  grKnowledge.query();
 
  if (!grKnowledge.next()) {
    //nonAuthorsCount++;
    memberss.push(grMembers.user.getValue('name'));
  }
return memberss;
}
}

 

 

Best Regards,

Raj