Amazon Web Services ブログ
Amazon QuickSight のデータソース間で結合する
Amazon QuickSight は、クロスデータソース結合のリリースを発表しました。これにより、複数のデータソースに接続し、Amazon QuickSight でこれらのソースのデータを直接結合して、ダッシュボードの作成に使用するデータセットを作成できます。たとえば、顧客 ID を含む Amazon Redshift のトランザクションデータを、顧客プロファイルデータを含む Salesforce テーブルと結合して、注文と顧客の詳細を含むインタラクティブなダッシュボードを作成できます。Amazon QuickSight の外部の単一のソースにデータを最初にプルすることなく、セグメント、地理、人口統計などのさまざまな顧客ディメンションデータによってトランザクションデータをスライスおよびダイスできます。
クロスデータソース結合を使用すると、BI とデータエンジニアリングチームによる複雑で時間のかかる ETL のセットアップに大きく依存せずに、組み込みのドラッグアンドドロップ UI を使用した、ファイルからファイルへの結合、ファイルからデータベースへの結合、データベースからデータベースへの結合など、Amazon QuickSight がサポートするすべてのデータソースに結合できます。ローカル CSV ファイル、Amazon RDS データベース、または S3 バケット上の JSON オブジェクトのいずれであっても、これらのデータソースを結合してデータセットを作成できるようになりました。
最後に、時間までのスケジュールされた更新を設定し、結合されたデータセットが常に最新情報で最新に保たれていることを確認できます。
クロスデータソース結合の開始方法
以下のスクリーンショットは、QuickSight で接続できるすべてのデータソースを示しています。
Amazon QuickSight では、さまざまなデータソースに接続できます。ビジネスでは、データ要件に応じて、データを複数のデータソースに分散させるのが一般的です。たとえば、ウェブサーバーのログを Amazon S3 に保存し、顧客の詳細を Amazon Redshift テーブルに、注文の詳細を RDS に保存できます。これらの 2 つ以上の異なるデータソースのデータを組み合わせてレポートを作成する必要がある場合があります。
これをある程度達成するには、データパイプラインを構築して、複数のデータソースから 1 つのデータソースに統合します。ただし、これらのデータパイプラインを作成すると、さまざまな AWS のサービス間でデータが重複し、単一のデータソースにデータを移動するための労力と時間の観点から追加コストが発生します。次に、この単一のデータソースから Amazon QuickSight データセットを構築します。Amazon QuickSight で直接利用できるクロスデータソース結合を使用すると、この問題を排除できます。
結合後のテーブルがデータセットごとの SPICE
容量に収まる限り、最大ソースにサイズ制限はありません。残りのテーブルの合計サイズは 1 GB 以内である必要があります。たとえば、小さいテーブルに 20 個の数値列がある場合、1 GB のメモリ制限を超えるまで約 500 万行を収めることができます。
この記事では、2 つの CSV ファイルからデータセットを作成する方法と、RDS テーブルを S3 ファイルに結合する方法を示します。この記事では、あるデータソースに注文関連データを含むサンプルテーブルを使用し、別のデータソースに返品関連データを使用しています。最終目標は、注文データと返品データの両方を含む 1 つのデータセットを作成することです。
前提条件
開始する前に、次のように、CSV ファイルをローカルマシンにダウンロードします。
- 注文テーブル
- 返品テーブル
- 返品用に JSON ファイルをダウンロードして、独自の S3 バケットにアップロードします。
また、Amazon QuickSight でデータソースを操作するから QuickSight のデータソースを作成、編集、削除する方法も学びます。
複数の CSV ファイルの結合
2 つの CSV ファイルを結合するには、次の手順を実行します。
- 上記の S3 バケットからダウンロードした注文 CSV ファイルを使用して、QuickSight にアップロードします。
- 「注文」シートを選択した後、データセットの詳細が表示されるデータの編集/プレビューページに移動します。
- トップメニューから [データを追加] を選択します。データソースを切り替えるか、新しい CSV をアップロードして現在のデータセットに結合するかを選択するポップアップウィンドウが表示されます。また、表示されているウィンドウには既存のソースがあります。
- ファイルの [アップロード] を選択し、「返品」CSV ファイルをアップロードします。ファイルをアップロードすると、両方の CSV のシート名が表示されます。次のスクリーンショットは、
注文
と返品
を示しています。
- ファイル間の 2 つの円を選択します。この手順により、2 つの CSV 間の結合の設定を編集できます。結合の設定セクションで、結合タイプ (内部、左、右、または全部) を選択し、結合を適用する列を選択することもできます。この記事では内部結合を使用しています。
- 結合タイプでは、[内部] を選択します。この記事では、2 つのファイルの注文 ID クラスを結合します。
- クラスを結合では、両方のドロップダウンで [注文 ID] を選択します。
- [適用] を選択します。
これで、2 つの異なる CSV の注文データと返品データの両方を含むデータセットが作成されました。データセットを保存して、分析の作成を続行できます。
S3 を使用した RDS テーブルの結合
この例では、RDS に注文データがあり、S3 バケットに JSON ファイルとして返品データがあります。このデータを結合するには、次の手順を実行します。
- RDS テーブルから QuickSight にデータセットを作成します。RDS に接続してデータセットを作成する方法を学ぶには、データベースデータセットの作成と分析を確認します。
- 次に、[データセットを管理] に移動し、RDS データセットを選択します。この記事では、
注文
データセットを使用します。
- [データセットを編集] を選択すると、データセットの詳細を含むページが表示されます。
- トップメニューから [データを追加] を選択します。データソースを切り替えるか、新しい CSV をアップロードして現在のデータセットに結合するかを選択するポップアップウィンドウが表示されます。また、表示されるウィンドウには既存のソースがあります。
- [データソースを切り替え] を選択します。さまざまなデータセットとそのソースのリストが表示されます。
- データセットを選択します。この記事では [
返品
] を選択します。これで、両方のデータセットがリンクされていることがわかります。 - データセット間の 2 つの球体を選択します。
- 結合の設定で、目的の結合の種類を選択します。この記事では [内部] を選択します。
- 結合句では、各データセットのドロップダウンから、結合を適用する列を選択します。この記事では、注文に
order_id
を選択し、返品
には注文 ID
を選択します。
- [適用] を選択します。
新しいデータセットには 2 つの異なる CSV の注文データと返品データの両方が含まれます。データセットを保存して、分析の作成を続行できます。
まとめ
この記事では、RDS と S3 のテーブルを結合するという、2 つのファイルのデータを結合する方法を示しました。この方法を使用して、Amazon QuickSight 上の 2 つのデータソース (IoT を除く) のデータを結合できます。クロスデータソース結合機能は、すべての Amazon QuickSight リージョンの Enterprise エディションと Standard エディションの両方で利用できるようになりました。
著者について
Rakshith Dayananda は AWS の IT アプリ開発エンジニアです。