Jump to: navigation, search

Formules de rapport

Si vous estimez que l'un de vos rapports a besoin d'une statistique différente ou supplémentaire, vous pouvez modifier le modèle du rapport à cette fin. Vous pouvez faire cela en ajoutant une formule au modèle de rapport qui extrait la statistique ou l'indicateur de performance clé (IPC) que vous désirez.

Étant donné que vous ne pouvez pas modifier les modèles standards fournis, si vous souhaitez modifier un des rapports standards, il suffit de créer un clone du modèle et apporter des modifications dans le nouveau modèle.

Qui peut créer ces statistiques? Si vous pouvez créer et modifier les modèles de Genesys Pulse, vous pouvez utiliser des formules.

Important
Si vous savez déjà comment utiliser les formules, vous pouvez utiliser la bibliothèque de fonctions pour vous aider à créer vos formules.

Ajouter une formule

À partir du panneau de détails des statistiques lorsque vous modifiez un widget ou un modèle, vous pouvez créer ou personnaliser des statistiques en créant une formule.

La formule fonctionne selon une syntaxe fondée sur le code JavaScript, qui vous permet de calculer des expressions avec des valeurs déterminées par d'autres statistiques et d'utiliser des fonctions fournies par Genesys pour faire des calculs plus précis. Par exemple, vous pouvez calculer le ratio entre les appels abandonnés et les appels proposés dans votre file d'attente, afin de mesurer le pourcentage d'appels abandonnés dans votre file d'attente.

Pulse 85105 Formulas2.png

Afficher les pourcentages

Imaginons que vous souhaitez afficher des pourcentages basés sur deux métriques. Suivez simplement l'exemple ci-dessous en utilisant les statistiques de votre choix.

Dans cet exemple, nous voulons extraire le pourcentage d'appels sortants du total des appels entrants et sortants. La formule peut accéder à n'importe quelles statistiques du modèle si elle a la syntaxe suivante : Données.Alias-statistique.Valeur. La formule doit renvoyer une valeur Result valide.

Dans la formule suivante, nous supposons que les appels sortants sont définis par un alias statistique Sortant et les appels entrants par un alias statistique Entrant.

Formule : Calculer un pourcentage

if ((Data.Outbound.Value + Data.Inbound.Value) != 0) 
Result = 100 * Data.Outbound.Value / (Data.Outbound.Value + Data.Inbound.Value); 
else Result = 0;

Pulse 85105 Formulas2.png

Afficher les IPC d'état des agents

Imaginons que vous souhaitez afficher des IPC pour l'état des agents. Il vous suffit d'utiliser la statistique Current_Status. Pulse85105formula1.png

Comment la statistique Current_Status est définie

La statistique Current_Status est définie par les propriétés des options de Stat Server. Le type de statistique ExtendedCurrentStatus renvoie un objet spécifique qui peut être analysé davantage pour n'indiquer que la durée de l'objet.

[ExtendedCurrentStatus]
Catégorie=CurrentState
MainMask=*
Objets=Agent
Objet=DNAction

Vous pouvez utiliser les formules pour trouver l'information dont vous avez besoin :

Afficher la durée de l'état actuel d'un agent

Vous pouvez afficher la durée de l'état actuel d'un agent à l'aide de la statistique Current_Status.

Formule : Obtenir la durée de l'état

Result = G.GetStatusDuration(Data.Current_Status.Value);

Afficher le code de motif sélectionné par l'agent

Vous pouvez afficher le code de motif pour l'état de l'agent.

Formule : Obtenir le code de motif

Result = G.GetReasonCodes(Data.Current_Status.Value);

Si vous voulez afficher davantage de données utilisateur en plus du code de motif, vous devez activer la propriété Données supplémentaires (Données utilisateur) de la statistique et appliquer une formule pour filtrer uniquement le code de Motif du Current_Status qui en découle, et qui comprend tant les données utilisateur que le code de motif.

Formule : Filtrer uniquement le code de motif

var res = G.GetReasonCodes(Data.Current_Status.Value);
var x = res.split(';');
Result = "";
for (var i = 0; i < x.length; i++) {
    var s = x[i];
    if (s.indexOf("Break") > -1 ||
      s.indexOf("Offline") > -1 ||
      s.indexOf("Training") > -1 ) { Result = s; break; }
}

