Amazon Web Services ブログ
インパクトのある Amazon QuickSight のダッシュボードを、パラメーター・コントロール・URL アクションを使って構築する
Amazon QuickSight は今年の 5 月に、パラメーター、コントロール、そして URL アクションの機能をサポートしました。このブログ記事では、いくつかのサンプルビジュアルの作成を通じて、これらの機能を利用したインタラクティブなダッシュボードの作り方について説明します。
各機能の概要
パラメーターは、ダッシュボードにおける「変数」をさします。パラメーターを利用することで、フィルタリング、What-if 分析、ドリルスルーといった機能を Amazon QuickSight で実現できるようになります。パラメーターを作成したら、それを変更するためのコントロール UI を設置します。ドロップダウン・スライダーバー・テキストボックス・日付セレクターなどの UI を通じて、ダッシュボードを見る人がパラメーターを自由に変更できます。このパラメーターはダッシュボード内のすべてのビジュアルに対して反映されます。
パラメーターおよびコントロール UI を実際にビジュアルに反映させるためには、フィルター、計算フィールド、URL アクションなど中で、このパラメーターを参照しておく必要がある点に注意してください。そうすればダッシュボードを見た人が、コントロール UI を通じてパラメーターを変更し、ダッシュボード上でインタラクティブな分析を行えるようになります。またコントロール UI を設置しない場合には、ダッシュボードの URL を通じて、パラメーターの値を指定することもできます。こちらの詳細に関しては、Amazon QuickSight のドキュメントをご覧ください。
URL アクションにより、ビジュアル内の要素に対して URL を付与し、そこから新しいWebページに誘導することができるようになります。もちろん URL に対して特定の値を引き渡すこともできます。簡単な例として、データの中に URL を含んだカラムがあったとしましょう。この場合、ビジュアル内のデータポイントをクリックすると、当該カラムに含まれる URL が開くように URL アクションを設定することができます。指定した URL を開くだけでなく、mailto: のような URI を指定することで、メール作成画面を開くアクションを作成できます。より詳細については、Amazon QuickSight のドキュメントをご覧ください。
それではいくつかのユースケースを通じて、これらの機能の使い方をみていきましょう。
ユースケース 1: ダッシュボードに簡単なフィルタコントロールを追加
Amazon QuickSight では、ダッシュボード内の 1 つのビジュアルだけでなく、複数のビジュアル、または全ビジュアルに反映させるような形でフィルターを設定することができます。画面左側のパネルから、このフィルター設定を行えます。データに含まれる全てのカラムをフィルターの対象とすることも、AND/OR のような条件や BETWEEN 句を使うこともできます。そうではなくドロップダウンや検索ボックス、スライダーバーのような形で、簡単なフィルタリングを行うのであれば、よりシンプルに設定を行うことができます。
パラメーターを作成するには、分析画面で + Add ボタンをクリックして、Add parameter を選択します。続いてパラメーターに対して名前とデータ型を指定してください。テキストボックスやドロップダウンを使用したい場合には、String 型を指定しましょう。
またこれは必須項目ではありませんが、パラメーターの初期値、またはユーザーごとに異なる初期値を与えることもできます。ユーザーごとの初期値を設定することで、パーソナライズされたダッシュボードを提供することができるようになります。指定されるのは初期値だけなので、ダッシュボード上で自由にパラメーターを変更することも可能です。
Create を選択したら、次にコントロール UI の作成画面に移ります。ここではフィルター、計算フィールド、カスタム URL、およびコントロール UI の設定を行うことができます。ここではまず Control を選んでみましょう。
この Control では、ユーザーがダッシュボードで実際に触る UI を指定します。先ほど String 型を選択したので、コントロール UI としてテキストボックスかドロップダウンを選びます。ここでは Drop down を選択します。
続いてドロップダウンで表示させるカラムや値を設定します。手動で値を入力することもできますが、データセット内のカラムを指定することもできます。このやり方はデータセットのカラムに新しい値が追加されたら、ドロップダウンに反映させたい場合に、とても便利です。言い換えると、このやり方をとることでパラメーターの値をダイナミックにできるようになります(データが変更されたら、それに合わせてドロップダウンの値も変化するからです)。
データセットとカラムを選択したら、Apply ボタンを押します。すると分析画面の上側に、コントロール UI が表示されます。Controls セクションが折りたたまれている場合には、クリックしてセクションを表示させてください。
それでは、このパラメーターをどこかで使ってみましょう。ここでは、フィルターの中で使ってみることにします。スクリーンの左側から Filter を選択して、パラメーターで実際に操作したいカラムを選んでください。ここでは segment カラムにしてみましょう。
フィルターの設定画面で Custom Filter を選んで、Use parameters にチェックを入れます。そして先ほど作成したパラメーターを選択してください。
注意: Use parameters を選んだら、このフィルターを全ビジュアルに対して適用するかの確認画面が表示されます。全ビジュアルに適用したい場合には Yes を選択してください。No を選択した場合には、フィルター作成時にハイライトされていたビジュアルに対してのみ適用されます。
Apply ボタンを押してください。これでコントロール UI を通じて、ビジュアルを制御することができるようになりました! ドロップダウンの値を変えると、それに連動してビジュアルも変化します。
このサンプルでは、単一のパラメーターとコントロール UI で、ダッシュボード内の 2 つのビジュアルを同時に制御してみました。同様の手順を繰り返すことで、さらに多くのパラメーターやコントロール、フィルターを追加することができます。
ユースケース 2: 複数のデータセットに対するフィルター
上で説明したサンプルでは、パラメーターおよびコントロール UI によるフィルターは、ダッシュボード内の全てのビジュアルに対して適用されました。それではもし、ダッシュボード内で複数のデータセットを使っていて、これらに対して単一のコントロール UI で制御を行いたいとしたら、どうすればよいでしょうか? パラメーターはもちろん、こうした場合にも利用することができます。
次のようなダッシュボードがあるとします。ここではWeb Orders と Web Analytics という、2 つのデータセットを使っています。この 2 つは、たとえば Amazon Redshift のような同一のデータソースから取ってきたものでも、それぞれ全く別のデータソース(Amazon Redshift と Microsoft Exel、または Amazon Athena などなど)から取ってきたものでも構いません。
最初のサンプルと同様に、パラメーターとコントロール UI を作成します。コントロール UI を作成してデータセット内のカラムに指定する際に、2 つのデータセットで値が共通しているカラムを選択してください(ここでは State を使用します)。このカラムはどちらのデータセットのものでも構いません。またコントロール UI で使用する値を、手動で入力することもできます。
これでパラメーターとコントロール UI ができました。各データセットに対して、このパラメーターを参照するフィルターを追加しましょう。1 つめのビジュアルを選択して(Web Orders データセットのほうです)、State を対象としたフィルターを作成してください。
同じ手順を 2 つめのビジュアル(Web Analytics データセットのほうです)に対しても行います。
2 つのフィルターを作成したことにより、2 つの異なるデータセットを使っている場合でも、ひとつの State コントロール UI で両方のビジュアルを操作することができるようになりました。
ユースケース 3: パラメーターを計算フィールド内で使うことによる、ビジュアル内で表示されるカラムの操作
パラメーターとコントロール UI を計算フィールドと組み合わせることにより、フィルター以外のさまざまな種類インタラクティブな操作を実現することができます。このサンプルでは、計算フィールド内の ifElse() ステートメントと組み合わせることにより、データセットに対するダイレクトクエリの内容を操作し、ビジュアルに表示させるメトリクスを変えることができるようにします。これはあくまで一例で、パラメーターと計算フィールドを合わせて使うことで、さまざまな操作を実現することが可能となります。
ここでは、ユースケース 1 で使ったビジュアルを再度使います。これに対して、KPI および棒グラフで表示させる対象のメトリクスを選択できるようにします。コントロール UI を作成する際に、今度は Linked to a data set field ではなく Specific Values を選んでください。さらに選択可能としたい値を入力します。ここでの値は、カラム名と完全に同じである必要はありません。
それでは次に計算フィールドを作成します。+ Add ボタンを押して、Add calculated field を選択してください。
この計算フィールドでは、パラメーターのコントロール UI で選択した値をみて、それに対応するメトリクスを返すような処理を行います。式は以下のようになります。
ifelse(
${KPIMetric} = Sales',sum(sales),
${KPIMetric} = 'Profit',sum(profit),
${KPIMetric} = '# Orders', distinct_count({order_id}),
Null
)
この計算結果は数値カラムとして表示されます。このカラムをドラッグして、好きなフィールドに持っていきましょう。コントロール UI で指定された値に対応するビジュアルが表示されます。
コントロール UI を変えることで、2 つのビジュアルが変化することを確かめてみましょう。
このサンプルでは、どのメトリクスを表示させるかを、パラメーターを通じて自由に選べることをお見せしました。これと同じテクニックを使うことで、指定した軸に表示するディメンションを選んだり、色をグルーピングをしたりといったこともできます。
ユースケース 4: パラメーターと URL アクションによる複数のダッシュボードの連携
これまで述べてきたこと以外にも、パラメーターを活用することで、あるダッシュボードからほかのダッシュボードへドリルスルーすることができるようになります。たとえば複数メトリクスのサマリーをまとめたダッシュボードだけでなく、各メトリクスの詳細を含んだダッシュボードも別で作成したとします。このとき、サマリーダッシュボードから詳細ダッシュボードに、なにかしらのパラメータも付与して遷移できると、非常に便利ですね。
このサンプルでは、あるダッシュボードからほかのダッシュボードに、URL にパラメーターを付与することでフィルター情報も含んだ形で飛ばすやり方をご紹介します。ここでは、売上のメトリクスとウェブサイトトラフィックのメトリクスが含まれたサマリーダッシュボードを使用します。さらに、ウェブサイトトラフィックのメトリクスのみについて、さらにまとめられたダッシュボードがあるとします。
Dashboard 1:
Dashboard 2:
ダッシュボード 1 のもとになった分析画面を開いて、WoW Impressions ビジュアルの右上のメニューをクリックして、URL Actions を選択します。
Action name は、ダッシュボードのユーザーが実際にデータポイントを選択したときに表示される見出しです。URL は遷移先のダッシュボードのものを入力します(この場合はダッシュボード 2 の URL です)。どちらの項目も、入力欄右側の + ボタンを押すことで、カラムの値を追加することができます。
上の例では、ダッシュボード 2 に単に遷移するだけです。もしここにさらにフィルターを追加したい場合には、URL にパラメーターを埋め込むことができます。ダッシュボード 2 にフィルターで利用されている Source というパラメーターがある場合には、以下のように URL を指定することで、フィルターを適用した状態でダッシュボード 2 を開くことができます。
https://us-east-1.quicksight.aws.amazon.com/sn/analyses/296f170c-5370-4b18-9249-18a156b7fe94#p.Source=Feed
上の URL アクションを新たに追加することで、ダッシュボード 2 に単に遷移するだけでなく、ダッシュボード 1 でユーザーが選択した Source についてドリルダウンした形でダッシュボード 2 の画面が開かれるようになります(week パラメーターを両方のダッシュボードに追加することで、Source に加えて Week についてのドリルダウンして遷移できるようになります)。
URL アクションを追加した結果のダッシュボード 1 画面は、次のようになります。*Action name* で指定した Source の値が動的にメニュー内容に表示されているのを確認できます。
これをクリックすると、ダッシュボード 2 に遷移します。リンクに含まれていたパラメーターをもとに、Referral でフィルターされた形でダッシュボード 2 が表示されます。
パラメーター、コントロール UI、そして URL アクションを利用することで、Amazon QucikSight のダッシュボードをより効果的かつインタラクティブにすることができるようになります。このブログ記事では、とても般的なユースケースを取り上げましたが、これらが皆さんの Amazon QuickSight 利用にプラスとなることを願っています。
Additional Reading
もしこの記事の内容が役に立ったなら、 Amazon QuickSight now supports Email Reports and Data Labels と 10 visualizations to try in Amazon QuickSight with sample data にも目を通してみてください。
About the Author
Jesse Gebhardt は、アナリティクスのグローバル事業開発マネジャーです。ビジネスインテリジェンス(BI)業界で 10 年以上のキャリアを持ち、AWS においては世界中のお客さまに対して、データレイクやデータウェアハウスにあるデータからインサイトを引き出す手助けをしています。Jesse は妻とミニチュアオーストラリアシェパードとアリゾナ州フェニックスに居を構え、エレクトリックミュージックのアマチュアプロデューサーとしても活動しています。
原文: Create Amazon QuickSight dashboards that have impact with parameters, on-screen controls, and URL actions
翻訳: SA 志村