クエリーテーブルを利用したデータ準備

クエリーテーブルを利用したデータ準備

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

必要な権限

クエリーテーブルを作成/削除できるのは、アカウント管理者と組織管理者のみです。各プランで作成可能なクエリーテーブル数は以下のとおりです。

  • 無料プラン:3件
  • ベーシックプラン:無制限
  • スタンダードプラン:無制限
  • プレミアムプラン:無制限
  • エンタープライズプラン:無制限

機能の利用条件と制限事項を確認する



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



一般

1.クエリーテーブルとは?

クエリーテーブルとは、複数のテーブルからデータを抽出し、独自のテーブルを作成する機能です。作成したクエリーテーブルをもとにレポートを作成したり、データを分析したりすることが可能です。クエリーテーブルによって出力されたデータは、テーブルと同様のデータ構造を持ちます。クエリーテーブルを他のユーザーに共有したり、クエリーテーブルをもとに別のクエリーテーブルを作成したりすることも可能です。

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


2.SQLのSELECT構文とは?

SQL(Structured Query Language)とは、データベースを操作するための言語です。基本的な構文はどのデータベースでも共通です。データの保存/編集/取得など、さまざまな操作を行うことができます。

クエリーテーブルを作成するにあたって、Zoho AnalyticsではSQLのSELECT構文を使用します。SELECT構文は、指定した条件を満たすデータをテーブルから抽出するために使用されます。簡単なSELECT構文の例は、以下のとおりです: 

SELECT Customer Name、City FROM Customers;

このSELECT構文では、「Customers」(顧客)のテーブルから「Customer Name」(顧客名)と「City」(市区町村)のデータが取得されます。 

SELECT構文に関する詳細については、こちらをご参照ください。


3.クエリーテーブルで使用できるSQL言語の種類は?

現在、Zoho Analyticsで対応しているSELECT構文の方言は、ANSI、Oracle、SQL Server、IBM Db2、MySQL、Sybase、Informix、PostgreSQLのものです。

上記の方言に対応していますが、操作性とサポート対応を踏まえて、ANSIの構文を使用することをお勧めします。


4.推奨されているSQLの方言はありますか?

Zoho Analyticsでは、上記の質問と回答に記載されているすべてのSQLの方言を使用できます。ただし、操作性とサポート対応を踏まえて、ANSIの方言(構文)を使用することをお勧めします。


クエリーテーブルの作成

1.クエリーテーブルを作成するには?



2.クエリーテーブルの作成における注意点は?

クエリーテーブルを作成するにあたって、以下の点にご注意ください。

クエリーの実行時における注意点:

  • 複雑なクエリーを避ける
  • 不要な結合を避ける(複数のテーブルを結合する場合は、自動結合機能を使用することをお勧めします)
  • デカルト結合(CROSS JOIN)を避ける
  • クエリーテーブルをもとにした別のクエリーテーブルの作成をできるだけ避ける

クエリーの記述時における注意点:

  • 集計関数(min()、max()、sum()、count()など)と列を一緒に使用するときは、「GROUP BY」句を使用する
  • SELECT構文内において集計関数を適用しない列に対しては、「GROUP BY」句を使用する
  • 「HAVING」句内では別名(エイリアス名)を使用しない

3.クエリーテーブルで使用できる標準のSQL関数は?

Zoho Analyticsでは、クエリーテーブルを作成する際に関数を使用できます。クエリーテーブルの作成画面で[SQL関数を挿入する]をクリックすると、使用可能な関数の一覧が表示されます。一覧に表示される関数は、動作確認が行われた関数です。一覧にない関数も使用できる場合があります。


4.既存のクエリーを編集するには?

既存のクエリーを編集するには、以下の手順を実施します:

  • 対象のクエリーテーブルを開き、[設計を編集する]をクリックします。 



  • 既存のクエリーを編集するか、[クエリーをクリアする]をクリアしてクエリーを消去し、新しいクエリーを入力します。



  • クエリーの編集後、[クエリーを実行する]をクリックします。 
  • [保存する]をクリックして、クエリーテーブルを保存します。入力したクエリーによって取得されたデータ(クエリーテーブル)が保存されます。

