【アイデア求む】”1対多”の関係を持つ複数の情報を1画面で確認したい

Shota Nakamura
Tera Guru

1対多の関係を持つ複数の情報をServiceNowで見やすく表現する方法を探しています

【前提事項】

  • 物理サーバと仮想マシンの情報をServiceNowで確認したい
  • 1物理サーバに対して複数の仮想マシンが紐づくため、テーブルの構成は以下のようになる想定
    • テーブルA:物理サーバの情報を格納
    • テーブルB:仮想マシンの情報を格納。テーブルAを参照する
    • AとBは1対多の関係

【実現したいイメージ】

  • 添付1のように、1画面で複数の物理サーバとそれにひもづく複数の仮想マシンの情報を確認できるようにしたい
  • テーブルAのサーバ名とテーブルBの仮想マシン名でソートしたい


【試したこと】

  • 添付2のように、テーブルBのリストにテーブルAの情報も表示した
    • この方法ではテーブルAの情報が重複して冗長に感じます
    • 画面上では、1カラムでしかソートできません
      (サーバ名でソートすると、仮想マシン名の並びが保証されない)

 

当方でリスト以外の方法を試しきれていなくて恐縮なのですが、
添付1のようなイメージで表現する方法についてアイデアお持ちの方、ぜひご教示いただけますと幸いです。

 

<添付1>

find_real_file.png


<添付2> ※左3つのカラムがテーブルAの情報。右2つのカラムがテーブルBの情報

find_real_file.png

 

 

1 件の受理された解決策

t_sadahisa
Giga Guru

こんにちは。
いくつかアイデアを提示させていただきます。

◆案1:カスタマイズしない方法

この内容についてはご要望の2点とも満たせません。
ホストにアクセスして、存在するVMを確認する形になります。

ESXiで仮想マシンを稼働させると考えた場合、
適切なクラスはcmdb_ci_esx_serverとcmdb_ci_vmware_instanceだと思われます。

2つの間にregistered on::Has registeredという関係を結べば、OOTBのビューで関連リストに追加されます。

 

◆案2:多少のカスタマイズ
VMを管理しているテーブルにReferenceを追加します。
1:nの場合はこの方法が最も簡単でしょう。

リストのビュー定義では、Dot-walkが可能なので、Referenceが持っている情報をリスト上に入れ込むことができます。
(List layout)
find_real_file.png

(実際に表示されるList)

find_real_file.png

 

あとは、Host側のNameでGroup byとかした上でVMのNameでソートすればご要望のとおりではないかと思います。

 

以上、ご参考になれば幸いです。

元の投稿で解決策を見る

5件の返信5

iwai
Giga Sage

もうひとつリストビューでグループ化する方法と、ソートを複数設定する方法も投稿しておきます。
グループ化はカラム名でメニューを表示して、GroupBy~を選択。グループ化することで見やすくなります。
複数のソートはフィルター設定でAddSortを必要な分追加。
これらの設定はURLにも反映されるのでメニューに登録したりお気に入りに登録することができます。ただソートは、ちょっとした操作で上書きされたり、リセットされたりします。

find_real_file.png