クエリテーブル
Analytics Plusには、ワークスペースで1つ以上のテーブルを組み合わせるか、標準SQL SELECTクエリを使って個別データビューを作成して、テーブルを作成する方法があります。これらのデータは、テーブルと類似していて、レポートを作成、データを共有、および別のクエリテーブルを既存のクエリテーブル上で作成することもできます。
データセットをフィルタリングするクエリテーブルを作成し、データセットを一括処理(UNION)、データを変換、SQLクエリ関数を適用、データセットを結合等が可能です。
全般設定
- クエリテーブルとは何ですか?
- クエリテーブル作成に特有の注意点はありますか?
- SQL SELECTコマンドとは何ですか、またそれはクエリテーブルでどのように使用しますか?
- どのようなSQLダイアレクトがクエリテーブルでサポートされていますか?
クエリテーブルの作成
- クエリテーブルを作成するにはどうしたらよいですか?
- どのような標準SQL関数がAnalytics Plusでサポートされていますか?
- クエリテーブルで既存のクエリを修正するにはどうしたらよいですか?
- クエリテーブルで列名を変更するにはどうしたらよいですか?
- クエリテーブルを使ってデータセットをマージすることはできますか?
- クエリテーブルを使って1つ以上のテーブルを結合することはできますか?
- ルックアップ列を使って2つのクエリテーブルをリンクすることはできますか?
- クエリテーブルをクエリテーブル上で作成することはできますか?
- クエリテーブルをクエリテーブル上で作成することはできますか?
- クエリテーブルで実行する演算のリストとは何ですか?
トラブルシュートのヒント
- クエリテーブルがアクセス中に取り込みを継続、またはタイムアウトとなるのはなぜですか?
- 列を既存のクエリテーブルから削除するときに生じるエラーを解決するにはどうしたらよいですか?
- 複数の反復値がある大きさ列の固有行の値を新しいテーブルで別列に変換するにはどうしたらよいですか?
- 異なる列の地域売上のすべてを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句で使う列数が多すぎる(例., 30または40列)のは避ける。必要な列のみを選択する。列数がさらに必要な場合は、計算が必要なデータについてのみ実行され、残りは対応する行に追加され、パフォーマンスに影響がないように、メトリクス計算にサブクエリを使用します。
- エイリアス名はHAVING句では使用できません。
- 初回クエリに必要フィルターを適用して、必要なデータのみを取り込んでから、集計値を計算します。例えば、10年のデータがあっても、当年をもとにした分析、当年のデータをフィルタリングしてデータセット全体での計算を避ける必要があります。
- 一般的に、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'と書き込む代わりに、 use f(column) IN ('1', '2', '3')を使用します。
以下のシナリオにはクエリテーブルの作成は避けます:
- 簡単な計算:簡単な計算、特に、1つのテーブルでは、クエリテーブルを作成するのではなく、数式または計算を直接使用します。
- テーブルの結合:データの結合のみのためにクエリテーブルは作成しないでください。Analytics Plusには、リレーショナルデータモデルの作成に自動結合機能があります。クエリテーブルは必要なときのみ使用してください。
- データのフィルタリング:複数のクエリテーブルを作成して異なるユーザーに個別データを共有するのではなく、動的共有フィルター基準を適用します。
- 複数のユースケース:各ユーズケースに個別クエリテーブルを作成するのは避けてください。可能なかぎり、例えば、1つのクエリテーブル内の同じ大きさで複数のメトリクスを計算する場合などは、連結します。ワークスペースでクエリテープルが多すぎると、システムパフォーマンスが影響を受ける可能性があります。
- 入れ子型クエリテーブル:Analytics Plusは複数レベルで他のクエリテーブルでクエリテーブルを作成することをサポートしていますが、この不要な演算は控えてください。
- 未使用テーブルをクリーンアップ:未使用クエリテーブルは定期的にクリーンアップし、システムリソースに不要な制約がかからないようにします。
3.SQL SELECTコマンドとは何ですか、またそれはクエリテーブルでどのように使用しますか?
SQL (構造化クエリ言語)は、データベースでデータを保存、操作、および取り込むための標準言語です (例. Oracle、SQL Server、MySQL等)。
Analytics Plusは、SQL SELECTステートメントを使って、データを異なるテーブルから選択して、クエリテーブルを作成します。SQL SELECTについての詳細は、ここをクリックしてください。
4.どのようなSQLダイアレクトがクエリテーブルでサポートされていますか?
Analytics Plusでは、以下のSQL dialects:ダイアレクトを使って、クエリテーブルを作成できます:Oracle、SQL Server、IBM DB2、MySQL、Sybase、Informix、PostgreSQL、およびANSI SQL。
クエリテーブルの作成
1.クエリテーブルを作成するにはどうしたらよいですか?
2.どのような標準SQL関数がAnalytics Plusでサポートされていますか?
Analytics Plusでは、SQL関数タブに一覧表示されたすべての関数を使って、クエリテーブルを作成できます。Analytics Plusは、論理、集計、表形式、文字列、数学、日付、日付算術、日付変換、現在の日付、営業日、期間、およびその他の一般関数をサポートしています。
3.クエリテーブルで既存のクエリを修正するにはどうしたらよいですか?
Analytics Plusでは、クエリテーブルで使用する既存のクエリを編集することができます。これを行うには、下の手順に従います:
-
[デザインを編集]モードで必要なクエリテーブルを開きます。
- 既存のSQLクエリで必要な変更を行うか、[クエリを消去]ボタンをクリックして、クエリ全体を消去し、新しいものを入力します。
- [クエリを実行]をクリックします。生成されたテーブルは、[期待された結果]タブに表示されます。
-
[保存]をクリックして、クエリテーブルを保存します。
注記:ワークスペースでレポートの生成に使う列は編集できません。
4.クエリテーブルで列名を変更するにはどうしたらよいですか?
Analytics Plusでは、列がワークスペースの他のビューに参照されていても、エイリアス名を使って、クエリテーブルの列名を変更できます。
例えば、クエリテーブルを使って、着信や閉鎖済等のステータスに基づいて、ヘルプデスクチケットを区分でき、さらに読みやすくするためエイリアス名を追加するシナリオを考えてみましょう。
"発行 ID"を '発行 ID'、
"作成済"を"時刻"、
"発行タイプ"を'発行タイプ'、
'着信'を"ステータス"として選択
"発行"から
結合
"発行 ID"を'発行 ID'、
"解決済"を"時刻"、
"発行タイプ"を'発行タイプ'、
'閉鎖済' を"ステータス"として
"発行"
( "発行が開いている" = 'false')から選択
5.クエリテーブルを使ってデータセットをマージすることはできますか?
はい。Analytics Plusでは、UNION関数を使って、異なるテーブルで利用可能な共通データセットをマージできます。例えば、下のクエリテーブルは、プロジェクト提供テーブルの従業員IDと従業員名をプロジェクト提出日テーブルの従業員IDと従業員名と組み合わせます。
6.クエリテーブルを使って1つ以上のテーブルを結合することはできますか?
はい。Analytics Plusでは、テーブルを以下の結合の1つを使って結合できます:
下図は、3つすべての結合タイプを使って組み合わせたデータを示します。
7.ルックアップ列を使って2つのクエリテーブルをリンクすることはできますか?
はい。Analytics Plusでは、ルックアップ列を使って、2つのクエリテーブルをリンクdけいます。ルックアップ列についての詳細は、ここをクリックしてください。ルックアップ列を使ってクエリテーブルを接続するには、下の手順に従います。
- 必要なクエリテーブルを開き、ルックアップ列に変更する列を選択します。
-
[ルックアップ列に変更]を右クリックして選択します。
-
表示されるダイアログで、ワークスペースで利用可能なテーブルのリストから検索する列を選択します。
8.クエリテーブルをクエリテーブル上で作成することはできますか?
はい。Analytics Plusでは、既存のクエリテーブル上で最大3レベルのクエリを作成できます。下の手順にしたがって、既存のクエリテーブルから新しいクエリテーブルを作成します。
- 必要なワークスペースを開きます。
-
サイドパネルの[+作成]ボタンをクリックし、[クエリテーブル]を選択します。
-
ワークスペースの既存のクエリテーブルと他のテーブルから必要列を使用します。
- [クエリを実行]と[保存]をクリックして、新しいクエリテーブルを作成します。
9.クエリテーブルをクエリテーブル上で作成することはできますか?
はい。Analytics Plusでは、クエリテーブルに集計数式を作成することができます。
10.クエリテーブルで実行する演算のリストとは何ですか?
クエリテーブルは、ワークスペースの他のテーブルと機能は似ています。Analytics Plusでは、手動で作成した、またはデータをインポートして作成したテーブル上で実行するすべての演算を実行することができます。テーブルの演算についての詳細は、このドキュメントを参照してください。
トラブルシュートのヒント
1.クエリテーブルがアクセス中に取り込みを継続、またはタイムアウトとなるのはなぜですか?
クエリテーブルのパフォーマンスは、テーブル中の行数、使用した結合のタイプ、使用した関数等によって変わります。クエリテーブルの作成中に、記載されたポイントに従っていることを確認してください。
問題が解消されない場合は、クエリテーブルで使用したクエリの再整理を試してください。
2.列を既存のクエリテーブルから削除するときに生じるエラーを解決するにはどうしたらよいですか?
Analytics Plusでは、列を使って作成された依存レポートがある場合、その列を削除することはできません。
クエリテーブルの列を削除する前に、Analytics Plusは依存チェックを実行します。依存ビューが見つかった場合、Analytics Plusは、削除プロセスを中止し、再確認する依存項目を表示します。依存項目を再確認および削除して、問題を解決することができます。
3.複数の反復値がある大きさ列の固有行の値を新しいテーブルで別列に変換するにはどうしたらよいですか?
Analytics Plusでは、列の特異値を分割し、PIVOT句を使って複数列に変換することができます。
PIVOTキーワードは、行を列に回転させ、入力テーブルの選択された列の固有値それぞれを出力テーブルの個別列に変換します。
例えば、1列製品カテゴリ列全体で 売上データを分割してみましょう。
製品カテゴリ列の固有値は複数列に分割され、例えば、食料雑貨、家具、および 文具等になり、売上データが対応する製品カテゴリ列の下に表示されます。
4.異なる列の地域売上のすべてを1つの列にマージすることはできますか?
はい。Analytics Plusでは、複数列のデータをUNPIVOT句を使って1列にマージできます。
UNPIVOTキーワードは、列を行に回転させ、入力テーブルの選択された列を出力テーブルの1列の行値に変換します。
例えば、下のテーブルの複数の地域列の売上データをマージしてみましょう。
東、西、南、および中央列は、地域の列に組み合わされ、複数の地域 列の売上Regionデータは売上列の対応する行の下に表示されます。