関係データモデル

関係データモデル

Zoho Analyticsでは、データ間の関連性や参照関係を表すためのモデルである、関係データモデル(関係モデル、リレーショナルモデル)を用いてワークスペース(データベース)の構造を設計することができます。関係データベース(リレーショナルデータベース)と同様に、テーブル間でデータを関連付けることが可能です。また、関係データベースからデータをインポートすることもできます。テーブル間のデータの参照関係(関連付け)を設定するにあたって、関係データベースでは外部キーが使用されます。Zoho Analyticsでは、 ルックアップ列 を使用して参照関係を設定します。ルックアップ列を使用することで、テーブル間で参照関係を設定し、テーブル同士を関連付けることが可能です。

ルックアップ列を使用する主なメリットは、以下のとおりです:

  • データの整合性を保つのに役立ちます。テーブル間でのデータの重複を防ぐことができます。
  • テーブル内のデータを値(集計可能な数値のデータ列)と指標/軸(レポートで値のグループ化に使用するデータ列)に分けることができます。
  • 関係データベースにおけるテーブル間の参照関係のモデルをZoho Analyticsのワークスペースで同様に活用し、レポートを作成したりデータを分析したりできます。

ルックアップ列を使用してテーブル間で参照関係を設定すると、Zoho Analyticsによって参照関係が自動で識別されます。これらのテーブルのデータをもとにすばやくレポートを作成することが可能です。詳細については、 以下のページ をご参照ください。

ルックアップ列によるテーブル間の参照関係の設定

「従業員」のワークスペースを例に説明します。「従業員」のワークスペースには、 「部署」 「従業員」 の2つのテーブルが保存されています。「部署」のテーブルには、 「部署名」 「部署ID」 の2つの列が保存されています。



「従業員」のテーブルには、 「従業員名」 「従業員ID」 の列が保存されています。また、従業員が所属する部署を表す 「部署ID」 の列も保存されています。



上記の例において、「従業員」のテーブルの列 「部署ID」 をルックアップ列として設定し、「部署」のテーブルの列 「部署ID」 を通じて2つのテーブル間で参照関係を設定します。参照関係を設定するには、「従業員」のテーブルの画面で [設計を編集する] をクリックします。[ルックアップ]タブに移動し、[ルックアップを追加する]をクリックして「従業員」のテーブルの列「部署ID」を選択し、[参照先の列]のドロップダウンから参照先となる列(関連付けに使用する共通の列)を選択します。この例では、「部署」のテーブルの列 「部署ID」 を選択します。



ルックアップ列の設定は、以下の手順でも可能です:

  • 「従業員」のテーブルを開きます。 「部署ID」 の見出し(ヘッダー)を右クリックして、メニューから [ルックアップ列に変更する] を選択します。
  • ルックアップ列への変更 画面が開きます。[参照先の列]で、「部署」のテーブルの「部署ID」を選択します。

ルックアップ列によるテーブルの結合

ルックアップ列を使用すると、ワークスペース内の複数のテーブル間において参照関係(関連付け)を設定し、テーブルのデータを結合することができます。テーブルのデータを結合するにあたって、Zoho Analyticsには2種類の方法が用意されています。

自動結合によるテーブルの結合

レポートを作成するにあたって、Zoho Analyticsにはテーブルの 自動結合 機能が用意されています。この機能では、複数のテーブル間でルックアップ列を通じて参照関係が設定されている場合において、レポートの作成時に対象のテーブルが自動で結合されます。テーブルの画面からレポートを作成しようとすると、 自動結合 機能によって対象のテーブルとワークスペース内の他のテーブル間における参照関係の有無が検出されます。参照関係が検出されると、 レポートの編集 画面左側の 列の選択欄 に参照関係を持つ(関連付けられている)テーブルの列がすべて表示されます。

これらの列をドラッグ&ドロップするだけでレポートを作成することが可能です。Zoho Analyticsによって対象のテーブル同士が結合され、データが取得されます。取得されたデータをもとに、レポートが作成されます  (クエリーテーブルを使用してテーブルを結合することもできます。詳細については、以下の「クエリーテーブルによるテーブルの結合」の説明をご参照ください)。

以下の画像は、自動結合機能を使用して 「従業員」 「部署」 のテーブルから「部署別の従業員数」のピボットテーブルを作成する例です。



上記の例では、自動結合機能によって 「部署」 「従業員」 のテーブル間で参照関係が検出されています(ルックアップ列によるテーブル間の参照関係の設定方法については、 上記のセクション をご参照ください。この例では、2つのテーブル間で共通の列である「部署ID」をルックアップ列として設定しています)。上記の画像のとおり、 レポートの編集画面 左側の 列の選択欄 に参照関係を持つ2つのテーブルの列がすべて表示されます。

ピボットテーブルを作成するにあたって、 「部署」 のテーブルの列 「部署名」 [行] の欄にドロップし、 「従業員」 のテーブルの列 「従業員ID」 [データ] の欄にドロップします(「件数」の関数を適用)。自動結合機能により、ルックアップ列 「部署ID」 を通じて 「部署」 「従業員」 のテーブルのデータが自動的に結合され、レポートが作成されます。

結合方法の設定に関する留意事項:

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

  • 左結合(LEFT JOIN) - 子テーブル(左)を優先してデータを取得します。子テーブル(左)の すべて の行を取得し、子テーブル(左)で取得した行と 一致 する行のみを親テーブル(右)から取得して、テーブルを表示します。一致する行は、親と子のテーブルで設定したルックアップ列をもとに識別されます。初期設定の結合方法は左結合(LEFT JOIN)です。
  • 右結合(RIGHT JOIN) - 親テーブル(右)を優先してデータを取得します。親テーブル(右)の すべて の行を取得し、親テーブル(右)で取得した行と 一致 する行のみを子テーブル(左)から取得して、テーブルを表示します。一致する行は、親と子のテーブルで設定したルックアップ列をもとに識別されます。

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



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

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

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

以下の画像は、上記の「従業員」のワークスペースにおいて、クエリーテーブルによって「従業員」と「部署」のテーブルからデータを抽出した例です。



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

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