クエリーテーブル

Analytics Plus Cloudには、ワークスペースで1つ以上のテーブルを組み合わせるか、標準SQL SELECTクエリーを使用して個別のレポートを作成して、テーブルを作成する方法があります。これらのデータは、テーブルと類似しており、レポート作成、データ共有、別のクエリーテーブルを既存のクエリーテーブル上で作成することもできます。

データセットをフィルタリングするクエリーテーブルを作成し、データセットの一括処理(UNION)、データ変換、SQLクエリー関数の適用、データセットの結合等が可能です。

全般設定

  1. クエリーテーブルとは?
  2. クエリーテーブル作成時の注意点は?
  3. SQL SELECTコマンドとその使用方法?
  4. サポートされているSQLダイアレクトは?

クエリーテーブルの作成

  1. クエリーテーブルの作成方法
  2. サポートされている標準のSQL関数
  3. クエリーテーブルで既存のクエリーを修正する方法
  4. クエリーテーブルで列名を変更する方法
  5. クエリーテーブルでデータセットをマージすることはできますか?
  6. クエリーテーブルDe1つ以上のテーブルを結合できますか?
  7. ルックアップ列で2つのクエリーテーブルをリンクできますか?
  8. クエリーテーブルをクエリーテーブル上で作成することはできますか?
  9. 集計関数をクエリーテーブル上で作成することはできますか?
  10. クエリーテーブルで実行する演算リストとは?

トラブルシュートのヒント

  1. アクセス時にクエリーテーブルが読み込みを継続またはタイムアウトとなる理由は?
  2. 既存のクエリーテーブルから列を削除する際に発生するエラーを解決するには?
  3. 複数の反復値を持つ列の固有の行の値を新しいテーブルで別の列に変換するには?
  4. 異なる列の地域売上を1つの列にマージできますか?

全般設定

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

クエリーテーブルでは、ワークスペースの1つ以上のテーブルを組み合わせるか、標準のSQL SELECTクエリーを使用して個別のレポート、テーブルを作成することができます。


2.クエリーテーブル作成時の注意点は?

クエリーテーブルにより詳細なレポート作成ができますが、不適切に使用するとSQLパフォーマンスに影響する場合があります。

クエリーテーブルで作業するときは、以下のベストプラクティスに従います。

  • クエリーはシンプルし、複雑な形式は避けます。
  • テーブル全体のコピーにSELECT *の使用は控えます。対象の列のみを選択します。
  • クエリーテーブルを作成するときは、適切な結合条件が整っていることを確認します。結合列で値が重複すると、結果が不正確になり、パフォーマンスに影響を及ぼす可能性があります。
  • デカルト結合(n*n)の使用を避け、代わりにテーブルの結合中は1*1、1*n、またはn*1関係性を目指します。
  • GROUP BY句は、非集計列にのみ使用するようにします。
  • 集計関数(例. min()、max()、sum()、count())をメトリクス列に使用するときは必ず、GROUP BY句をクエリーの集計列に適用します。
  • GROUP BY句の多用は避け、対象の列のみを選択します。
  • エイリアス名はHAVING句では使用できません。
  • 初回クエリーにフィルターを適用して、必要なデータのみを取り込んでから、集計値を計算します。
  • 大量のデータセットにDISTINCTを使用すると、パフォーマンスが低下する可能性があります。
  • GROUP BYとDISTINCTの両方を、1つのSELECTクエリーステートメントで使用するのは避けます。
  • UNIONはDISTINCT演算を暗示的に適用するため、UNION ALL演算子をUNIONの代わりに使用することを推奨します。
  • 少数のレコードに対して計算を実行します。
    • 初めにデータセットを集計して、次に結合句を適用します。
    • UNION句を同じテーブルを参照して使用するのは避け、代わりにCASE WHENステートメントを使用します。
  • 同じ表現については、複数のOR条件よりIN句を優先します。
    • 例えば、f(column) = '1' OR f(column) = '2' OR f(column) = '3'とする代わりに、f(column) IN ('1', '2', '3')を使用します。

