動的 JavaScript フィルター
JavaScript で動的条件を作成し、指定した値の代わりにレポートの可視化の基準の一部として設定できます。
動的な条件ステートメントを使用してレポートを作成するには、フィルターの条件値ステートメントに JavaScript URL を配置します。JavaScript コマンドをフィールドに直接入力することもできますが、複数のステートメントより長いスクリプトの場合は、スクリプトを独自のレコードに配置する必要があります。次に、レポート条件の値フィールドでそのレコードから関数を呼び出します。
動的 JavaScript フィルターを追加する
レポートのビジュアル化のフィルター基準の一部として、評価用の動的 JavaScript ステートメントを追加します。
始める前に
必要なロール:itil、report_user、report_group、report_global、report_admin、または admin。意味のあるレポートを作成するには、レポートするデータにアクセスする権利が必要です。
このタスクについて
JavaScript フィルターは、1 行のステートメントにすることも、長いスクリプトにすることもできます。長い JavaScript ステートメントの場合は、正しい形式とデータタイプを返し、レポートでフィルタリングする特定のデータに準拠し、クライアント呼び出し可能なスクリプトインクルードを作成します。詳細については、「スクリプトインクルード」を参照してください。
手順
- 移動先 すべて > レポート > 表示/実行.
- 動的フィルターを追加するレポートの可視化を開きます。
-
フィルターアイコン (
) を選択して、条件ビルダーを展開します。
-
フィルター条件を作成します。
これらのフィールドタイプと演算子の組み合わせにより、動的な JavaScript ステートメントを指定できます。注:
- 「between」演算子は、同じまたは異なる JavaScript URL をサポートできる 2 つのフィールドを提供します。
- 「is」演算子は、予想される型のデータ要素の配列を返すことができます。この場合、演算子は "is one of" 演算子として扱われます。
フィールドタイプ 許可された演算子 予想される戻り値のデータタイプ Sys ID (GUID) "is"、"is not"、"is one of"、"starts with"、"ends with"、"contains"、"does not contain"、"between"、"greater than or is"、"less than or is"。 sys_id値の全部または一部のテキスト表現。 "is one of" 演算子の場合、想定される戻り値の型は、sys_id値のコンマ区切りリスト、または結果に含める必要がある各sys_idを含む配列のいずれかになります。
フリーテキスト文字列 "is"、"is not"、"is one of"、"starts with"、"ends with"、"contains"、"does not contain"、"between"、"greater than or is"、"less than or is" 1 文字以上のテキスト文字。「is one of」演算子の場合、想定される結果は、文字列値のカンマ区切りリストか、「is one of」検索値フィールドに含める各値を含むアレイのいずれかになります。 参照 「次の値で始まる」、「次の値で終わる」、「次の値を含む」、「次の値を含まない」 テーブルまたはデータソースのこのフィールドで見つかった値の一部または値の一部を表す 1 つ以上のテキスト文字。 文字列 (別のテーブルを参照) 「含む」、「次の値で始まる」、「次の値で終わる」、「次の値を含まない」 テーブルまたはデータソースのこのフィールドで見つかった値の一部または値の一部を表す 1 つ以上のテキスト文字。 ユーザー入力 「次の値に等しい」、「次の値ではない」 テーブルまたはデータソース内のこのフィールドのあるレコードのフル値を表すことができるテキスト文字。 テーブル名 "is"、"is not"、"is one of"、"starts with"、"ends with"、"contains"、"does not contain"、"between"、"greater than or is"、"less than or is" システム内のテーブル名全体または部分をテキストで表現したもの。"is one of" 演算子の場合、想定される戻り値の型は、テーブル名値のコンマ区切りリスト、または結果に含める必要がある各テーブル名を含む配列のいずれかになります。 テンプレート値 「次の値に等しい」、「次の値ではない」 インスタンスで見つかったテンプレートに従って値を実行するテキスト文字。 ドメイン ID 「次の値で始まる」、「次の値で終わる」、「次の値を含む」、「次の値を含まない」 テーブルまたはデータソースのドメインフィールドで見つかった値の一部または値の一部を表す 1 つ以上のテキスト文字。 ユーザーロール 「次の値に等しい」、「次の値ではない」 ユーザーロールの文字列値のテキスト表現。 ドメインパス "starts with", "ends with", "contains", "does not contain", "is", "is not", "is one of", "less than or is", "greater than or is", "between" テーブルまたはデータソースのこのフィールドで見つかった値の一部または値の一部を表す 1 つ以上のテキスト文字。「is one of」演算子の場合は、テキスト値のカンマ区切りリスト、または含める必要がある各値を含むアレイオブジェクトのいずれかです。 翻訳されたテキスト "is"、"is not"、"is one of"、"starts with"、"ends with"、"contains"、"does not contain"、"between"、"greater than or is"、"less than or is" テキスト値。 "is one of" 演算子の場合、想定される戻り値の型は、テキスト値のコンマ区切りリストまたはテキスト値の配列のいずれかになります。
翻訳 (変換) 済みフィールド HTML 「含む」、「含まない」 このレポート基準で選択したフィールドのデータに対応する可能性があるテキスト値。 HTML テンプレート メールスクリプト 「含む」、「含まない」 [メールスクリプト] フィールドに含める必要がある (または含めない) 値を表すテキスト値。 スクリプト (平文) 「含む」、「含まない」 [スクリプト] フィールドに含める必要がある (または含めない) 値を表すテキスト値。 スクリプト (サーバー側) スクリプト 短いテーブル名 「次の値に等しい」、「次の値ではない」 テキスト値 (40 文字未満)。 「is one of」演算子の場合、想定される戻り値の型は、テキスト値のコンマ区切りリスト、または短いテーブル名を表す各テキスト文字を含む配列のいずれかです。
フィールド名 "is"、"is not"、"is one of"、"starts with"、"ends with"、"contains"、"does not contain"、"between"、"greater than or is"、"less than or is" フィールド名値の全体または部分をテキストで表現したもの。 "is one of" 演算子の場合、想定される戻り値の型は、フィールド名値のコンマ区切りリスト、または結果に含める必要がある各フィールド名を含む配列のいずれかになります。
-
フィールドタイプと演算子を選択し、JavaScript ステートメントを入力します。
- 1 行の JavaScript ステートメントの場合は、
javascript:<JavaScript_Statement> という形式を使用します。 - スクリプトインクルードを呼び出す JavaScript ステートメントの場合は、
javascript:new <Record_Name>().<Function_Name>();という形式を使用します。Record_Nameはスクリプトインクルードのレコード名に対応し、Function_Nameはフィルタで比較された値を返すスクリプトインクルード内の関数を表します。
注:Javascript URL には、計算を実行して結果を返す関数に渡される 1 つ以上のパラメーターを含めることもできます。たとえば、スクリプトインクルードレコードに 2 つのパラメーターを渡す JavaScript 関数は、javascript:new TextJSFilter().getGroupIDs("Professional Services","Sales");と記述できます。 - 1 行の JavaScript ステートメントの場合は、
次のタスク
必要な JavaScript ステートメントと条件を追加し、レポートの残りの部分を構成したら、レポートをテストして、期待どおりの結果が返され、表示されることを確認します。