テーブルの結合

テーブルの結合

Zoho Analyticsでレポートやダッシュボードを作成するためのデータは、テーブルと呼ばれる要素に保存されます。複数のテーブルのデータを組み合わせてレポートやダッシュボードを作成すると、より詳細にデータを分析できます。複数のテーブルのデータを組み合わせるにあたって、テーブル同士を結合(JOIN)する必要があります。テーブル同士を結合するには、テーブル間で共通の列(キー)をもとに参照関係を設定します。

テーブルの結合方法として、Zoho Analyticsには以下の2種類の方法が用意されています。


テーブルの自動結合

複数のテーブルのデータを組み合わせてレポートやダッシュボードを作成するにあたって、Zoho Analyticsにはテーブルの 自動結合 機能が用意されています。この機能では、複数のテーブル間でルックアップ列(関連付けに使用する列)を通じて参照関係が設定されている場合において、レポートの作成時に対象のテーブルが自動で結合されます。自動結合機能を有効にするには、ルックアップ列を使用して対象のテーブル間で参照関係を設定する必要があります。2つのテーブル間で参照関係を設定するには、2つのテーブルの間で共通する列が必要です。以下では、例を挙げて自動結合機能について説明します。

まず、ルックアップ列の設定方法について説明します。次に、レポートの作成時に参照関係によって複数のテーブルがどのように結合されるかを説明します。

例:「店舗売上」のワークスペース



「店舗売上」のワークスペースには、「商品」、「売上」、「営業担当者」というテーブルが保存されています。 「売上」 「営業担当者」 のテーブルには、 「営業担当者ID」 という共通の列があります。「売上」のテーブルでは、売上の担当者を識別できるように各売上のデータに 「営業担当者ID」 が入力されています。 「営業担当者」 のテーブルでは、営業担当者を識別するための情報として 「営業担当者ID」 が使用されています。同様に、 「売上」 「商品」 のテーブルには、 「商品ID」 という共通の列があります。「売上」のテーブルでは、販売した商品を識別できるように各売上のデータに 「商品ID」 が入力されています。 「商品」 のテーブルでは、商品を識別するための情報として 「商品ID」 が使用されています。

この場合、 「売上」 「営業担当者」 のテーブル間において、共通の列である「営業担当者ID」を使用して参照関係を設定することができます。同様に、 「売上」 「商品」 のテーブル間においては、共通の列である 「商品ID」 を使用して参照関係を設定することが可能です。共通の列(ルックアップ列)を通じて参照関係を設定すると、自動結合機能によってこれらのテーブルのデータが自動で結合されます。結合されたテーブルのデータをもとにレポートを作成することが可能です。


参照関係の設定

参照関係の設定は、初回のインポートの設定時に行うことができます。後から、既存のテーブルで設定を行うことも可能です。また、レポートの編集画面から参照関係を設定することもできます。以下では、テーブル間の参照関係を設定する方法について説明します。 

テーブルからの参照関係の設定 

こちらでは、テーブルから参照関係を設定する方法について説明します。

説明には、上記で取り上げた 「店舗売上」のワークスペース とそのテーブルを使用します。 「売上」 「営業担当者」 のテーブル間において、共通の列である 「営業担当者ID」 を使用して参照関係を設定します。

  1. 「売上」 のテーブルを開いて、 [設計を編集する] をクリックします。
  2. [ルックアップ] タブに移動し、 [ルックアップを追加する] をクリックします。[現在のテーブルの列]のドロップダウンで「営業担当者ID」を選択します。これにより、「売上」のテーブルの列「営業担当者ID」がルックアップ列として指定されます。[参照先の列]のドロップダウンをクリックします。以下の画面のように、「店舗売上」のワークスペース内のすべてのテーブルと、テーブルに含まれる列が表示されます。一覧から、 「営業担当者」 のテーブルの 「営業担当者ID」 を選択します。



また、以下の手順でも参照関係を設定できます:

  1. 「売上」 のテーブルを開きます。
  2. 「営業担当者ID」の列を選択します。
  3. 列の見出し(ヘッダー)を右クリックして、 [ルックアップ列に変更する] を選択します。
  4. ルックアップ列への変更 画面が開きます。[参照先の列]で、「営業担当者」のテーブルの 「営業担当者ID」 を選択します。

これにより、ルックアップ列 「営業担当者ID」 を通じて、 「売上」 「営業担当者」 のテーブル間で参照関係が設定されます。上記の例では、 「売上」 のテーブルは、 「営業担当者」 のテーブルを参照します。そのため、 「営業担当者」 のテーブルは親テーブルと呼ばれ、「営業担当者」のテーブルに対して 「売上」 のテーブルは子テーブルと呼ばれます。

同様に、 「売上」 「商品」 のテーブル間において、共通の列である「営業担当者ID」を使用して参照関係を設定できます。この場合、 「商品」 のテーブルは親テーブルと呼ばれ、「商品」のテーブルに対して 「売上」 のテーブルは子テーブルと呼ばれます。