以下のシナリオにはクエリーテーブルの作成は避けます。

  • 簡単な計算
    簡単な計算、特に、1つのテーブルの場合、クエリーテーブルを作成するのではなく、数式や計算を直接使用します。
  • テーブルの結合
    データの結合のみのためにクエリーテーブルを作成することは避けます。Analytics Plus Cloudには、リレーショナルデータモデルの作成に自動結合機能があります。クエリーテーブルは必要なときのみ使用してください。
  • データのフィルタリング
    複数のクエリーテーブルを作成して異なるユーザーに個別データを共有するのではなく、動的な共有フィルター基準を適用します。
  • 複数のユースケース
    各ユースケースに個別のクエリーテーブルを作成するのは避けます。例として、1つのクエリーテーブル内で複数のメトリクスを計算する場合は、連結します。ワークスペースでクエリーテーブルが多すぎると、システムパフォーマンスに影響を及ぼす可能性があります。
  • 入れ子型クエリーテーブル
    Analytics Plus Cloudは複数の階層(レベル)で、他のクエリーテーブルでクエリーテーブルを作成することが可能ですが、不要な演算は避けるようにします。
  • 未使用テーブルをクリーンアップ
    未使用クエリーテーブルは定期的にクリーンアップします。

3.SQL SELECTコマンドとその使用方法?

SQL(構造化問い合わせ言語)は、データベースでデータを保存、操作、取り込むための標準言語です(Oracle、SQL Server、MySQL等)。

Analytics Plus Cloudは、SQL SELECTステートメントを使用して、異なるテーブルからデータを選択してクエリーテーブルを作成します。SQL SELECTについての詳細は、SQL SELECT Statementを参照してください。


4.サポートされているSQLダイアレクトは?

Analytics Plus Cloudでは、以下のSQLダイアレクトを使用して、クエリーテーブルを作成できます。

Oracle、SQL Server、IBM DB2、MySQL、Sybase、Informix、PostgreSQL、ANSI SQL


クエリーテーブルの作成

1.クエリーテーブルの作成方法


2.サポートされている標準のSQL関数

Analytics Plus Cloudでは、SQL関数タブに表示された関数を使って、クエリーテーブルを作成できます。
論理、集計、表形式、文字列、数学、日付、日付算術、日付変換、現在の日付、営業日、期間、その他の一般関数をサポートしています。


3.クエリーテーブルで既存のクエリーを修正する方法

クエリーテーブルで使用する既存のクエリーを編集することができます。手順は以下のとおりです。

  1. [デザインを編集]モードで対象のクエリーテーブルを開きます。

  2. 既存のSQLクエリーで必要な編集をする、または[クエリーを削除する]ボタンをクリックして、クエリー全体を削除し、新しいクエリーを入力します。
  3. [クエリーを実行]をクリックします。
    生成されたテーブルは、[期待された結果]タブに表示されます。
  4. [保存]をクリックして、クエリーテーブルを保存します。

ワークスペースでレポートの生成に使用する列の編集はできません。

4.クエリーテーブルで列名を変更する方法

Analytics Plus Cloudでは、列がワークスペースの他のレポートで参照されていても、エイリアス名を使って、クエリーテーブルの列名を変更できます。

例えば、クエリーテーブルで「Incoming」や「Closed」などのステータスを新たなエイリアス名として追加し、ヘルプデスクチケットをさらに確認しやすく区分します。

SELECT
      "Issue ID"as 'Issue ID',
      "Created"as "Time",
      "Issue Type"as 'Issue Type',
      'Incoming' as"Status"
FROM"Issues"
UNION
SELECT
      "Issue ID"as 'Issue ID',
      "Resolved"as "Time",
      "Issue Type"as 'Issue Type',
      'Closed' as"Status"
FROM"Issues"
WHERE   "Issue is open" = 'false'

analytics-query-table-rename-column


5.クエリーテーブルでデータセットをマージすることはできますか?

