Dynamische JavaScript-Filter

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 5 Minuten Lesedauer
  • Erstellen Sie dynamische Bedingungen in JavaScript, die Sie als Teil der Kriterien einer Berichtsvisualisierung anstelle der angegebenen Werte konfigurieren können.

    Um einen Bericht mit einer dynamischen bedingten Anweisung zu erstellen, fügen Sie eine JavaScript-URL in die Anweisung für den bedingten Wert des Filters ein. Sie können einen JavaScript-Befehl direkt in das Feld eingeben, aber für ein Skript, das länger als eine Anweisung ist, sollte das Skript in einem eigenen Datensatz platziert werden. Anschließend rufen Sie eine Funktion aus diesem Datensatz im Wertfeld der Berichtsbedingung auf.

    Fügen Sie einen dynamischen JavaScript-Filter hinzu

    Fügen Sie eine dynamische JavaScript-Anweisung zur Auswertung als Teil der Filterkriterien einer Berichtsvisualisierung hinzu.

    Vorbereitungen

    Erforderliche Rolle: itil, report_user, report_group, report_global, report_admin oder admin. Um einen aussagekräftigen Bericht zu erstellen, müssen Sie berechtigt sein, auf die Daten zuzugreifen, über die Sie berichten möchten.

    Warum und wann dieser Vorgang ausgeführt wird

    JavaScript-Filter können einzeilige Anweisungen oder längere Skripts sein. Erstellen Sie für längere JavaScript-Anweisungen eine Skripteinbindung, die das richtige Format und den richtigen Datentyp zurückgibt, den spezifischen Daten entspricht, nach denen der Bericht filtern soll, und vom Client aufrufbar ist. Weitere Informationen finden Sie unter Skripteinbindungen.

    Prozedur

    1. Navigieren zu Alle > Berichte > Anzeigen/Ausführen.
    2. Öffnen Sie die Berichtsvisualisierung, der Sie den dynamischen Filter hinzufügen möchten.
    3. Klicken Sie auf das Filtersymbol (), um den Bedingungsgenerator zu erweitern.
    4. Erstellen Sie Ihre Filterbedingung.
      Mit diesen Kombinationen von Feldtypen und Operatoren können Sie eine dynamische JavaScript-Anweisung angeben.
      Hinweis:
      • Der Operator „between“ stellt zwei Felder bereit, die dieselben oder verschiedene JavaScript-URLs unterstützen können.
      • Der Operator „ist“ kann ein Array von Datenelementen des erwarteten Typs zurückgeben. In diesem Fall wird der Operator als „ist einer von“-Operator behandelt.
      Feldtyp Zulässige Operatoren Erwarteter Rückgabedatentyp
      Sys-ID (GUID) „ist“, „ist nicht“, „ist einer von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder ist“, „kleiner als oder“. ist“. Textdarstellung eines vollständigen oder teilweisen sys_id-Werts.

      Für den Operator „ist einer von“ wäre der erwartete Rückgabetyp entweder eine durch Kommas getrennte Liste von sys_id-Werten oder ein Array, das jede sys_id enthält, die in die Ergebnisse aufgenommen werden soll.

      Freitextzeichenfolge „ist“, „ist nicht“, „ist einer von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder ist“, „kleiner als oder“. ist“ Ein oder mehrere Textzeichen. Für den Operator „ist einer von“ ist das erwartete Ergebnis entweder eine durch Kommas getrennte Liste von Zeichenfolgenwerten oder ein Array mit allen Werten, die in das Suchwertfeld „ist einer von“ aufgenommen werden sollen.
      Referenz „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“ Ein oder mehrere Textzeichen, die einen Wert oder einen Teil eines Werts darstellen können, der in diesem Feld in der Tabelle oder Datenquelle gefunden wurde.
      Zeichenfolge (referenziert eine andere Tabelle) „enthält“, „beginnt mit“, „endet mit“, „enthält nicht“ Ein oder mehrere Textzeichen, die einen Wert oder einen Teil eines Werts darstellen können, der in diesem Feld in der Tabelle oder Datenquelle gefunden wurde.
      Benutzereingabe „ist“, „ist nicht“ Textzeichen, die den vollständigen Wert eines Datensatzes für dieses Feld in der Tabelle oder Datenquelle darstellen könnten.
      Tabellenname „ist“, „ist nicht“, „ist einer von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder ist“, „kleiner als oder“. ist“ Textdarstellung eines vollständigen oder teilweisen Tabellennamens im System. Für den Operator „ist einer von“ wäre der erwartete Rückgabetyp entweder eine durch Kommas getrennte Liste von Tabellennamenwerten oder ein Array, das jeden Tabellennamen enthält, der in die Ergebnisse aufgenommen werden soll.
      Vorlagenwert „ist“, „ist nicht“ Textzeichen, die den Wert gemäß einer in der Instanz gefundenen Vorlage erfüllen.
      Domänen-ID „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“ Ein oder mehrere Textzeichen, die einen Wert oder einen Teil eines Werts darstellen können, der im Domänenfeld in der Tabelle oder Datenquelle gefunden wurde.
      Benutzerrollen „ist“, „ist nicht“ Textdarstellung eines Zeichenfolgenwerts für eine Benutzerrolle.
      Domänenpfad „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „ist“, „ist nicht“, „ist einer von“, „kleiner als oder gleich“, „größer als oder gleich“, „ zwischen“ Ein oder mehrere Textzeichen, die einen Wert oder einen Teil eines Werts darstellen können, der in diesem Feld in der Tabelle oder Datenquelle gefunden wurde. Für den Operator „ist einer von“ entweder eine durch Kommas getrennte Liste von Textwerten oder ein Array-Objekt, das jeden Wert enthält, der enthalten sein soll.
      Übersetzter Text „ist“, „ist nicht“, „ist einer von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder ist“, „kleiner als oder“. ist“ Textwert.

      Für den Operator „ist einer von“ wäre der erwartete Rückgabetyp entweder eine durch Kommas getrennte Liste von Textwerten oder ein Array von Textwerten.

      Übersetztes Feld
      HTML „enthält“, „enthält nicht“ Textwert, der Daten im ausgewählten Feld in diesen Berichtskriterien entsprechen kann.
      HTML-Vorlage
      E-Mail-Skript „enthält“, „enthält nicht“ Textwert, der einen Wert darstellt, der im Feld „E-Mail-Skript“ enthalten sein sollte (oder nicht).
      Skript (einfach) „enthält“, „enthält nicht“ Textwert, der einen Wert darstellt, der im Skriptfeld enthalten sein soll (oder nicht).
      Skript (auf Serverseite)
      Skript
      Tabellenkurzname „ist“, „ist nicht“ Textwert (unter 40 Zeichen).

      Für den Operator „ist einer von“ ist der erwartete Rückgabetyp entweder eine durch Kommas getrennte Liste von Textwerten oder ein Array, das jedes Textzeichen enthält, das einen kurzen Tabellennamen darstellen würde.

      Feldname „ist“, „ist nicht“, „ist einer von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder ist“, „kleiner als oder“. ist“ Textdarstellung eines vollständigen oder teilweisen Feldnamenwerts.

      Für den Operator „ist einer von“ wäre der erwartete Rückgabetyp entweder eine durch Kommas getrennte Liste von Feldnamenwerten oder ein Array, das jeden Feldnamen enthält, der in die Ergebnisse aufgenommen werden soll.

    5. Wählen Sie einen Feldtyp und einen Operator aus, und geben Sie eine JavaScript-Anweisung ein.
      • Verwenden Sie für eine einzeilige JavaScript-Anweisung das Format javascript:<JavaScript_Statement> ; .
      • Verwenden Sie für eine JavaScript-Anweisung, die eine Skripteinbindung aufruft, das Format javascript:new <Record_Name> ().<Function_Name> (); wobei Record_Name dem Datensatznamen der Skripteinbindung entspricht und Function_Name die Funktion in der Skripteinbindung ist, die den im Filter verglichenen Wert zurückgibt.
      Hinweis:
      Die Javascript-URL kann auch einen oder mehrere Parameter enthalten, die an die Funktion übergeben werden, die die Berechnung durchführt und ein Ergebnis zurückgibt. Zum Beispiel könnte eine JavaScript-Funktion, die zwei Parameter an den Datensatz der Skripteinbindung übergibt, als javascript:new TextJSFilter().getGroupIDs("Professional Services","Sales");geschrieben werden. .

    Nächste Maßnahme

    Nachdem Sie die erforderlichen JavaScript-Anweisungen und -Bedingungen hinzugefügt und den Rest des Berichts konfiguriert haben, testen Sie den Bericht, um sicherzustellen, dass er die erwarteten Ergebnisse zurückgibt und anzeigt.