インポートの設定画面からの参照関係の設定

インポートの設定画面では、Zoho Analyticsによって類似データが識別され、ルックアップ列の候補として表示されます。詳細については、以下のスライドをご参照ください。




レポートの編集画面からの参照関係の設定

複数のテーブルにおいて参照関係を設定する操作は、レポートの編集画面から行うこともできます。詳細については、以下のスライドをご参照ください。




自動結合によるレポートの作成

ルックアップ列を通じて複数のテーブル間で参照関係を設定した後、これらのテーブルのデータをもとにレポートを作成できます。レポートの作成画面には、自動結合されたテーブル内の列がすべて表示されます。これらの列をドラッグ&ドロップするだけでレポートを作成することが可能です。
引き続き上記の例を用いて、 自動結合機能を使用して各営業担当者による売上のグラフを作成する方法を説明します

  1. 「売上」 のテーブルを開いて画面右上の[+]アイコンをクリックし、メニューから [新しいグラフ] を選択します。
  2. 自動結合機能により、ワークスペース内のテーブル間の参照関係が検出されます。 「売上」 「営業担当者」 のテーブル内のすべての列が、 レポートの編集画面 列の選択欄 に表示されます。
  3. 「営業担当者」のテーブルから 「営業担当者名」 の列をX軸の欄にドラッグ&ドロップします。また、 「売上」 のテーブルから 「売上」 の列をY軸の欄にドラッグ&ドロップします。
  4. [クリックしてグラフを表示する] をクリックします。


自動結合機能により、ルックアップ列 「商品ID」 を通じて 「売上」 「営業担当者」 のテーブルのデータが自動で結合されます。結合されたデータをもとに、レポートを作成できます。

また、結合されたテーブル内のデータを使用してレポートにフィルターを適用することも可能です。引き続き上記の例で説明します。各営業担当者による売上のグラフにおいて、 「商品」 のテーブルの列 「商品名」 を使用してフィルターを適用すると、各営業担当者による売上のうち、フィルター条件で選択した商品の 売上 を表示することができます。




結合方法のカスタマイズ

初期設定では、「左結合」(LEFT JOIN)を使用してテーブルが結合されます。Zoho Analyticsで使用できる結合方法は、以下のとおりです。

  • 左結合 (LEFT JOIN) - 子テーブル(左)を優先してデータを取得します。子テーブル(左)の すべて の行を取得し、子テーブル(左)で取得した行と 一致 する行のみを親テーブル(右)から取得して、テーブルを表示します。一致する行は、親と子のテーブルで設定したルックアップ列をもとに識別されます。初期設定の結合方法は左結合(LEFT JOIN)です。上記の例の場合(「売上」テーブルが子、「営業担当者」テーブルが親)、「売上」テーブルが優先され、「売上」テーブルのすべてのデータが出力されます。「売上」テーブルの営業担当者IDに対応するデータが「営業担当者」テーブルにない場合でも、すべての売上データが出力されます。
  • 右結合 (RIGHT JOIN) - 親テーブル(右)を優先してデータを取得します。親テーブル(右)の すべて の行を取得し、親テーブル(右)で取得した行と 一致 する行のみを子テーブル(左)から取得して、テーブルを表示します。一致する行は、親と子のテーブルで設定したルックアップ列をもとに識別されます。上記の例の場合(「売上」テーブルが子、「営業担当者」テーブルが親)、「営業担当者」テーブルが優先されます。この場合、「売上」テーブルのすべてのデータは出力されるとは限りません。「売上」テーブルの営業担当者IDに対応するデータが「営業担当者」テーブルにある場合のみ、売上データが出力されます。



必要に応じて結合方法を変更できます。結合方法を変更するには、以下の手順を実施します:

  1. グラフの編集画面右上にある [参照関係] アイコンをクリックします。
  2. 表示された画面の [結合の種類] の欄で結合方法を選択し、 [適用する] をクリックします。

自動結合におけるルックアップ列と参照経路のカスタマイズ

ワークスペース内では、ルックアップ列を使用して複数のテーブル同士を関連付けることができます。ルックアップ列はいくつでも使用可能です。Zoho Analyticsでレポートを作成する際、自動結合機能によって各テーブルでルックアップ列が識別され、テーブル間での参照経路が設定されます。 

ただし、場合によっては参照経路が適切に設定されないこともあります。この問題を解決するため、Zoho Analyticsではテーブル間の参照経路を選択することができます。参照経路を適切に設定し、要件に適したレポートを作成することが可能です。 

「課題管理」のワークスペース を例に説明します。「課題管理」のワークスペースには、「課題」、「ユーザー」、「プロジェクト」というテーブルが保存されています。 「課題」 「ユーザー」 のテーブルは、 「担当者ID」 (課題の担当者を表すID)と 「報告者ID」 (課題の報告者を表すID)の2つのルックアップ列を通じて結合されています。  また、 「課題」 のテーブルと 「プロジェクト」 のテーブルは、ルックアップ列 「プロジェクトID」 を通じて結合されています。さらに、 「プロジェクト」 「ユーザー」 のテーブルは、 「責任者ID」 (プロジェクトの責任者を表すID)と 「ユーザーID」 の2つのルックアップを通じて結合されています。この場合、 「課題」 「ユーザー」 のテーブルは、直接的な関連付けの他に、 「プロジェクト」 のテーブルを通じても、間接的に関連付けられています。 



