Skripting in Performance Analytics

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 4 Minuten Lesedauer
  • Performance Analytics stellt mehrere Skriptobjekte zur Verwendung in Skripten und APIs für die Abfrage von Performance Analytics Daten bereit. Die Skripts dienen als Gliederungszuordnung oder zur Berechnung eines Wertes aus einem Indikator.

    Tipps zu Skripts

    • Im Allgemeinen sollten Sie Skripts nur zur Unterstützung von Indikatoren wie Alter mit Datumsverarbeitung verwenden, indem Sie die Variablen „score_start“ und „score_end“ verwenden.
    • Begrenzen Sie unnötige Felder. Jedes Mal, wenn Sie ein zusätzliches Dot-Walking-Feld einfügen, fügen Sie der Abfrage eine zusätzliche Verknüpfung hinzu.
    • Versuchen Sie, manuelle Aufgliederungen durch Datenbankansichten zu ersetzen, um eine bessere Leistung zu erzielen.
    • Versuchen Sie, Script Includes für allgemeine Funktionen zu verwenden. Weitere Informationen finden Sie unter Skripteinbindungen.
    • Wenn die Daten nicht in einer Weise strukturiert sind, die Sie für die Berichterstellung benötigen, versuchen Sie, „Berichtsfelder“ zu den Vorgangstabellen hinzuzufügen, anstatt Skripts zu erstellen. Weitere Informationen finden Sie in diesem Community-Beitrag.
    • Wenn Sie ein Hintergrundskript ausführen, das die Tabellen mit Punktzahlen Performance Analytics oder Snapshots abfragt, können Sie nur dann auf Daten zu einer bereichsbezogenen Anwendung zugreifen, wenn Sie über eine entsprechende Rolle für diese Anwendung verfügen.
    Warnung:
    Versuchen Sie nicht, GlideRecords und GlideAggregates in Performance Analytics-Skripts oder -Formelindikatoren zu verwenden. Zwar müssen Sie diese Operationen manchmal verwenden, um das gewünschte Ergebnis zu erzielen, sie sind aber äußerst ressourcenintensiv, da sie möglicherweise hunderttausende Male ausgeführt werden. Verwenden Sie sie nur, nachdem Sie sichergestellt haben, dass keine Alternative vorhanden ist.

    Aufgliederungszuordnungen und Indikatorskripts

    Ein Aufgliederungszuordnungsskript gibt normalerweise entweder die sys_id eines Aufgliederungselements oder eine Ganzzahl zurück, um die Punktzahl in einen Bucket zu legen. Indikatorskripts geben eine Punktzahl zurück, die aus einem oder mehreren Feldern berechnet wurde. Dasselbe Skript kann sowohl als Skript einer Gliederungszuordnung als auch als Indikatorskript dienen.

    Aufgliederungsskript

    Betrachten Sie zum Beispiel das bereitgestellte Incident.Age.Days-Skript, welches das opened_at Feld aus der Incident-Tabelle verwendet. Dieses Skript dient als Aufgliederungszuordnung für die Aufgliederung nach Alter, welche die Bucket-Gruppe Incident-Altersbereiche (Tage) als Aufgliederungsquelle verwendet.

    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);

    In diesem Beispiel erhält current.opened_at den Zeitstempel der Öffnung des aktuell zu bewertenden Datensatzes. Die Skriptvariable„score_end“ stammt aus dem Datenerfasser und ist an den zu erfassenden Zeitraum gebunden. Wenn beispielsweise ein monatlicher Indikator gesammelt wird, entspricht score_end dem Ende des Monats. Hier wird der Zeitstempel des Zeitpunkts, zu dem der Incident geöffnet wurde, vom Zeitstempel des Endes des Sammelzeitraums abgezogen und das Ergebnis in Tage umgerechnet.

    Dieses Beispiel enthält das Feld Incident.opened_at, das im Feld Felder für dieses Skript festgelegt ist. Sie können score_start und score_end verwenden, ohne diese im Feld Felder zu definieren.

    Skripts in Performance Analytics erstellen

    Um ein Skript zu erstellen, wählen Sie zuerst die Faktentabelle, auf die das Skript angewendet wird, und wählen Sie explizit alle Felder aus.

    Vorbereitungen

    Erforderliche Rolle: admin, pa_admin. Für den Zugriff auf Daten für bereichsbezogene Anwendungen in den Tabellen Performance Analytics benötigen Sie auch die entsprechende Administratorrolle für diese Anwendung.

    Prozedur

    1. Navigieren zu Alle > Performance Analytics > Skripte und klicken Sie auf Neu.
    2. Geben sie dem Skript einen beschreibenden Namen.
    3. Wählen Sie die Faktentabelle aus, auf die sich das Skript bezieht.
      Nur Indikatoren, die dieselbe Faktentabelle verwenden, können dieses Skript verwenden.
    4. Wählen Sie falls zutreffend die Felder der Faktentabelle aus, die im Skript verwendet werden.
      Felder werden nach ihrer Bezeichnung ausgewählt.
    5. Schreiben Sie das Skript.
      Das Skript muss den folgenden Beziehungen und Einschränkungen entsprechen:
      • Sie können nur die in diesem Formular ausgewählten Felder und Skriptvariablen einschließen. Weitere Informationen finden Sie im Abschnitt über Performance Analytics-Variablen.
      • Wenn Sie ein Feld im Skript verwenden, verwenden Sie den Spaltennamen. Überprüfen Sie ggf. den Spaltennamen in der Faktentabelle.
      • Wenn Sie ein Feld aus einer Datenbankansicht verwenden, müssen Sie das Präfix einfügen. Beispielsweise enthält die Datenbankansicht incident_sla die Tabelle task_sla mit dem Präfix taskslatable. Task_sla enthält die Spalte business_duration. Um das Feld business_duration aus der incident_sla-Datenbankansicht zu verwenden, schreiben Sie es als taskslatable_business_duration. Wenn Sie keinen Zugriff auf die Datenbankansicht haben, bitten Sie Ihren Systemadministrator, das Präfix für Sie zu finden.

    Nächste Maßnahme

    Nachdem Sie das Skript erstellt haben, erstellen Sie eine Aufgliederungszuordnung oder einen Indikator, die bzw. den das Skript verwendet. Sie können eine Aufgliederungszuordnung oder ein Indikatorformular öffnen, indem Sie entweder auf der Registerkarte „Aufgliederungszuordnung“ oder „Indikator“ auf Neu klicken. Die Aufgliederungszuordnungen und -indikatoren, die dieses Skript verwenden, sind auf diesen Registerkarten aufgeführt.

    Performance Analytics-Variablen

    Mehrere Variablen stehen zur Verwendung in Performance Analytics-Skripts und -Formelindikatoren zur Verfügung.

    Sie können die folgenden Variablen in Performance Analytics-Skripts und -Formeln verwenden.

    • score_start: erste Sekunde des Tages der ersten Sammlung von Indikatorpunktzahlen. Bei Skripts wird die Zeit basierend auf der Differenz zwischen der Zeitzone des „Ausführen als“-Benutzers des Sammlungsauftrags und der Datenbankzeitzone (GMT) berechnet. Bei Formeln wird die Zeit basierend auf der Differenz zwischen der Zeitzone des Benutzers, der die Formel ausführt, und GMT berechnet. Ein Benutzer führt eine Formel aus, sobald er den Formelindikator in einem Dashboard-Widget oder auf dem Analytics Hub anzeigt.
    • score_end: letzte Sekunde des Tages der letzten Sammlung von Indikatorpunktzahlen. Die Zeit wird auf die gleiche Weise berechnet wie für score_start.
    • pa: Eine Formelvariable, die nicht in Skripts verwendet werden kann und eine Reihe von Analytics Hub -Attributen und -Methoden bereitstellt.

    In Skripts sind die Variablen für Start und Ende der Punktzahlsammlung GlideElementGlideObject-Objekte. Sie können ein GlideDateTime-Objekt von diesen Variabeln abrufen, indem Sie getGlideObject() aufrufen. Beispiel: gs.log("Score main = " + score_end.getGlideObject().getDayOfWeek());

    In Formeln sind die Variablen für Start und Ende der Punktzahlsammlung bereits GlideDateTime-Objekte. Daher können Sie diese Variablen direkt verwenden, ohne getGlideObject() aufzurufen. Beispiel: gs.log("Score main = " + score_end.getDayOfWeek());

    Die Werte der Start- und Ende-Variablen sind an den Zeitraum der Sammlung gebunden. Wenn beispielsweise ein monatlicher Indikator gesammelt wird, entspricht score_end dem Ende des Monats.

    Die Werte score_start und score_end werden basierend auf der Zeitzone des entsprechenden Benutzers berechnet. Bei Performance Analytics-Skripts ist dies die „Ausführen als“-Zeitzone für den Sammlungsauftrag. Bei Formeln ist dies die Zeitzone des Benutzers, der den Formelindikator in einem Dashboard-Widget oder auf dem Analytics Hub anzeigt. Benutzer in verschiedenen Zeitzonen können daher unterschiedliche Daten für score_start und score_end in einer Formel haben.