メインコンテンツへスキップ

Data Visualizationsでグラフをゼロから作る手順


    Zurich で ServiceNow の「レポート」を作ろうとすると、最初につまずきます。以前の作成画面($reportv2.do)が無くなっているからです。レポートは Platform Analytics の Data visualizations に統合され、入口が変わりました。

    この記事では、Incident テーブルから「優先度ごとに対応状況の内訳が見える」積み上げ棒グラフを、画面つきで最後まで作ります。手順は6ステップ、実際の操作は7分ほどです。どこをクリックすればどうなるか、実機の画面で追えます。

    この記事で分かること

    • Zurich でレポート(Data visualization)を作る場所

    • データソース → 種別 → グループ化 → 保存という最短ルート

    • Priority と State を重ね、積み上げ棒グラフにする方法

    • 同じデータを Donut や Horizontal bar に変える手順

    • 棒グラフが表示されないときの原因

    検証環境は ServiceNow の PDI(Personal Developer Instance)Zurich リリースです。デモデータ入りの状態で操作しています。画面や既定値はリリース・環境で変わることがあります。


    前提:レポートは「Data visualizations」に変わった

    Zurich では、従来の「Reports」が Platform Analytics というワークスペースに統合されました。個々のグラフや表は Data visualization と呼びます。旧来のレポートビルダー $reportv2.do は、開いても「Page not found」です。ナビゲーションの report_home.do にアクセスすると、自動的に Data visualizations の一覧へ転送されます。

    まずはこの一覧が出発点になります。左上に「Data visualizations」、右上に青い「Create data visualization」ボタンがある画面です。


    画像

    一覧には、名前・説明・種別(Type)・作成者・更新日が並びます。デモデータ入りの PDI では170件ほどの既製ビジュアライゼーションが登録されていました。ここに、これから作るグラフが1件加わります。

    手順1:作成画面(Visualization Designer)を開く

    右上の「Create data visualization」を押します。すると Visualization Designer という作成専用の画面に切り替わります。


    画像

    画面には入口が2つあります。左が「Add data source to start(データソースを追加して開始)」です。右が「Alternatively, start by choosing chart type(種別から選ぶ)」です。データが無ければグラフは描けません。先にデータソースを決めるのが素直な順番です。

    右側には種別が分類ごとに並びます。時系列の Time series、数値の Scores、棒の Bars、円の Pie and donuts などです。棒グラフは Bars グループの中にあります。Vertical bar が縦棒です。

    手順2:データソースに Incident を追加する

    左の「Add data source」を押すと、データソースを選ぶダイアログが開きます。ソースは3種類です。テーブルそのものを使う Tables、事前定義の指標を使う Indicators、そして User Experience Analytics から選びます。

    検索欄に「Incident」と入れると、候補が絞り込まれます。


    画像

    Tables の下に Incident [incident] が出てきます。角括弧の中がテーブルの物理名です。ほかに Incident Fact Table [incident_fact_table]、Incident Task [incident_task] なども並びますが、今回は素の incident を選びます。Indicators 側には「Incident MTTR」「% high priority incidents」といった既製の指標もあります。

    Incident [incident] をクリックすると、右側にレコードのプレビューが出ます。ここで条件(Filters)を足して対象を絞ることも可能です。今回は全件のまま、右下の「Add this source」で確定します。

    手順3:種別を Vertical bar にする

    データソースを追加すると、いったん Single score(単一の数値)で表示されます。PDI では Incident の件数がそのまま「71」と出ました。ここから棒グラフに変えます。

    右の「Configuration」パネルの一番上、「Visualization type」というドロップダウンが「Single score」になっています。これを開くと、種別の一覧が検索付きで出ます。


    画像

    一覧には23種類の可視化があります。上から探してもよいのですが、検索欄に「Vertical」と打つと Vertical bar だけに絞れます。これを選べば種別の指定は完了です。

    手順4:Group by で棒の「切り口」を決める

    棒グラフは、何かの単位で件数を分けて初めて意味を持ちます。この「分ける軸」が Group by です。種別を Vertical bar にした直後は、既定で「Active(有効フラグ)」でグループ化され、true と false の2本が立ちます。

    切り口を変えるには、右パネルの Data セクションにある Group by の「Edit group by」を押します。すると小さなポップオーバーが開き、「Field for Incident」という項目でグループ化するフィールドを選べます。


    画像

    ここを Priority に変えると、優先度ごとの件数で棒が立ちます。「Max number of groups」は棒の最大本数で、既定は10です。種類が多いフィールドで上位いくつまで表示するかの上限です。設定したら「Apply」で反映します。棒グラフが Priority 別に描き直されます。

    Group by を設定しないと、キャンバスに「Unable to display content」と出ます。エラーではなく、「軸がまだ決まっていない」という合図です。棒グラフでは Group by が必須と覚えておくと、つまずきません。

    手順5:State を重ねて積み上げ棒グラフにする

    Priority だけでも棒グラフとして意味を持ちますが、対応状況まで一目で分かる形にできます。棒の中を State で色分けする「積み上げ棒グラフ」です。

    やり方は、Group by セクションの「+ Add」を押すだけです。1つ目の軸(Priority)はそのまま横軸の棒に残り、2つ目に足した軸(State)が棒の中の色分けになります。


    画像

    右パネルの Group by には Priority と State の2つが並びます。この状態で保存すると、優先度ごとの棒の中に、Closed・In Progress・New・On Hold といった対応状況の内訳が積み上がって表示されます。

    紛らわしい機能が近くにもう一つあります。「Add alternative group by」です。これは積み上げではなく、閲覧者が軸を切り替えるための機能でした。同じ棒グラフの中で「Priority別」と「Assignment group別」を選び直せるようにする用途で、積み上げたいときに押す場所ではありません。積み上げは Group by の「+ Add」、切り替えは「Add alternative group by」と覚えておくと迷いません。

    完成した棒グラフは、Criticalの山のうち何件がClosedで何件がIn Progressか、という実務の問いにそのまま答えます。単一の軸だけでは見えなかった内訳が、1枚のグラフに収まります。

    手順6:名前を付けて保存する

    画面左上のタイトルは初期状態で「Untitled」です。これをクリックして「Incidents by Priority」のような分かる名前に変えます。名前は後から一覧で探す手がかりになるので、内容が伝わる名前にしておきます。

    右上の「Save」で保存します。手順の最初に見た Data visualizations 一覧に、この棒グラフが1件加わりました。名前・種別(Vertical bar)・更新日も記録されます。

    なお、Save の隣にある「Add to Dashboard」を使うと、作ったグラフをそのままダッシュボードに載せられます。ダッシュボードへの載せ方は別記事で扱います。

    Vertical bar・Horizontal bar・Column の使い分け

    種別ピッカーには、棒に見えるものが3つあります。Vertical bar、Horizontal bar、そして Time series の Column です。見た目は似ていますが、向いている用途が違います。

    Vertical bar と Horizontal bar は、Priority や Category のような「分類」で件数を比べるときに使います。縦か横かは分類名の長さで選ぶと迷いません。同じデータをHorizontal barに変えると、次のような表示になります。


    画像

    データソースもGroup byも作り直していません。Visualization typeを選び直しただけで、横向きの棒に変わりました。分類名が長いときは、この向きだと文字が切れません。

    一方 Column は Time series グループにある種別です。日付や週といった「時間の流れ」で件数の推移を見るときに使います。切り替えると右パネルに「Trend by」というセクションが現れ、横軸が日付に変わります。

    検証で使ったPDIのデモデータは、Incidentが71件で、作成日が10年近くに分散していました。この状態でColumnに変えると、棒が数年おきに細く散らばり、全体がスカスカで読み取りにくい表示になりました。時間の推移を見るには、ある程度データが溜まっている必要があると分かります。

    分類を比べるならVertical barかHorizontal bar、時間の推移を見るならColumnと覚えておくと選び間違えません。

    件数以外を測る:Metric(集計)を変える

    既定の棒グラフは、件数(COUNT)で棒の高さが決まります。右パネルの Data セクションにある「Metric」が、この高さの計算方法です。初期値は「COUNT of Incident」で、レコードの数を数えています。

    Metricを変える入り口は、キャンバス上のMetricカードにあります。「COUNT / Incident」と書かれたカードの右にある3点メニューを開くと、次の画面になりました。


    画像

    メニューには「Edit」と「Delete」の2項目だけが並びます。「Edit」を選ぶと、集計方法を変えるダイアログが開きます。

    件数以外も測れます。初期値は COUNT(件数)ですが、SUM(合計)やAVG(平均)に変えると棒の高さの意味が変わります。たとえば「対応時間の平均を優先度別に」なら、Metricを平均にして対象フィールドに時間の項目を選ぶだけです。件数のグラフが、平均時間のグラフに変わります。

    対象を絞る:データソースに条件を足す

    全件ではなく「未クローズだけ」「今月だけ」を見たい場面があります。その絞り込みは、データソースの条件(Filters)で行います。

    データソースを追加するダイアログで Incident を選んだあと、「Add custom conditions」を押します。すると条件ビルダーが開きます。


    画像

    書き方は通常のリストの条件と同じです。「Select field」でState や Opened などの項目を選び、「Select operator」で is や is not などの演算子を選び、「Enter value」で値を入れます。条件を複数並べるときは、行の間の and/or で関係を指定する仕組みです。「New condition set」を使うと、条件のかたまりをもう1組足せます。

    組み立てた条件は「Run」を押して確認します。右側の「Preview record list」に対象件数が表示され、今回の検証では絞り込み前の71件がそのまま表示されました。条件を足すたびにここで件数が変わるので、絞り込みすぎていないか確認しながら進められます。「Add this source」で確定すれば、その範囲だけがグラフの対象です。条件は、作ったあとでも Data セクションから編集できます。

    見た目を整える:色・軸・データラベル

    グラフは作った直後でも読めますが、人に見せるなら仕上げをします。右パネルの「Presentation」セクションに、見た目の設定がまとまっています。

    基本の設定:色・軸・データラベル

    棒の色は「Colors」で指定します。優先度なら、高いほど濃い色が効果的です。危険度がひと目で伝わります。「Data label」を有効にすると、各棒の上に件数が出ます。ぱっと見で値が分かるので、報告用には付けておくと親切です。軸のタイトルは「X axis」「Y axis」で設定します。凝りすぎは不要です。色とデータラベルの2つを整えれば、見栄えは十分に良くなります。

    データラベルをONにした実物

    Presentationの「Data label」セクションで「Show data labels」にチェックを入れます。「Data label position」をMiddleにすると、次のようになりました。


    画像

    積み上げられた色帯の中に、12・11・1・4・6・3といった件数がそのまま表示されています。

    Presentationセクションの全体像

    Presentationを開くと、Display settings・Chart variation・Y axis・X axis・Legend・Data label・Colorsの7項目が並びます。

    Colorsの配下には「Set color type」というドロップダウンがあり、Default・Color palette・Fixed element colorの3つから選べます。Defaultから「Fixed element color」に変えると、積み上げ棒グラフの色が変わりました。


    画像

    直前のデータラベル表示(水色・オレンジ・紫・ピンク)から、緑・紫・水色・オレンジの配色に変わっています。Data labelの配下には「Data label position」で位置を決める設定のほか、積み上げ棒グラフ限定の「Show stacked value as」があります。これは内訳ごとの数値を表示するIndividualなどを選べる項目です。

    同じ要領で作れるグラフ

    グラフが1つ作れれば、他のグラフも同じ流れで作れます。データソースを選び、種別を変え、Group by を決める。この3手順は共通です。

    種別のドロップダウンを変えるだけで、同じデータソース・同じGroup byのまま見せ方が変わる例を1つ紹介します。Donut(ドーナツ円グラフ)です。


    画像

    データソースもGroup byも作り直していません。Visualization typeを選び直しただけで、この表示に変わりました。円グラフは全体に対する割合を伝えるのに向きます。Horizontal barへの変更は、「Vertical bar・Horizontal bar・Column の使い分け」の節で確認した通りです。線の推移を見たいなら Line、表で細かく見たいなら Pivot Table という選択肢もあります。まずは棒グラフでこの流れに慣れると、他のグラフにも迷わず手が伸びます。

    よくある質問

    作ったグラフはどこに保存される?

    Data visualizations の一覧に保存されます。手順の最初に開いた画面です。名前で検索でき、あとから開いて編集や複製ができます。内部的には Platform Analytics の管理下に入るため、旧来の Reports 一覧(sys_report)とは別の場所になります。

    旧レポート(sys_report)で作った既存レポートはどうなる?

    既存のレポートはそのまま残り、閲覧もできます。ただし新規作成の入口は Data visualizations に一本化されました。これから作るなら Data visualizations 側で作るのが素直です。過去分の移行については、この記事では扱いません。

    棒の数が多すぎて見づらい

    Group by の「Max number of groups」で上限を下げます。既定は10です。5にすれば、上位5分類だけが残ります。あふれた分の扱いは「Show others」で決められます。有効なら残りが「Others」という1本にまとまり、無効なら非表示です。

    同じデータで円グラフも作りたい

    種別を変えるだけです。Visualization type のドロップダウンで Pie を選べば、同じデータソースと Group by のまま円グラフになります。データソースを作り直す必要はありません。

    保存したグラフを直したい

    一覧から名前をクリックすると、Visualization Designer が同じ状態で開きます。種別も Group by もそのままです。直したい箇所を変え、もう一度「Save」を押せば上書きされます。別名で残したいなら、名前を変えてから保存します。

    グラフとインジケーター(Indicator)は何が違う?

    グラフはテーブルの「今」を数えて描きます。一方 Indicator は、決めた指標を定期的に測って時系列でためる仕組みです。「先月から何件増えたか」を追うなら Indicator、「今この瞬間の内訳」を見るならグラフが向きます。今回作ったのは後者です。用途で選び分けてください。

    表示された件数が想定と違う

    多くの場合、データソースの条件か Group by の上限が原因です。条件を付けたなら、その範囲だけを数えています。棒が少ないなら「Max number of groups」で切られている可能性もあります。まず条件と上限を見直してください。それでも合わないときは、同じ条件でリストを開いて件数を突き合わせます。

    権限がないと Data visualization は作れない?

    作成には、Platform Analytics を使えるロールが要ります。管理者(admin)なら問題なく作れます。一般ユーザーに作らせたいなら、レポート作成系のロールが必要です。閲覧だけは、共有されたダッシュボード経由で可能です。作れないときは、まずロールを確認してください。

    スマホからも見られる?

    作ったグラフやダッシュボードは、モバイル対応の画面でも表示されます。ダッシュボード側がレスポンシブに並び替わるため、外出先でも件数を確認できます。ただし編集は、PC の Visualization Designer で行うのが現実的です。細かい設定は、画面が広いほうが扱いやすくなります。

    作ったグラフを削除したい

    一覧から対象を開き、メニューから削除します。ダッシュボードに載せている場合は、先にダッシュボード側の配置を外すのが安全です。参照が残ったまま消すと、ダッシュボードに空欄が出ることがあります。消す前に、どこで使っているかを確認してください。

    作ったグラフの置き場所

    実務では、グラフを作って終わりにはしません。見る人の手元に届いて初めて役に立ちます。届け方は主に3つあります。ダッシュボードに載せる、URLで共有する、定期配信で送る、の3つです。

    一番よく使うのはダッシュボードです。Save の隣の「Add to Dashboard」から、既存のダッシュボードに置けます。関連するグラフや数値を1画面に集める使い方です。朝いちばんの状況把握が楽になります。作ったグラフの一覧は、いつでも Data visualizations から探せます。ダッシュボードへの載せ方と定期配信の設定は、別記事で手順を追う予定です。

    URLでの共有も手軽です。開いている Data visualization のURLを渡すだけで、権限のある相手は同じグラフを開けます。ただし、相手にデータの閲覧権限が無い場合は中身が見えません。共有の前に、見せてよいデータかどうかを確かめておくと安心です。

    つまずきやすい点

    実際に作ってみて引っかかりやすいのは、次の4つです。

    1. 旧レポートビルダーは無い。$reportv2.do は Zurich で廃止されました。作成は Platform Analytics の Data visualizations から始めます。

    2. 棒グラフは Group by が必須。未設定だと「Unable to display content」と出ます。Field for Incident で軸を選べば描画されます。

    3. 既定は Single score。データソースを足した直後は数値1つの表示です。Visualization type を Vertical bar に変える操作を忘れないでください。

    4. 積み上げは Group by の「+ Add」で作る。似た名前の「Add alternative group by」は軸を切り替える機能で、積み上げにはなりません。

    まとめ

    • Zurich のレポートは Platform Analytics の Data visualizations で作る

    • 手順は「作成 → データソース(Incident)追加 → 種別を Vertical bar → Group by で切り口 → 2軸目を足して積み上げ → 保存」

    • 棒グラフは Group by(Field for Incident)を設定して初めて描画される

    • Group by の「+ Add」で2つ目の軸を足すと、Priority別×Stateの積み上げ棒グラフになる

    • 種別のドロップダウンを変えれば、同じデータから Donut や Horizontal bar、線・ピボット表も同じ手順で作れる

    用語

    • Data visualization … Platform Analytics における個々のグラフ・表。旧「レポート」に相当する

    • Visualization Designer … Data visualization を作る専用画面

    • Vertical bar … 縦棒グラフ。種別の Bars グループにある

    • Group by … 集計を分ける軸。棒グラフでは必須。フィールド(例:Priority)を指定する

    • Single score … 数値を1つだけ大きく表示する種別。データソース追加直後の既定

    自分の環境で確認するときのURL

    • /now/platform-analytics-workspace/data-visualization-library(Data visualizations 一覧)

    • /now/nav/ui/classic/params/target/report_home.do(旧レポート入口。上記へ転送される)

    参考リンク


    関連記事

    検証範囲とおことわり

    • 確認した範囲:PDI(Zurich・デモデータ入り)の Platform Analytics で、Incident をデータソースに Vertical bar を作成し、Group by・保存、Group by への2軸目追加(積み上げ)、Donut・Horizontal bar・Columnへの種別変更、条件ビルダーでの絞り込みまでを実機で操作しました。本文の画面と手順はこの操作に基づきます

    • 確認していない範囲(断定しません):他リリースでの画面名・既定値、大量データでの描画時間、権限を絞ったロールでの表示。Data visualizations の件数や既製指標はデモデータに依存します

    • 旧レポート(sys_report)で作った既存レポートの扱いや移行の詳細は、本記事の範囲外です

    グラフが1つ作れれば、線・円・ピボットも同じ手順で作れます。次はダッシュボードに載せて、1画面で見えるようにします。

     
     
    ServiceNowのPDI(Personal Developer Instance)を実機で観察して、Noteに記事を書いています 実装・運用・教育の現場視点で淡々と記録中です リクエストがあればその記事も書きます 個人の観察日記です

    あなたへのおすすめ