ルックアップ列のカスタマイズ

上記の例において、 各ユーザーが報告した課題 に関するレポートを作成するとします。上記の例では、「課題」と「ユーザー」のテーブルは、「担当者ID」と「報告者ID」の2つのルックアップ列を通じて結合されています。初期設定では 「担当者ID」 をルックアップ列として 「課題」と「ユーザー」 のテーブルからレポートが作成されるため、報告者ではなく担当者に関する課題(各担当者が担当している課題)に関するレポートが作成されてしまいます。 

この場合、ルックアップ列を「報告者ID」に変更することで、報告者に関する課題(各ユーザーが報告した課題)のレポートを適切に作成することができます。以下のスライドでは、上記の例においてルックアップ列を変更する方法について説明しています。




これにより、目的のレポートを適切に作成することが可能です。 



複数のルックアップ列の選択

テーブル同士を結合するためのルックアップ列は、複数選択することができます。これにより、複数の条件を満たすデータに関するレポートを作成することが可能です。  上記の「課題管理」のワークスペースにおいて、「担当者」と「報告者」が同じユーザーである課題に関するレポートを作成するとします。この場合、「担当者ID」と「報告者ID」の両方をルックアップ列として選択することで、「担当者」かつ「報告者」に割り当てられている課題(「担当者」と「報告者」が同じユーザーである課題)のレポートを作成することができます。以下のスライドでは、上記の例において複数のルックアップ列を選択する方法について説明しています。



参照経路のカスタマイズ

Zoho Analyticsでは、結合されているテーブル間の参照経路を変更することもできます。 

上記の「課題管理」のワークスペースにおいて、各ユーザーが報告した課題をプロジェクトごとに色分けしたレポートを作成するとします。上記の例では、 「課題」 「ユーザー」 のテーブルは、ルックアップ列を通じて直接的に結合されています。初期設定では、参照経路が「課題」と「ユーザー」のテーブル間でのみ設定されている状態でレポートが作成されます。このため、各ユーザーが報告した課題は、課題に関連付けられているプロジェクトではなく、ユーザーに関連付けられているプロジェクトごとに色分けされて、レポートが作成されてしまいます。  つまり、参照経路に 「プロジェクト」 のテーブルに含まれていないため、「プロジェクト」のテーブルと「課題」のテーブルが結合されず、レポートの作成時に「プロジェクト」と「課題」の関連付けがレポートに反映されません。 

この場合、 「プロジェクト」 のテーブルを通じて 「課題」 「ユーザー」 のテーブルが結合される参照経路に変更することで、「プロジェクト」のテーブルのデータを反映させ、各ユーザーが報告した課題をプロジェクトごとに色分けしたレポートを作成することができます。  以下のスライドでは、上記の例においてテーブル間の参照経路を変更する方法について説明しています。





これにより、 「プロジェクト」 のテーブルを通じて 「課題」 「ユーザー」 のテーブルが結合される参照経路が適用され、各ユーザーが報告した課題をプロジェクトごとに色分けしたレポートが適切に作成されます。 



メモ :2つのテーブルを結合するにあたって、設定可能な参照経路は1つのみです。  複数の参照経路を設定することはできません。  ただし、3つ以上のテーブル間では複数の参照経路を設定できます。

クエリーテーブルによる結合

クエリーテーブルとは、 複数のテーブルからデータを抽出 し、独自のテーブルを作成する機能です。作成したクエリーテーブルをもとにレポートを作成したり、データを分析したりすることが可能です。複数のテーブルからデータを抽出するにあたって、データベースでデータを扱うための「SQL」(Structured Query Language)と呼ばれる言語における SELECT 構文を使用できます。クエリーテーブルによって出力されたデータは、テーブルと同様のデータ構造を持ちます。クエリーテーブルを他のユーザーに共有したり、クエリーテーブルをもとに別のクエリーテーブルを作成したりすることも可能です。

複数のテーブルからのデータの抽出、複数のテーブルのデータの縦結合(UNION)、データの加工処理、関数の適用など、さまざまな操作を行うことができます。

以下の画像は、上記の「店舗売上」のワークスペースにおいて、クエリーテーブルによって 「売上」と「営業担当者」 のテーブルから各営業担当者による売上のデータを抽出した例です。



上記のクエリー構文により、 「売上」 「営業担当者」 のテーブルが結合され、データが抽出されます。クエリーテーブルを通じて結合したテーブルをもとに、さまざまな種類のレポートを作成したり、データを分析したりすることができます。

詳細については、 こちら をご参照ください。