Formule : Extraire le code de motif par le type de support (clavardage dans l'exemple ci-dessous)

function GetNRCode(state) {
	if (state === null || state.type !== "AgentCurrentState")
		return null;

	var res = "";
	var n = state.DNs.length;

	if (n > 0) {
		for (var i = 0; i < n; ++i) {
			var dn = state.DNs[i];

			if (dn.DNType === CFGNoDN && dn.DN === "chat") {
				var actionsLength = dn.Actions.length;
                  
				for (var j = 0; j < actionsLength; j++) {
					if (dn.Actions[j].Action === "NotReadyForNextCall" ) {
						var userDataLength = dn.Actions[j].Data.UserData.length;
                                
						if (userDataLength > 0) {
							for (var k = 0; k < userDataLength; k++) {
                                if (dn.Actions[j].Data.UserData[k].Key === "ReasonCode") {
									res = dn.Actions[j].Data.UserData[k].Value;
                                        
									break;
                                }
                            }
                        }
                    }
                }                   
                    
				break;  
            }
		}
	}

	return res;
}

 Result = GetNRCode(Data.Current_Status.Value);

Formule : Obtenir le code de motif pour la voix

function GetVR(state) {
	if (state === null || state.type !== "AgentCurrentState")
		return null;
	
	var res = "";
	var n = state.DNs.length;
	
	if (n > 0) {
		for (var i = 0; i < n; ++i) {
			var dn = state.DNs[i];
			
			if (dn.DNType === 1 && dn.DN !== null) {
				var actionsLength = dn.Actions.length;
				
				for (var j = 0; j < actionsLength; j++) {
					if (dn.Actions[j].Action === "NotReadyForNextCall") {
						var userDataLength = dn.Actions[j].Data.UserData.length;
						
						for (var h = 0; h < userDataLength; h++) {
							if (dn.Actions[j].Data.UserData[h].Key === "ReasonCode") {
								res = dn.Actions[j].Data.UserData[h].Value;
								
								break; 
							}
						}
						
						break;
					}
				}
				
				break;
			}
		}
	}

	return res;
}

Result = GetVR(Data.Current_Status.Value);
Conseil
La formule doit être personnalisée selon votre environnement. Veuillez communiquer avec le service clientèle de Genesys pour obtenir des détails.

Afficher l'état actuel de l'agent par type de média

Vous pouvez afficher l'état actuel d'un agent par type de média

Formule - Obtenir l'état de l'agent par type de média

Result = G.GetAgentNonVoiceStatus(Data.Current_Status.Value, 'email');

Afficher les compétences de l'agent

Vous pouvez afficher les compétences de l'agent en utilisant la formule suivante. Le résultat inclut le nom et le niveau de chaque compétence de l'agent.

Result = ""; 
if (Object.Skills != null) {
    for (var i = 0; i < Object.Skills.length; i++) {
        var skill = Object.Skills[i];
        Result += skill.Name + " " + skill.Level +"; ";
    }
}

Afficher les propriétés d'interaction

Imaginons que vous souhaitez afficher les propriétés d'interaction, y compris la segmentation des flux, l'ANI et la DNIS. Vous pouvez utiliser les formules pour trouver l'information dont vous avez besoin : Pulse85105formula2.png

Afficher le segment de clientèle de l'interaction

Vous pouvez afficher le segment de clientèle défini par la paire clé-valeur SegmentClientèle de l'interaction à l'aide de la formule suivante.

Formule : Obtenir le segment de clientèle

Result = G.GetCustomerSegment(Data.Current_Status.Value);

Afficher l'ANI du client

Vous pouvez afficher l'ANI du client en utilisant la formule ci-dessous.

Formule : Obtenir l'ANI

[Result = G.GetANI(Data.Current_Status.Value);

Afficher la DNIS du client

Vous pouvez afficher le DNIS du client en utilisant la formule ci-dessous.

Formule : Obtenir la DNIS

Result = G.GetDNIS(Data.Current_Status.Value);

Que faire ensuite?

Vous pouvez en savoir plus à propos des fonctions suivantes :

This page was last edited on March 7, 2020, at 03:31.
Comments or questions about this documentation? Contact us for support!