Dynamische JavaScript-Filter

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 4 Minuten Lesedauer
  • Erstellen Sie dynamische Bedingungen in JavaScript, die Sie als Teil der Kriterien einer Berichtsvisualisierung anstelle angegebener Werte konfigurieren können.

    Um einen Bericht mit einer dynamischen bedingten Anweisung zu erstellen, platzieren Sie eine JavaScript-URL in der bedingten Wertanweisung des Filters. Sie können einen JavaScript-Befehl direkt in das Feld eingeben. Bei einem Skript, das länger als eine Anweisung ist, muss das Skript jedoch in einem eigenen Datensatz platziert werden. Anschließend rufen Sie aus diesem Datensatz im Wertfeld der Berichtsbedingung eine Funktion 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ührenan.
    2. Öffnen Sie die Berichtsvisualisierung, der Sie den dynamischen Filter hinzufügen möchten.
    3. Wählen Sie das Filtersymbol (), um den Bedingungsgenerator zu erweitern.
    4. Erstellen Sie Ihre Filterbedingung.
      Mit diesen Kombinationen aus Feldtypen und Operatoren können Sie eine dynamische JavaScript-Anweisung angeben.
      Hinweis:
      • Der „between“-Operator stellt zwei Felder bereit, die dieselben oder unterschiedliche 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 Bestandteil von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder gleich“, „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 den Ergebnissen enthalten sein soll.

      Freitextzeichenfolge „ist“, „ist nicht“, „ist Bestandteil von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder gleich“, „kleiner als oder“. ist" Mindestens ein Textzeichen. Für den Operator „ist einer von“ wäre das erwartete Ergebnis entweder eine durch Kommas getrennte Liste von Zeichenfolgenwerten oder ein Array, das alle Werte enthält, 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 in diesem Feld in der Tabelle oder Datenquelle darstellen können
      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 in diesem Feld in der Tabelle oder Datenquelle darstellen können
      Anwendereingabe „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 Bestandteil von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder gleich“, „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 mit jedem Tabellennamen, der in den Ergebnissen enthalten sein 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 im Domänenfeld in der Tabelle oder Datenquelle darstellen können
      Anwenderrollen „ist“, „ist nicht“ Textdarstellung eines Zeichenfolgenwerts für eine Anwenderrolle.
      Domänenpfad „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „ist“, „ist nicht“, „ist Bestandteil von“, „kleiner als oder gleich“, „größer als oder gleich“, „ zwischen“ Ein oder mehrere Textzeichen, die einen Wert oder einen Teil eines Werts in diesem Feld in der Tabelle oder Datenquelle darstellen können 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 Bestandteil von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder gleich“, „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“ und „enthält nicht“ Textwert, der Daten im ausgewählten Feld in diesen Berichtskriterien entsprechen könnte.
      HTML-Vorlage
      E-Mail-Skript „enthält“ und „enthält nicht“ Textwert, der einen Wert darstellt, der im Feld „E-Mail-Skript“ angegeben werden sollte (oder nicht).
      Skript (einfach) „enthält“ und „enthält nicht“ Textwert, der einen Wert darstellt, der im Feld „Skript“ angegeben werden muss (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 Bestandteil von“, „beginnt mit“, „endet mit“, „enthält“, „enthält nicht“, „zwischen“, „größer als oder gleich“, „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 den Ergebnissen enthalten sein 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. Eine JavaScript-Funktion, die zwei Parameter an den Skripteinbindungsdatensatz übergibt, könnte beispielsweise wie folgt geschrieben werden : javascript:new TextJSFilter().getGroupIDs("Professional Services","Sales");.

    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 die erwarteten Ergebnisse zurückgegeben und angezeigt werden.