5.テーブル内にはレポートで値のグループ化に使用するデータ列(分析の軸)があり、これらの列に同じ値が複数含まれています(例:カテゴリー、地域、部署名など)。これらの列内の一意の値(重複を除いた値)をそれぞれ個別の列として変換し、新しいテーブルを作成できますか?

はい。列内の一意の値を取り出して複数の列として変換することができます。この操作を行うには、「PIVOT」句を使用します。

「PIVOT」句を使用すると、列内から一意の値を取り出し、複数の列に変換することができます(行から列に変換することができます)。クエリーによって出力されるデータにおいて、選択した列内の一意の値を個別の列に変換してテーブルに出力します。

例: 

以下の「Sales」(売上)のテーブルには、「Product Category」(商品カテゴリー)という列があります。 


「PIVOT」句を使用することで、列「Product Category」(商品カテゴリー)内の一意の値である「Grocery」(食品)、「Furniture」(家具)、「Stationery」(文具)を取り出し、それぞれの値を列として出力できます。「PIVOT」句を使用したクエリーの例は、以下のとおりです。 

SELECT
"Pivottable"."State" as "State" ,
"Pivottable"."Grocery" as "Grocery" ,
"Pivottable"."Furniture" as "Furniture" ,
"Pivottable"."Stationery" as "Stationery"
FROM /*以下の部分のクエリーは、テーブルに対象のデータを取得するための処理用です(ユーザーには表示されません)*/ ( SELECT
"Sales Region" ."State" as "State" ,
"Sales Region" ."Product Category",
"Sales Region" ."Sales"
FROM   "Sales Region" 
) /* 以下の部分のクエリーでは、行の一意の値を列に変換し、集計数式を適用して値を算出しています*/ AS  "pivot-source"
pivot
( sum (" pivot-source "."Sales") FOR "pivot-source" ."Product category"
 
in ( "Grocery" , "Furniture" , "Stationery"   )
) AS Pivottable 
 


6.テーブル内の各列に、各地域の売上データが含まれています。これらの売上データを1件の列に統合できますか?

はい。複数の列のデータを1件の列に統合できます。この操作を行うには、「UNPIVOT」句を使用します。

「UNPIVOT」句を使用すると、複数の列の値を統合し、1件の値として変換することができます(列から行に変換することができます)。クエリーによって出力されるデータにおいて、選択した複数の列の値を1件の値(行)に変換してテーブルに出力します。

例:  

以下の「Sales」(売上)のテーブルには、「Central」(中部)、「East」(東部)、「South」(南部)、「West」(西部)という各地域の売上を表す列があります。 


「UNPIVOT」句を使用することで、「Central」(中部)、「East」(東部)、「South」(南部)、「West」(西部)の各列の値を統合し、「Region」(地域)という1件の値(行)として出力できます。「UNPIVOT」句を使用したクエリーの例は、以下のとおりです。 

SELECT UnPivotTable.*
FROM ( SELECT
"Central" ,
"East" ,
"South" ,
"West",
"Date of Date"
FROM   "Regional Sales" 
) /* 以下の部分のクエリーでは、「Central」(中部)、「East」(東部)、「South」(南部)、「West」(西部)の各列の値を統合し、「Region」(地域)という1件の値(行)として出力します*/
AS   Temp
unpivot
( "Sales" FOR "Region"  IN (Temp."East" , Temp."South" , Temp."West" , Temp."Central" )
) AS UnPivotTable 
 


  7.クエリーテーブルを使用して複数のテーブルのデータを縦方向に結合できますか?

 はい。クエリーテーブルを使用して複数のテーブルのデータを縦方向に結合できます(表計算シートにおいて、あるシートの最後のデータ行の下に、別のデータを挿入する操作と同様の処理)。結合するにあたって、「UNION」構文を使用します。以下のクエリーテーブルでは、「Product」(商品)のテーブルから「Product Name」(商品名)と「License Cost」(ライセンス料)の列を取得し、「Sales」(売上)のテーブルから「Product Name」(商品名)と「License Cost」(ライセンス料)の列を取得して組み合わせています(縦方向に積み重ねる形で結合しています)。

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



8.クエリーテーブルを使用して複数のテーブルを横方向に結合できますか?