UNION関数で、異なるテーブルで利用可能な共通のデータセットをマージできます。
例えば、以下のクエリーテーブルは、プロジェクト提供(Project Given)テーブルの従業員ID従業員名プロジェクト提出日(Project Submitted Date)テーブルの従業員ID従業員名と組み合わせます。


6.クエリーテーブルDe1つ以上のテーブルを結合できますか?

Analytics Plus Cloudでは、以下の結合を使用してテーブルを結合できます。


7.ルックアップ列で2つのクエリーテーブルをリンクできますか?

Analytics Plus Cloudでは、ルックアップ列を使って、2つのクエリーテーブルをリンクできます。ルックアップ列についての詳細は、列をルックアップに変更を参照してください。
ルックアップ列を使ってクエリーテーブルをリンクさせる手順は以下の通りです。

  1. 対象のクエリーテーブルを開き、ルックアップ列に変更する列を選択します。
  2. [ルックアップ列に変更]を右クリックして選択します。

  3. 表示されるダイアログで、ワークスペースで利用可能なテーブルのリストから検索する列を選択します。

  4. [保存して閉じる]をクリックします。

8.クエリーテーブル上で追加のクエリーテーブルを作成することはできますか?

Analytics Plus Cloudでは、Editionに応じて既存のクエリーテーブル上で3または5階層のクエリーテーブルを作成できます。
以下の手順で、既存のクエリーテーブルから新しいクエリーテーブルを作成します。

  1. 対象のワークスペースを開きます。
  2. サイドパネルの[+作成]ボタンをクリックし、[クエリーテーブル]を選択します。

  3. ワークスペースの既存のクエリーテーブルと他のテーブルから必要な列を使用します。

  4. [クエリーを実行][保存]をクリックして、新しいクエリーテーブルを作成します。

9.集計関数をクエリーテーブル上で作成することはできますか?

Analytics Plus Cloudでは、クエリーテーブルに集計関数を作成することができます。


10.クエリーテーブルで実行する演算リストとは?

クエリーテーブルは、ワークスペースの他のテーブルと機能は似ています。Analytics Plus Cloudでは、手動作成、またはデータインポートにより作成したテーブル上で実行するすべての演算を実行することができます。
テーブル演算の詳細


トラブルシュートのヒント

1.アクセス時にクエリーテーブルが読み込みを継続またはタイムアウトとなる理由は?

クエリーテーブルのパフォーマンスは、テーブルの行数、使用した結合タイプ、使用した関数等に依存します。クエリーテーブルの作成時の注意事項を確認してください。

問題が解消されない場合は、クエリーテーブルで使用しているクエリーの整理を試してください。


2.既存のクエリーテーブルから列を削除する際に発生するエラーを解決するには?

Analytics Plus Cloudでは、列を使用して作成された依存するレポートがある場合、その列を削除することはできません。

クエリーテーブルの列を削除する前に、Analytics Plus Cloudは依存の有無をチェックします。依存するレポートが発見された場合、削除プロセスを中止し、確認が必要な依存項目を表示します。


3.複数の反復値を持つ列の固有の行の値を新しいテーブルで別の列に変換するには?

Analytics Plus Cloudでは、列の特異値を分割し、PIVOT句で複数の列に変換することができます。PIVOTキーワードは、行を列に変換させ、入力テーブルで選択された列の各固有値を出力テーブルの個別列に変換します。

例えば、製品カテゴリ列に対して売上データを分割してみましょう。

製品カテゴリ列の固有値は、食料雑貨家具文具などの複数の列に分割され、対応する各列に売上データが表示されます。


4.異なる列の地域売上を1つの列にマージできますか?

Analytics Plus Cloudでは、複数の列のデータをUNPIVOT句を使用して1列にマージできます。UNPIVOTキーワードは、列を行に変換させ、入力テーブルの選択された列を出力テーブルの1列の行値に変換します。

例えば、以下のテーブルの複数の地域列の売上データをマージしてみましょう。

西中央列は、地域列に表示され、各売上地域データは売上列の対応する行に表示されます。