Scripting dans Analyse des performances
Analyse des performances fournit plusieurs objets de script à utiliser dans les scripts et les API pour interroger les Analyse des performances données. Les scripts servent de mappages de répartition ou de calcul d’une valeur à partir d’un indicateur.
Conseils sur les scripts
- En général, utilisez des scripts uniquement pour prendre en charge des indicateurs tels que Âge avec traitement de la date, à l’aide des variables
score_startetscore_end. - Limitez les champs inutiles. Chaque fois que vous incluez un champ de remontée pas à pas supplémentaire, vous ajoutez une jointure supplémentaire à la requête.
- Essayez de remplacer les répartitions manuelles par des vues de base de données pour améliorer les performances.
- Essayez d’utiliser des includes de script pour les fonctions courantes. Pour plus d’informations, consultez Includes de script.
- Si les données ne sont pas structurées de la manière dont vous avez besoin pour le reporting, essayez d’ajouter des « champs de reporting » aux tables opérationnelles au lieu de créer des scripts. Pour plus d’informations, consultez ce message de la communauté.
- Si vous exécutez un script en arrière-plan qui interroge les tables de scores ou d’instantanés, vous ne pouvez pas accéder aux données d’une application incluse dans le Analyse des performances périmètre à moins de disposer d’un rôle approprié pour cette application.
Mappage de répartition et scripts d’indicateur
Un script de mappage de répartition renvoie généralement une sys_id d’un élément de répartition ou un entier pour placer le score dans une catégorie. Les scripts d’indicateur renvoient un score calculé à partir d’un ou de plusieurs champs. Le même script peut servir à la fois de script de mappage de répartition et de script d’indicateur.
Script de répartition
Par exemple, considérez le script Incident.Age.Days fourni, qui utilise le champ opened_at de la table d’incidents. Ce script sert de mappage de répartition pour la répartition par âge, qui utilise le sous-groupe Tranches d’âges de l’incident (jours) comme source de répartition.
var diff=function(x,y){return y.dateNumericValue() - x.dateNumericValue();};
var days=function(x,y){return diff(x,y)/(24*60*60*1000);};
days(current.opened_at, score_end);
Dans cet exemple, current.opened_at obtient l’horodatage de l’ouverture de l’enregistrement actuellement évalué. La variable de script score_end provient du collecteur de données et est liée à la période collectée. Par exemple, si un indicateur mensuel est collecté, la score_end est la fin du mois. Ici, l’horodatage de l’ouverture de l’incident est soustrait de l’horodatage de la fin de la période de collecte et le résultat est converti en jours.
Cet exemple inclut le champ Incident.opened_at , qui est spécifié dans le champ Champs de ce script. Vous pouvez utiliser score_start et score_end sans les définir dans le champ Champs .
Créer un script dans Performance Analytics
Pour créer un script, sélectionnez d’abord la table des faits à laquelle le script s’applique, puis sélectionnez explicitement les champs.
Avant de commencer
Procédure
Que faire ensuite
Analyse des performances variables
Plusieurs variables sont disponibles pour être utilisées dans les scripts et les indicateurs de Analyse des performances formule.
Vous pouvez utiliser les variables suivantes dans Analyse des performances les scripts et les formules.
score_start: première seconde de la journée de la première collecte des scores de l’indicateur. Pour les scripts, l’heure est calculée en fonction de la différence entre le fuseau horaire de l’utilisateur Exécuter en tant que pour la tâche de collecte et le fuseau horaire de la base de données, qui est GMT. Pour les formules, l’heure est calculée en fonction de la différence entre le fuseau horaire de l’utilisateur qui exécute la formule et GMT. Un utilisateur exécute une formule en affichant l’indicateur de formule dans un widget de tableau de bord ou sur le .Centre d'analysescore_end: dernière seconde de la journée de la dernière collecte des scores de l’indicateur. Le temps est calculé de la même manière que pourscore_start.pa: variable de formule, inutilisable dans les scripts, qui fournit un ensemble d’attributs et de Centre d'analyse méthodes.
Dans les scripts, les variables de début et de fin de la collecte de scores sont des objets GlideElementGlideObject . Vous pouvez obtenir un objet GlideDateTime à partir de ces variables en appelant getGlideObject(), comme dans cet exemple : gs.log(« Score main = " + score_end.getGlideObject().getDayOfWeek()) ;
Dans les formules, les variables de début et de fin de la collecte de scores sont déjà des objets GlideDateTime . Par conséquent, vous pouvez utiliser les variables directement sans appeler getGlideObject(), comme dans cet exemple : gs.log(« Score main = " + score_end.getDayOfWeek()) ;
Les valeurs des variables de début et de fin sont liées à la période collectée. Par exemple, si un indicateur mensuel est collecté, la score_end est la fin du mois.
Les valeurs score_start et score_end sont calculées en fonction du fuseau horaire de l’utilisateur concerné. Pour Analyse des performances les scripts, il s’agit du fuseau horaire d’exécution en tant que pour la tâche de collecte. Pour les formules, il s’agit du fuseau horaire de l’utilisateur qui affiche l’indicateur de formule dans un widget de tableau de bord ou le Centre d'analyse. Par conséquent, les utilisateurs situés dans des fuseaux horaires différents peuvent avoir des dates différentes pour score_start et score_end dans une formule.