はい、できます。ただし、複数のテーブルを横方向に結合する場合は自動結合機能を使用することを強くお勧めします。自動結合機能では、複数のテーブル間でルックアップ列(関連付けに使用する列)を通じて参照関係が設定されている場合において、レポートの作成時に対象のテーブルが自動で結合されます。詳細については、こちらをご参照ください。

クエリーテーブルを使用してテーブルを結合することも可能です。Zoho Analyticsで使用できるテーブルの結合方法(JOINの種類)は、以下のとおりです:

以下の例では、左結合(LEFT JOIN)を使用して「Department」(部署)のテーブルの列「DepName」(部署名)と、「Employee」(従業員)のテーブルの「Emp_Name」(従業員名)と「Joining_Date」(入社日)の列を結合しています。



9.Zoho Analyticsで使用できるテーブルの結合方法(JOINの種類)は?

Zoho Analyticsで使用できるテーブルの結合方法(JOINの種類)は、以下のとおりです:


10.ルックアップ列を使用して2つのクエリーテーブル間で参照関係を設定することはできますか?

はい。テーブルでの参照関係の設定と同様に、クエリーテーブルでもルックアップ列を使用して参照関係を設定できます。

参照関係を設定するには、以下の手順を実施します:

  • 対象のクエリーテーブルを開きます。
  • ルックアップ列に変更する列を選択します。
  • 列の見出し(ヘッダー)を右クリックして、[ルックアップ列に変更する]を選択します。


  • ルックアップ列への変更画面で、参照先の列を選択します。
  • [保存する]をクリックします。

11.クエリーテーブルをもとに別のクエリーテーブルを作成できますか?

はい。既存のクエリーテーブルをもとに新しいクエリーテーブルを作成できます。1件の既存のクエリーテーブルをもとに、最大3段階までクエリーテーブルを作成することが可能です。


12.既存のクエリーテーブルをもとに、最大何段階までクエリーテーブルを作成できますか?

1件の既存のクエリーテーブルをもとに、最大3段階までクエリーテーブルを作成できます。


13.クエリーテーブルで集計数式を作成できますか?

はい。クエリーテーブルで集計数式を作成できます。集計数式に関する詳細については、こちらをご参照ください。


14.クエリーテーブルの列のデータの種類を変更するには?

クエリーテーブルの列のデータの種類を変更するには、以下の手順を実施します:

  • 列のデータの種類を変更するクエリーテーブルを開き、対象の列の見出し(ヘッダー)を右クリックします。
  • メニューから[データの種類を変更する]を選択します。 

  • データの種類の変更画面が開きます。データの種類を変更し、[OK]をクリックします。

15.列の書式設定を編集するには?

Zoho Analyticsでは、クエリーテーブル内の列のデータに対して書式設定を適用できます。配置、小数点以下の桁数、日付形式、通貨記号など、さまざまな書式設定を適用することが可能です。適用可能な書式設定は、列のデータの種類によって異なります。 

列の書式設定を編集するには、以下の手順を実施します:

  • 書式設定を編集する列の見出し(ヘッダー)をクリックして選択します。
  • 画面左上から[その他]→[列の書式設定]の順に選択します。または、対象の列の見出し(ヘッダー)を右クリックして、メニューから[列の書式設定]を選択します。列の書式設定の画面が表示されます。対象の列で適用可能な書式設定が表示されます。 
  • 要件に合わせて書式設定を編集し、[OK]をクリックします。

列の書式設定の画面で表示される内容は、選択した列のデータの種類によって異なります。詳細については、こちらをご参照ください


16.相関サブクエリーを作成できますか?

現在、Zoho Analyticsでは相関サブクエリー(WHERE句の中のサブクエリー)を作成することはできません。相関サブクエリーの作成を希望する場合は、support@zohoanalytics.comにお問い合わせください。確認後、担当者が代替案について検討し、ご案内します。


レポート機能

1.クエリーテーブルをもとにレポートを作成できますか?

はい、できます。クエリーテーブルでレポートを作成する方法は、通常のテーブルからレポートを作成する方法と同様です。クエリーテーブルをもとにさまざまな種類のレポートを作成できます。レポートやダッシュボードの作成方法については、次のヘルプをご参照ください。


クエリーテーブルの操作

1.クエリーテーブルで値を検索するには?

