Formules de rapport

Si vous décidez que l’un de vos rapports a besoin d'une statistique différente ou supplémentaire, vous pouvez modifier le modèle de rapport pour répondre à votre besoin. Pour ce faire, ajoutez une formule au modèle de rapport pour récupérer la statistique ou l’indicateur de performance clé (KPI) souhaité.

Étant donné que vous ne pouvez pas modifier les modèles standard fournis, si vous souhaitez modifier l’un des rapports standard, il vous suffit de créer un clone du modèle et de le modifier.

Qui peut créer ces statistiques ? Si vous pouvez créer et modifier des modèles 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

Dans le panneau de détails des statistiques lors de la modification d’un widget ou d’un modèle, vous pouvez créer ou personnaliser des statistiques en créant une formule.

La formule se base sur une syntaxe javascript, qui vous permet de calculer des expressions avec des valeurs fournies par d'autres statistiques et d’utiliser des fonctions fournies par Genesys pour obtenir des calculs plus spécifiques. Par exemple, vous pouvez calculer le rapport des appels abandonnés par rapport aux appels présentés dans votre file d'attente pour mesurer le pourcentage d'appels abandonnés de votre file d'attente.

Pulse 85105 Formulas2.png

Afficher les pourcentages

Imaginons que vous souhaitez afficher des pourcentages basés sur deux métriques. Il vous suffit de copier l'exemple suivant, en utilisant les statistiques souhaitées.

Dans cet exemple, nous souhaitons récupérer le pourcentage d'appels sortants par rapport au total d'appels entrants et sortants. La formule peut accéder à n’importe quelle statistique dans un modèle avec 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 KPI d’état des agents

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

Comment la statistique Current_Status est-elle 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 des formules pour trouver les informations 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 raison sélectionné par l'agent

Vous pouvez afficher le code de raison pour l'état d'un agent.

Formule : Obtenir le code de raison

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

Si vous souhaitez afficher davantage de données utilisateur en plus du code de raison, 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 raison à partir de la statistique Current_Status obtenue, qui contient les données utilisateur et le code de raison.

Formule : Filtrer uniquement le code de raison

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 raison par le type de support (chat 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 raison 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. Contactez 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 de l'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 des formules pour trouver les informations dont vous avez besoin : Pulse85105formula2.png

Afficher le segment clientèle de l'interaction

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

Formule : Obtenir le segment clientèle

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

Afficher l'ANI du client

Vous pouvez afficher l'ANI du client à l'aide de la formule suivante.

Formule : Obtenir l’ANI

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

Afficher la DNIS du client

Vous pouvez afficher la DNIS du client à l'aide de la formule suivante.

Formule : Obtenir la DNIS

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

Que faire ensuite ?

Vous pouvez en savoir plus à propos des fonctions suivantes :

La dernière modification de cette page a été faite le mars 7, 2020 à 03:29.
Comments or questions about this documentation? Contact us for support!