【ServiceNow】モダンエクセルによるServiceNowの集計

【ServiceNow】モダンエクセルによるServiceNowの集計

こんにちは、ServiceNow担当のマサヒロです。

みなさんは社内システムのデータをエクセルで集計するのが面倒だと思ったことはありませんか。
データをエクスポートできないシステムはともかく、エクスポートしたデータがCSVで毎回整形するのが手間なことありますよね。

ServiceNowなら、
エクセルと連携して常に最新のデータを表示して集計やグラフにすることができます。



エクセルのPower QueryやPower Pivotを使った表のことをモダンエクセルといいますが、このPower Queryを使うとServiceNowと連携することができます。

やり方はかんたん3ステップ。
  1. ServiceNowのデータテーブルのURLを入力してIDとパスワードで認証する
  2. 取り込んだデータをテーブルに変換
  3. ピボットで集計してグラフで表示


では実際にやってみましょう。

モダンエクセルによるServiceNowの集計

1. ServiceNowのデータテーブルのURLを入力してIDとパスワードで認証する


エクセルのデータの取得のメニューにある「Webから」の取得を選びます。


URLにServiceNowのデータテーブルのURLを入力します。


入力形式は 下記の通りです。
https://「インスタンス名」.service-now.com/api/now/table/「テーブル名」+オプションコマンド

詳しい仕様はServiceNowのテーブルのAPIの説明ページに掲載してあります。


よく使うオプションコマンド

sysparm_query=「検索文字」 : テーブルを検索して結果を取得できます
sysparm_display_value=true : 表示値を取得できます。内部値と表示値を切り替えることができます。
sysparm_exclude_reference_link=true : 取得したデータの中にレコードへのURLは不要な時に設定します。
sysparm_limit : 最大取得レコード数をしていします。標準値は1万件になっています。

 

検索文字はServiceNowでテーブルを検索した時にCopy Queryで取得できます。


 

今回は下記のURLとしました。
インシデントテーブルの更新日時が過去3か月以内のデータを取得します。

「myInstance」の部分だけ利用しているインスタンス名に書き換えて使ってみてください。

https://myInstance.service-now.com/api/now/table/incident?sysparm_query=sys_updated_on%3E%3Djavascript%3Ags.beginningOfLast3Months()
&sysparm_display_value=true&sysparm_exclude_reference_link=true

 

URLを入力してOKを押すと初回だけユーザー名とパスワードの入力が表示されます。ServiceNowの参照権限があるユーザー名とパスワードを入力して認証してください。



2. 取り込んだデータをテーブルに変換


認証が正しく通ると、PowerQuery エディターが起動します。


「List」の文字をクリックしてListの中を参照してください。


今回取得できたRecordが並びます。テーブルへの変換ボタンを押してください。



テーブルの変換方法はそのままでOKです。


テーブルになった後は、さまざまな加工ができるようになります。今回はかんたんに必要な項目だけ一覧にします。


Column1の右にある矢印のボタンをクリックします。これはColumn1(データのレコードの中身)を展開する機能です。


展開したい項目を選びます。今回はインシデントの番号とステータスと更新日付を選びます。


選択した項目が並びました。


項目はさまざまな加工ができるようになっています。今回は型の変換で日付時刻に変換しました。


これらの作業は順番に記録されて、データ更新の時には自動的に適用します。更新ボタンを押すだけで順番とおりに処理してエクセルに反映します。


データの加工ができたら、「閉じて読み込む」ボタンを押します。これでエクセルにテーブルとして読み込みます。



再取り込みが必要な時は、外部のテーブルデータにある更新ボタンを押します。いつでも最新データを表示できます。

プロパティーには自動更新の設定や更新のタイミングなどを設定できる項目があります。




3. ピボットで集計してグラフで表示

最新情報のテーブルができたら、あとはいつものエクセル作業でピボットにしてグラフにするだけです。



 

まとめ

今回はインシデントテーブルのデータをそのまま抽出してエクセルのテーブルにしました。

ServiceNowから集計結果を取得する方法もあります。
これなら毎回何千件ものデータをエクセルに取り込んで集計するより、ServiceNow側で集計した結果だけ受け取るので圧倒的に早くグラフを表示することができます

みなさんならどんな情報を集計しますか。


ServiceNowを活用した業務改善をするなら、弊社のServiceNow導入サービスをよろしくお願いいたします。

ServiceNowについて更に詳しく知りたい方は、
ServiceNowに熟知したSTSメンバーがよりよいシステム構築をご提案しますので、ぜひご相談ください。

関連記事

本記事はいかがでしたか?

Follow マサヒロ:

2016年中途入社。ServiceNow Technical Consultantの鬼。ServiceNowで困った時はこの人に聞け!! ServiceNowチームの頼りになるお兄さん(?)。休日は神出鬼没。自宅から半径約20km以内をあちこち歩きながら、AI、機械学習、仮想現実、ITのトレンドについて考えています。