Amazon QuickSight でデータソースを結合したいのですが、問題が発生しています。
簡単な説明
以下は、Amazon QuickSight でさまざまなソースからのデータを結合できない一般的なシナリオです。
- [データセットの編集] ページに [データの追加] ボタンとグリッドパネルが表示されません。
- 地理的フィールドを使用しています。
- 2 つの Amazon データセットから 3 つ目のデータセットを作成しようとしています。
- QuickSight は結合メモリを使い果たしました。
- 重複した列またはあいまいな列のエラーが発生します。
解決方法
[データセットの編集] ページに [データとグリッドの追加] パネルが表示されない
[データの追加] ボタンと編集パネルが表示されない場合は、データセットの所有者にデータソースへのアクセスを要求する必要があります。
データセットを所有していて、他のユーザーと共有する場合は、次のステップを完了します。
- Amazon QuickSight コンソールを開きます。
- [データセット] を選択し、[新しいデータセット] を選択します。
- 共有するデータセットを選択します。
- [データソースの共有] を選択し、[ユーザーの招待] を選択します。
- ユーザー名と必要な権限を入力します。
- [共有] を選択します。
データセットにさらにデータを追加するには:
- データを追加するデータセットを開き、[データセットの編集] を選択します。
- [データ準備] ページで、[データの追加] を選択します。
- データの追加方法を選択します。データセット、データソース、またはファイルをアップロードして追加できます。
注: [カスタム SQL を使用] を選択してクエリエディタを開き、SQL データソースのクエリを記述することもできます。
- 赤い点を選択して結合を設定します。
- 希望の結合タイプを選択します: [内部]、[左]、[右]、または [完全]
- [適用] をクリックします。
地理的フィールドを使っています
地理的フィールドは、結合インターフェイスではサポートされていません。この問題を解決するには、次の操作を行います:
- データタイプを [地理空間] から [文字列] に変更します。
- 希望する結合タイプを適用します。
- データセットページに戻り、データセットを選択します。
- 親データセットに新しい子データセットを作成するには、[新しいデータセットで使用] を選択します。
- フィールドタイプを [地理空間] に戻します。
- [保存] を選択します。
2 つのデータセットから 3 つ目のデータセットを作成しようとしています。
2 つのデータセットを結合して 3 つ目のデータセットを作成することはできません。
ただし、Amazon Athena データセットでは、次のことができます。
- 2 つのテーブルを結合して Athena でクエリを記述し、ビューを作成します。
- ビューに Athena データソースを作成します。
- カスタム SQL を記述し、新しい Athena データソースを使用して QuickSight で Athena データセットを作成します。
QuickSight が結合メモリを使い果たしました
データセットを結合する場合、データセットのうちの 1 つのサイズが 1 GB 以内である必要があります。複数のデータセットが 1 GB を超える場合、QuickSight はメモリ不足になります。この問題を解決するには、カスタム SQL クエリを使用してそれらを結合します。
大きなテーブル結合がある場合は、データベースで結合条件クエリを実行し、テーブルまたはビューを作成することがベストプラクティスです。次に、テーブルまたはビューから QuickSight でデータセットを作成します。
詳細については、「Amazon QuickSight でデータソース間を結合する」を参照してください。
重複する列またはあいまいな列のエラーが発生します
次の重複列のエラーが表示されます。
ERROR - Duplicate column name 'column name
次のクエリ例では、重複列のエラーが発生します。
select * from schema.sales, schema.date where sales.dateid = date.dateid;
次のあいまいな列エラーが表示されます。
ERROR - column reference "dateid" is ambiguous
次のクエリ例では、あいまいな列エラーが発生します。
select sid, dateid from schema.sales, schema.date, schema.users where sales.sid = users.userid and dateid = dateid and year = 2010 and city = 'dallas';
重複したあいまいな列エラーは、共通の列名がテーブル名またはエイリアスで修飾されていない場合に発生します。重複したあいまいな列エラーを解決するには、テーブル名またはエイリアスを修飾子として結合列名を指定します。