クエリーテーブルでは、特定のデータ(値)をすばやく検索することができます。検索するには、画面右上の検索欄にキーワードを入力します。入力したキーワードに一致するデータ(値)がすべて表示されます。



2.行を並べ替えるには? 

クエリーテーブルでは、行を並べ替えることができます。並べ替えは、指定した列の値をもとに行われます。行を並べ替えるには、以下の手順を実施します:

クエリーテーブル内の対象の列の見出し(ヘッダー)をクリックして選択し、画面左上の[並べ替える]をクリックします。選択可能な並べ替え方法は、以下のとおりです:

  1. [昇順で並べ替える]:指定した列内の値をもとに行を昇順で並べ替えます。テキストはアルファベットの昇順(AからZ)、数値は最小から最大(0から9)、日付は古い日付から新しい日付の順に並べ替えられます。
  2. [降順で並べ替える]:指定した列内の値をもとに行を降順で並べ替えます。テキストはアルファベットの降順(ZからA)、数値は最大から最小(9から0)、日付は新しい日付から古い日付の順に並べ替えられます。
  3. [並べ替えを解除する]:適用されている並べ替えを解除します。


3.クエリーテーブルでフィルターを適用するには?

クエリーテーブルでは、フィルターを適用することができます。クエリーテーブル内で指定した条件に一致するデータを抽出することが可能です。適用できるフィルター条件は、列のデータの種類によって異なります。数値や日付の範囲を指定したり、テキストの完全一致/部分一致を指定したりできます。一度に複数の列に対してフィルターを適用することも可能です。

フィルターを適用するには、以下の手順を実施します:

  • クエリーテーブルの画面左上にある[フィルター]をクリックします。以下の画像のように、各列名の下のドロップダウンから適用するフィルター条件を選択します。

  • [適用する]をクリックしてフィルターを適用します。[保存する]をクリックすると、適用したフィルター条件に名前を付けて保存できます。
メモ:
  • 上記のフィルター機能は、レポートの共有時には利用できません。レポートの共有時にフィルターを適用する方法については、こちらをご参照ください。
  • クエリーテーブルにおいて特定のデータを常に除外する場合は、クエリーでWHERE句を使用してください。

4.クエリーテーブルの列の表示/非表示を切り替えるには?

クエリーテーブルの列の表示/非表示を切り替えるには、以下の手順を実施します:

  • クエリーテーブルの画面左上にある[その他]をクリックし、メニューから[列の表示/非表示/並べ替え]をクリックします。

  • 列の表示/非表示/並べ替えの画面で、列の表示/非表示を切り替えます。切り替えるには、列のチェックボックスを選択/選択解除します。
  • この画面では列を並べ替えることもできます。並べ替えるには、列をドラッグ&ドロップします。
  • [OK]をクリックします。

5.クエリーテーブルの列を固定するには?

クエリーテーブルでは、特定の列を固定することができます。画面を水平方向にスクロールしても、特定の列がクエリーテーブルに常に表示されるようにすることが可能です。詳細については、こちらをご参照ください。

列を固定するには、以下の手順を実施します:

  • 対象の列の見出し(ヘッダー)をクリックして選択し、画面左上から[その他]→[列を固定する]の順に選択します。
  • 列の固定を解除するには、列名の右上隅にあるピンのアイコンをクリックします。


6.列を並べ替えるには?/列の幅を変更するには?

テーブルでの操作と同様に、クエリーテーブル内の列を並べ替えたり、列の幅を変更したりできます。列を並べ替えるには、列の見出し(ヘッダー)をドラッグ&ドロップします。列の幅を変更するには、列の見出し(ヘッダー)の右側にマウスのカーソルを合わせて左右にドラッグ&ドロップします。

また、クエリーテーブルの画面左上にある[その他]をクリックし、メニューから[列の表示/非表示/並べ替え]をクリックして列の並べ替え/幅の変更を行うことも可能です。


7.クエリーテーブル内の列に対して条件付き書式を適用するには?

条件付き書式では、指定した条件に列の値が該当した場合に、セルの背景色や文字/数字の色を変更してセルを強調表示することができます。条件付き書式を適用するには、はじめに条件を指定する必要があります。セル内のデータが条件を満たす場合にのみ、指定した書式が適用されます。 

