初めに
最近寒暖差が激しいので、皆さん体調崩してないですか?
私は、咳と鼻水が止まらないです。
お詫び:
アドベントカレンダー関係者の皆様、遅れてしまい申し訳ありません。。。。
やりたいこと
ServiceNowの日付項目のフィルター機能で、色々な応用が出来そうなOOTB機能がありましたので、使ってみたいと思います。
以下の公式ドキュメントの機能となります。
https://docs.servicenow.com/ja-JP/bundle/sandiego-platform-administration/page/administer/time/task/define-business-calendar-filtering-options.html
概要説明
今回は「ビジネスカレンダー」というものを使ってみます。
四半期や会計年度を管理するのに使われるものになります。
何とこれは、日付フィールドのフィルターに使用することも出来ます!
テーブル構造
ビジネスカレンダーは複数のテーブルから成り立っています。
ビジネスカレンダーアプリケーション配下のこれらのテーブルたちです。
設定手順
では早速、設定の方法を見ていきましょう。
ビジネスカレンダー
ビジネスカレンダーテーブルは、今回の機能の主となるテーブルです。
カレンダーを判別できるように、名前やラベルを指定し、タイムゾーンを設定します。
今後このテーブルに期間やフィルター範囲を紐付けていきます。
公式Docs:https://docs.servicenow.com/ja-JP/bundle/sandiego-platform-administration/page/administer/time/task/define-business-calendar-entries.html
ビジネスカレンダーエントリ
期間を指定するテーブルとなります。
ビジネスカレンダーの関連リストから、新規作成を行っていきましょう。
エントリ名は参照項目となっています。
付けたい名前が無い場合は、POPUPやエントリ名モジュールから登録を行います。
また、カレンダー内で期間が重複している場合は、登録エラーとなります。
※エントリ名未作成の場合は、エントリ名を作成する
今回は5つ期間を設定してみました。(ちなみに期間のテーマは、期末テストという事にいてます笑)
ビジネスカレンダーフィルターオプション
続いては、フィルターに使用する際に範囲を指定します。
現在の日付が当てはまる期間を0として、一つ前を-1、一つ先を1といった形で登録します。
2つ先の期間まで有効にする場合は、2と入力する感じですね。
これで、「一つ前、現在、一つ先、2つ先」がフィルターで使用できるようになりました。
パッケージのカレンダー
最後に、所定のアプリケーションで、ビジネスカレンダーを使用可能にする設定を行います。
パッケージのカレンダーモジュールから、新規登録を行います。
※今回は「Qiita」というカスタムアプリケーションで、試しています。
アプリケーションとカレンダーを指定するだけです。
これでフィルターを使用する準備完了です。
動作確認
フィルターを検証するために、2023/01~2024/12までの日付レコードを用意しました。
この開始日時にフィルターを使用してみましょう。
フィルターの一番下に今回フィルターオプションで指定した4つの範囲が追加されていますね。
("最後"は1つ前の期間、"この"は現在、"次は"1つ先、"次の2"は2つ先 です。)
(日本語表記については、今後のアップデートに期待しましょう笑)
では実際にフィルターをかけてみましょう。
現在は、12月なので、次のフィルタを使うと、次の期間の7件がヒットするはず。。。。
成功の様です!!
さいごに
今回はOOTBで作成できる日付のフィルターを触ってみました。
この機能を使用するとレポートやダッシュボードの表現の幅が広がるのではないでしょうか?
是非皆さんも試してみてください!!