データポータルでのブレンドの仕組み

データポータルでデータを統合すると、複数のソースの情報を 1 つのビューにまとめることができます。この統合データから、グラフ、テーブル、コントロールを作成できます。データを統合すると、各データソースを個別に分析するだけでは得られない分析情報を得ることができます。

最大 5 つの異なるデータソースを統合できます。たとえば、異なる BigQuery テーブルの顧客レコードと注文詳細を結合して、1 つのテーブルに表示できます。また、Google 広告と Google アナリティクスの指標を時系列で組み合わせて、マーケティング キャンペーンのパフォーマンスを評価することもできます。

始める前に

このガイドを最大限に活用するには、次の重要なコンセプトを理解しておく必要があります。

統合とデータソースの違い

データを統合すると、「統合」と呼ばれるリソースが作成されます。統合は、標準のデータソースと同様に、レポートのグラフとコントロールにデータを提供します。ただし、以下のような重要な違いがあります。

  • 統合では、複数のデータソースのデータが結合されます。
  • 統合は、作成元のレポートに常に埋め込まれます。統合を別のレポートと共有することはできませんが、レポートをコピーすると統合もコピーされるため、グラフは引き続き機能します。
  • 基となるデータソースの指標は、統合では数値ディメンションとなり、集計されません。詳しくは、統合に関するヒントと高度な概念をご覧ください。
  • 統合では、データの更新速度と認証情報の設定が、基となるデータソースから直接継承されます。

統合の仕組み

データベースのプログラミングでは、テーブルを結合するために SQL ステートメントを記述しますが、データポータルでは、コードを記述せずにデータを統合できます。統合エディタを使用して、統合を設定できます。

テーブルとフィールドのオプションを選択すると、統合エディタに統合オプションが表示されます。

凡例:

  1. テーブル
  2. 統合設定
  3. [別のテーブルを結合] ボタン
  4. 統合名
  5. 含まれているディメンションと指標
  6. 指標、期間、フィルタを追加する
  7. [繰り返し結合フィールドを非表示にする] オプションと [保存] ボタン

テーブル

統合は複数のテーブルで構成されます。統合エディタの各テーブルには、基になるデータソースから抽出されたフィールドが含まれています。1 つの統合に、テーブルは最大 5 つまで追加できます。

統合する前に、データポータルは各テーブルの行をディメンションに基づいてグループ化し、集計します。ディメンションに各レコードの固有識別子が含まれていない場合、この事前グループ化フェーズで同一の行が折りたたまれます。各レコードの一意性を維持し、行数が不必要に減らないようにするには、各テーブルのディメンション リストに固有識別子フィールド(主キーや行 ID など)を追加します。

テーブルにデータを追加するには、[ディメンションを追加] または [指標を追加] をクリックします。

統合条件で使用されているフィールドには、 リンクアイコンが表示されます。

統合設定

「統合の設定」で、テーブルのペアを結合して統合します。各統合設定は、統合演算子(レコードを水平方向に結合するか、行を垂直方向にスタックするかを定義する)と、統合条件(各テーブルのフィールドをリンクまたはペアリングする方法を指定する)で構成されています。

たとえば、次のスクリーンショットでは、Grades テーブルが student_id フィールドで Students テーブルに結合され、class_id フィールドで Classes テーブルに結合されています。どちらの統合設定でも、左外部結合演算子が使用されています。

左外部結合演算子が選択され、student_id(Grades)フィールドと student_id(Students)フィールドの間に統合条件が設定された統合設定。

統合演算子

マージ演算子は、統合内のテーブルのデータを結合する方法を定義します。データポータルは、5 つの結合演算子とユニオン演算子をサポートしています。

  • 内部結合: 左右両方のテーブルの条件が一致した行のみを返します。
  • 左外部結合: 右側のテーブルの条件が一致した行と、左側のテーブルのすべての行を返します。
  • 右外部結合: 左側のテーブルの条件が一致した行と、右側のテーブルのすべての行を返します。
  • 完全外部結合: 条件に一致しているかどうかにかかわらず、左右両方のテーブルからすべての行を返します。
  • クロス結合: 左右両方のテーブルから考えられるすべての行の組み合わせを返します。
  • ユニオン: 右側のテーブルの行を左側のテーブルに追加して、垂直方向に連結し、重複する行を削除します。

結合とユニオンの違いは何ですか?

結合とユニオンはどちらも、異なるソースやテーブルのデータをマージできます。2 つの方法の違いは、データの結合方法にあります。結合ではデータが水平方向に結合され(列が追加される)、ユニオンではデータが垂直方向に結合されます(行が追加される)。

結合とユニオンの例

結合とユニオンの例については、次のセクションを開いてください。

結合の例: データを水平方向に結合する

結合オペレーションでは、2 つ以上のテーブルを取得し、共通の識別子に基づいてそれらを並べてリンクします。結合を使用して、情報の列を追加してデータセットを拡充する。

シナリオ: 顧客名のリストを含むテーブルと、顧客の合計売上高を含む 2 つ目のテーブルを結合します。1 つ目のテーブルの行を 2 つ目のテーブルの行と一致させるには、両方のテーブルに共通のフィールド(お客様 ID など)が必要です。

