Amazon QuickSight 自動ナラティブ TopMovers の表示を見やすくカスタマイズしてみた

見た目以上に大変な作業となりました。
2024.02.28

Amazon QuickSight には与えた期間内で値の変動がある対象をリストアップしてくれる TopMovers という機能があります。デフォルトの表示をカスタマイズして日本語化、視認性を高めた実装例を紹介します。

TopMovers とは

Amazon QuickSight ではグラフからわかることをテキストに要約してくれる機能(ナラティブ)があります。 その中に TopMovers という関数みたいなものがあり、与えた期間内で値に変動がある対象をリストアップしてくれますが、同じことをテーブル形式で可視化しようとすると手間がかります。 TopMovers は手軽に可視化できるため私はよく利用しています。

ですが、デフォルの表示はお世辞にも日本人から見ると見やすいとは言えません。

  • 日本語訳されるのはタイトルのみ
  • ハイパーリンクでもないのにハイパーリンクと誤解を生みそうな水色のカラー

ちなみにインサイトテキストを作成するときのサンプル表示は以下の様に日本語訳されていますが、実際は本文の翻訳はされません。

私なりに見やすくカスタマイズしてみた例を紹介します。

やってみた

サンプルデータ

サンプルデータとして 月ごとの 各 AWS サービスの利用費を使いました。前月と今月の利用費を比較して利用費増が多い AWS サービス をリストアップします。

TopMovers を生み出す

AWS 利用費を表示したテーブル形式のグラフを作成し、推奨インサイトを開き上位ムーバーを選択します。

これだけで前月と今月で利用費の変動が多かった一覧を作成してくれます。表示内容をカスタマイズするには「編集をカスタマイズ」を選択します。

編集画面になります。

TopMovers の基本的な設定はここから編集できます。

参照するフィールドの設定と、上位何番目まで出力するか、順位は絶対差なのか、パーセント差なのか設定できます。

絶対差で Top 5 を出力するとこうなりました。サンプルデータが少なく Top 4 までしか表示されていませんが、対象がなければないで表示されなくよしなにやってくれます。

見やすくカスタマイズする

出来上がるイメージはこちらです。

TopMovers 用のパラメータが用意されているので、if 文や、見慣れないパラメータを駆使して、必要な部分は日本語に書き換え頑張った結果が以下になります。

QuickSight の式をコピーして貼り付けた以下のテキストを QuickSight にコピペし直すと式が崩れて動きません。if 文の式のところがコピーできないようです。 上記のキャプチャとテキストにした以下の文章を参考に作り直すしかない様です。

TopMovers.itemsCount = 0
とくになし

TopMovers.itemsCount > 0

直近の月間利用費比較(TopMovers.startTimeValue.formattedValue と TopMovers.endTimeValue.formattedValue )



TopMovers.items

・TopMovers.items[index].categoryValue.formattedValue

   ifelse(TopMovers.isPercentDifference, TopMovers.items[index]…ifelse(TopMovers.isPercentDifference, TopMovers.items[index]…  増加 ifelse(TopMovers.isPercentDifference, TopMovers.items[index]…減少 / TopMovers.items[index].previousMetricValue.formattedValue → TopMovers.items[index].currentMetricValue.formattedValue ( ifelse(TopMovers.isPercentDifference, TopMovers.items[index]… )…

デフォルトの表示よりは見やすくなったのではないでしょうか。

おわりに

式を編集する画面のコピペもままらないことから察していただきたいのですが扱いづらいです。ブログ掲載のためにテキストにして一度貼り付けるとダメだったのですが、QuickSight の式の編集画面内でのコピペで移植は可能でした。なので、社内の方であれば私までご連絡いただければなんとかなるかと思います。 大多数の社外の方には編集画面を少し触っていただいて作業工数に見合うアウトプットを生み出せるかご自身と相談された方がよろしいかと思います。ちなみに私は 4 時間ほど溶かしてできたアウトプットが今回紹介した式になります。QuicskSight Q がきっと解消してくれると信じて東京リージョンに来るのを待っています。

参考