LoginSignup
1
0

More than 1 year has passed since last update.

ServiceNow の Navigation メニューを Excel やスプレッドシートのフィルタを使って調査できるようにしたい

Last updated at Posted at 2023-01-16

きっかけ

例えば Knowledge の Administration のモジュールには何がある、といった調査を、Excel などでフィルタしながら調査できるようにしたい、と思ったのがきっかけです。ServiceNow の Navigation メニューを下にスクロールしながらメモするとかではなく。

前提

  • Navigation メニューの表示に使用されている sys_app_module テーブルに Link Type = separator のレコードがあると、以降の Order 値のレコードがグルーピングされて表示されています。これをうまく活用したいです。
  • ServiceNow の開発者でなくてもできるように、Script は使わず、エクスポート後にデータ加工する前提で方法を検討しました。自宅の私用の PC には Excel は入っていないので、Google Drive のスプレッドシートを使用しました。
  • Link Type = separator のレコードの Display menu が空欄の場合は、レコードのグルーピングではなく、区切り線表示をしているようですが、その対応は割愛します。

ServiceNow からエクスポート

フィールドは、Application menu, order, Link type, Display menu の 4 個を選びます。Application menu が not empty のレコード および Active = true のレコードを選択します。
図のように Application menu および order をソートするかわりに、エクスポート後にソートしても良いです。image.png

エクスポート後、Application menu が empty になっているレコードが見つかることがあります。sys_id に該当するアプリケーションが存在しないためです。それらのレコードも除去します。

仕様みたいなもの

  • Application menu 単位で、separator が出現するまでの間のメニューは第 1 階層にする。
  • separator が出現したら、separator の名前を第 1 階層とし、次の separator を見つけるまで同じ名前にする。以降のメニューは第 2 階層にする。
  • 次の Application menu に進んだら、再びメニューを第 1 階層にする。以降その繰り返し。

スプレッドシートの設定

追加する列

エクスポートしたフィールドに加えて下記の 4 列を追加します。最終的に level1 および level2 が得たい結果です。
grouping, level1, level2

各列の式

grouping は下記のようにします。

  • Link type = Separator なら Display menu の値をセット。
  • Separator 以外の場合、上の行の値を継続。ただし Application menu が変わっている場合は空欄にします。
    image.png

level1 は、grouping が空欄なら Display menu の値、grouping の値があるなら、その値にします。
image.png

level2 は、grouping が空欄なら、空欄。grouping の値がある場合、Separator ならハイフン記号にして、Separator ではない場合は Display menu の値にします。
image.png

整形

  • 新しいシートを用意しておき、すべての列をコピーして、「特殊貼り付け」>「値のみを張り付け」を選んで新しいシートに張り付けします。 そのうち、Application menu, level1 および level2 の列だけを残します。
  • level2 の値がハイフン記号だけの行を削除します。

結果

Application menu が Knowledge で、level1 が Administration のメニューには何があるか、スプレッドシートで調査できるようになりました。
image.png

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0