表 1: お客様の詳細 表 2: 販売データ
お客様 ID お客様名 お客様 ID 総売上
101 Alex 101 $5,000
102 Jie 102 $3,200

このデータを 1 つのテーブルに統合するには、左外部結合演算子を使用して、[お客様 ID] フィールドでテーブルをリンクします。2 つのテーブルが水平方向に結合され、Customer Name と Total Sales が同じ行に含まれる 1 つの幅の広いテーブルになります。

お客様 ID お客様名 Total Sales
101 Alex $5,000
102 Jie $3,200

ユニオンの例: データを垂直方向に追加する

ユニオン オペレーションでは、同じ構造(同じ列が同じ順序で並んでいる)を持つ 2 つ以上のテーブルを結合し、それらを重ね合わせます。ユニオンを使用して、あるデータセットを別のデータセットに追加することで、データの全体像をより詳細に把握できます。

シナリオ: 1 月、2 月、3 月の売上データがそれぞれ別のテーブルに保存されています。これらのテーブルを 1 つのデータセットに結合して、四半期全体の分析を行いたいと考えています。

表 1: 1 月の売上レポート

日付 リージョン 収益
1 月 1 日 東海岸 $100
1 月 2 日 西部 $200

表 2: 2 月の売上レポート

日付 リージョン 収益
2 月 1 日 東海岸 $150
2 月 2 日 西部 $250

表 3: 3 月の販売レポート

日付 リージョン 収益
3 月 1 日 東海岸 $180
3 月 2 日 西部 $280

3 つの月次販売テーブルから 1 つのテーブルを作成するには、テーブル間で Union 演算子を使用します。データは垂直方向に追加され、元の列をすべて保持する長いテーブルが作成されます。

日付 リージョン 収益
1 月 1 日 東海岸 $100
1 月 2 日 西部 $200
2 月 1 日 東海岸 $150
2 月 2 日 西部 $250
3 月 1 日 東海岸 $180
3 月 2 日 西部 $280

結合演算子について詳しくは、BigQuery のドキュメントをご覧ください。

統合条件

[統合条件] セクションで、各テーブルのフィールドをリンクまたはペアにする方法を定義します。

  • 結合の場合: 統合条件(または結合条件)は、テーブル間でレコードをリンクする 1 つ以上の一致フィールドで構成されます。たとえば、Google アナリティクスのテーブルと Google 広告のテーブルの両方にキャンペーン名が存在する場合、データポータルはその共通フィールドを条件としてデータを結合できます。
  • ユニオンの場合: 結合条件により、左側のテーブルのすべてのディメンションと指標が、右側のテーブルの同じデータ型の対応するフィールドとペアになり、それらの値が同じ列にスタックされます。

統合のテーブルごとに、条件に含めるフィールドを選択します。データが一致していれば、テーブル間でフィールド名が同じである必要はありません。たとえば、顧客、注文、商品アイテムを 1 つのグラフで視覚化する場合、テーブルには次のフィールドが含まれている可能性があります。

Customers テーブル

  • customer_ID
  • customer_name

Orders テーブル

  • cust_id
  • order_number
  • order_total

Items テーブル

  • order_number
  • SKU

これらのテーブルを統合するには、customer_ID フィールドと cust_id フィールドを統合条件として使用して、Customers テーブルと Orders テーブルを結合します。また、order_number を統合条件として使用して、Orders テーブルと Items テーブルを結合します。

含まれているディメンションと指標

統合の結合条件で使用されているフィールドと、統合に追加したディメンションまたは指標は、[含まれるディメンションと指標] セクションに表示されます。これらのフィールドは、統合に基づくすべてのグラフで使用できます。

繰り返し結合フィールドを非表示にする

[繰り返し結合フィールドを非表示にする] オプションを使用すると、統合条件で使用されている重複フィールドを除外できます。結合ブレンドに繰り返し結合フィールドを含めるには、このオプションをオフにします。

たとえば、統合設定で student_id フィールドと class_id フィールドを使用して、Grades、Students、Classes の 3 つのテーブルを結合するとします。[重複する統合フィールドを非表示にする] オプションを選択すると、統合には student_id と class_id のインスタンスが 1 つだけ含まれます。

成績、生徒、クラスのテーブルを統合したもので、student_id フィールドと class_id フィールドが 1 つずつ含まれています。

同じ統合設定で [重複する結合フィールドを非表示にする] オプションをオフにすると、統合には student_id と class_id の複数のインスタンスと、そのフィールドが表示されるテーブルの名前(class_id(Grades)、class_id(Classes)、student_id(Grades)、student_id(Students)など)が含まれるようになります。

複数の student_id フィールドと複数の class_id フィールドを含む、成績、生徒、クラスのテーブルの統合。

ユニオン統合の場合、[繰り返し結合フィールドを非表示にする] オプションがデフォルトで選択され、ロックされます。これにより、結合されたテーブル間で重複するフィールドが自動的に非表示になり、結合されたフィールドの単一のセットのみが表示される、よりクリーンなデータソース ビューが作成されます。

期間とフィルタ

1 つ以上のテーブルに期間またはフィルタを適用することで、統合内のデータを制限できます。

統合の例

クラス、生徒、成績の統合の例では、データ統合の典型的なユースケースを解決する方法を説明しています。