条件付き書式を適用するには、以下の手順を実施します:

  • 条件付き書式を適用する列の見出し(ヘッダー)をクリックして選択します。
  • 画面左上から[その他]→[条件付き書式]の順に選択します。条件付き書式の設定画面が開きます。
  • 列に適用する条件付き書式を設定します(条件付き書式の詳細については、こちらをご参照ください)。
  • [OK]をクリックします。条件に一致するセルの書式がすべて変更されます。

クエリーテーブルでの条件付き書式の適用方法は、テーブルでの条件付き書式の適用方法と同様です。  詳細については、こちらをご参照ください。


共用と共同作業

1.クエリーテーブルを共有するには?

共有機能を使用すると、作成したクエリーテーブルを他のユーザーと簡単に共有できます。クエリーテーブルの共有方法は、テーブルの共有方法と同様です。クエリーテーブルを共有すると、共有されたユーザーはクエリーテーブルをもとにレポートやダッシュボードを作成できるようになります。

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

メモ:
  • 共有されたユーザーが、共有されたクエリーテーブルを他のユーザーにさらに共有するには、管理者から共有権限を付与してもらう必要があります。クエリーテーブルの共有に関する詳細については、こちらをご参照ください。

2.クエリーテーブルをエクスポートするには?

Zoho Analyticsでは、作成したクエリーテーブルをエクスポートできます。CSV、PDF、XLS、HTML、画像などのさまざまなファイル形式でエクスポートすることが可能です。詳細については、こちらをご参照ください。


3.クエリーテーブルを埋め込んだり、専用のURL(リンク)を作成したりするには?

Zoho Analyticsでは、作成したクエリーテーブルをインターネット上で公開できます。公開するにあたって、自社のWebサイトやブログにクエリーテーブルを埋め込んだり、クエリーテーブル専用のURL(リンク)を作成したりすることが可能です。また、クエリーテーブルを公開する際にユーザーに対してアクセス権限を設定することもできます。クエリーテーブルを公開できるのは、管理者またはワークスペース管理者のみです。

クエリーテーブルを公開する方法については、こちらをご参照ください。 


トラブルシューティングのヒント

1.クエリーテーブルの作成における注意点は?

クエリーテーブルを作成するにあたって、以下の点にご注意ください。

クエリーの実行時における注意点:

  • 複雑なクエリーを避ける
  • 不要な結合を避ける(複数のテーブルを結合する場合は、自動結合機能を使用することをお勧めします)
  • デカルト結合(CROSS JOIN)を避ける
  • クエリーテーブルをもとにした別のクエリーテーブルの作成をできるだけ避ける

クエリーの記述時における注意点:

  • 集計関数(min()、max()、sum()、count()など)と列を一緒に使用するときは、「GROUP BY」句を使用する
  • SELECT構文内において集計関数を適用しない列に対しては、「GROUP BY」句を使用する
  • 「HAVING」句内では別名(エイリアス名)を使用しない

2.クエリーテーブルを作成しましたが、データが読み込まれません。なぜですか?

クエリーテーブルの作成には、さまざまな処理や計算が行われます。クエリーテーブルの作成時間は、行数、結合方法、使用した関数などによって異なります。クエリーテーブルを作成する際には、上記の質問と回答の注意点が守られているかご確認ください。

クエリーテーブルを作成する際には、複雑なクエリーを記述しないことをお勧めします。問題が解決しない場合は、クエリーテーブルで使用しているクエリーをもう一度作成してください。サポートをご希望の場合は、support@zohoanalytics.comにご連絡ください。担当者が確認後、対応いたします。


3.クエリーテーブルを作成しましたが、保存/アクセスしようとすると時間切れになりました。どうしたらよいですか?

上記の質問と回答のとおり、クエリーテーブルの作成にはさまざまな処理や計算が行われます。クエリーテーブルを作成する際には、上記の質問と回答の注意点が守られているかご確認ください。

サポートをご希望の場合は、support@zohoanalytics.comにご連絡ください。担当者が確認後、対応いたします。


4.既存のクエリーテーブルから列を削除しようとすると、エラーが表示されます。なぜですか?

クエリーテーブルから削除しようとしている列をもとにレポートが作成されている可能性があります。該当のレポートから対象の列を削除するか、該当のレポートを削除してください。その後、対象の列を削除できるようになります。