---
sourceDocument: Analytics der Xanadu-Plattform
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/now-intelligence

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Analytics der Xanadu-Plattform

ft:clusterId :

    - par

bundleId :

    - par

workflow :

    - Platform


---

# Skripting in Performance Analytics

# Skripting in Performance Analytics {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 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 {#pa-scripts__section_ysl_gw2_nsb}

* 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 die Leistung zu verbessern.
* Versuchen Sie, Script Includes für allgemeine Funktionen zu verwenden. Weitere Informationen finden Sie unter [Skripteinbindungen](https://www.servicenow.com/docs/access?context=c_ScriptIncludes&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US).
* 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](https://community.servicenow.com/community?id=community_blog&sys_id=2f99990fdbee5b00fece0b55ca9619fb).
* 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.

{#pa-scripts__ul_mcf_gws_yjb}  
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 {#pa-scripts__section_bdq_kw2_nsb}

Ein Skript einer Gliederungszuordnung gibt in der Regel entweder eine sys_id eines Aufgliederungselements oder eine ganze Zahl zurück, um die Punktzahl in einen Bucket zu setzen. 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 {#pa-scripts__section_krh_nw2_nsb}

Betrachten Sie zum Beispiel das bereitgestellte Incident.Age.Days-Skript, welches das `opened_at` Feld aus der Incident-Tabelle verwendet. Dieses Skript dient als Gliederungszuordnung für die Altersaufgliederung, die die Bucket-Gruppe Incident-Altersbereich (in Tagen) 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](https://servicenow-prod.fluidtopics.net/gHB5rFFf0kgzXvoyFFNl9A#pa-scripts "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.") 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.
**Zugehörige Tasks**   

* [Gliederungszuordnung für Aufgliederungssatz erstellen](https://servicenow-prod.fluidtopics.net/Kn2HIcUFeqJGfKAFn7jVKQ "Geben Sie an, welches Feld in der Indikatorquelle auf die Aufgliederungsquelle verweist. Wenn kein entsprechendes Feld verfügbar ist, geben Sie ein Skript zum Abfragen der Indikatorquelle an.")  
**Zugehörige Informationen**   

* [Serverbezogene API-Liste](https://developer.servicenow.com/dev.do#!/reference/api/tokyo/server)

## Skripts in Performance Analytics erstellen {#ariaid-title2}

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 AllePerformance AnalyticsSkripts 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.
   {#create-script-pa__ul_h32_xzl_sbb}

### 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 {#ariaid-title3}

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.
{#r_ScriptsForAutomatedBreakdowns__ul_lkr_qk2_jp}

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.
**Zugehörige Konzepte**   

* [Änderungen an score_start/end aufgrund verschiedener Benutzerzeitzonen](https://servicenow-prod.fluidtopics.net/XGrJoudiwqEruWGSdmUyiA "Bei Formelindikatoren werden die Werte der Variablen score_start und score_end basierend auf der Zeitzone des Benutzers berechnet, der die Formel ausführt. Wenn Benutzer in verschiedenen Zeitzonen dieselbe Formel ausführen, ändern sich die Werte score_start und score_end.")  
**Zugehörige Tasks**   

* [Analysemethoden in Formeln abrufen](https://servicenow-prod.fluidtopics.net/UjoB_HvX9zYHzEuql2b8~A "Um einen berechneten Wert aus der Analytics Hub in eine Formel einzufügen, verwenden Sie eine Methode in der Formel.")  
**Zugehörige Informationen**   

* [GlideDateTime -- Scoped](https://developer.servicenow.com/app.do#!/api_doc?v=paris&id=c_GlideDateTimeScoped)

