カスタム クエリ
カスタム クエリとは、独自のカスタム データベース クエリを使用して、データ接続の外部データ ソースからデータを選択する方法です。これは、ポイント アンド クリックの [データを選択] または [接続内のビュー] ダイアログでテーブルとカラムを選択する代わりに使用できます。カスタム クエリを使用すると、SQL スキルを活用して、非常に詳細なデータ選択を行うことができます。カスタム クエリの結果は、Spotfire のデータ テーブルと同様にアクセスできるデータベース テーブルになります。
このページの内容
- カスタム クエリのパラメータ
1 つまたは複数の変数の値によって異なる結果をクエリで取得したい場合、パラメータの使用をクエリ上で設定することができます。たとえば、1 つのパラメータをテキストエリアのプロパティ コントロールにマッピングすることができます。
データ接続にカスタム クエリを追加する
インストール済みの Spotfire クライアントでは、[接続内のビュー] ダイアログでデータを選択する際に、カスタム クエリをデータ接続に追加できます。
始める前に
- カスタム クエリを追加および編集するには、インストール済みの Spotfire クライアントを使用する必要があります。
- すべてのデータ コネクタがカスタム クエリの使用をサポートしているわけではありません。
- カスタム クエリを追加および編集するには、「接続のカスタム クエリ」ライセンスが必要です。他のユーザーが開くことができるように、カスタム クエリを信頼できるようにするには、ユーザー グループ「カスタム クエリ作成者」のメンバーである必要もあります。
- カスタム クエリは、外部データベースのクエリ言語で記述します。詳細については、「カスタム クエリを記述する」を参照してください。
手順
タスクの結果
カスタム クエリを記述する
カスタム クエリを記述する際は、要件、制限事項、および一般的なガイドラインに留意する必要があります。
カスタム クエリを記述する際は、外部データ ソースの言語でクエリを記述します。つまり、クエリの記述方法は、接続先のデータ ソースのタイプによって異なります。たとえば、Microsoft SQL Server データベースでは、SQL の Microsoft SQL Server 言語でカスタム クエリを書き込みます。
FROM
句にサブクエリとしてラップされます。たとえば、Microsoft SQL Server 接続用のカスタム クエリは次のようになります。SELECT Country,AVG(Sales) AS AvgCountrySales FROM "World Sales" GROUP BY Country
SELECT
ステートメントの FROM
句にサブクエリとして含まれていることに注意してください。SELECT [SpotfireCustomQuery1].[Country] AS [Country], [SpotfireCustomQuery1].[AvgCountrySales] AS [AvgCountrySales] FROM (SELECT Country,AVG(Sales) AS AvgCountrySales FROM "World Sales" GROUP BY Country) AS [SpotfireCustomQuery1]
カスタム クエリは、Spotfire から通常のクエリが実行されるたびに評価されます。インデータベース (外部) データテーブルにカスタム クエリを使用する場合、カスタム クエリはビジュアライゼーションまたはフィルターが更新されるたびに実行されます。インメモリ (インポート) データテーブルの場合、つまりデータが Spotfire データ エンジンにロードされる場合は、データがインポートされるとき、または明示的に更新されるときにのみ、クエリが実行されます。
クエリの要件と制限事項
- クエリは外部データベースの言語で記述されます。たとえば、Microsoft SQL Server データベースでは、SQL の Microsoft SQL Server 言語でカスタム クエリを書き込みます。特定のデータ ソース タイプのクエリを記述する方法については、必ず該当の外部データ ソースの公式マニュアルを参照してください。機能、制限事項、構文規則は、接続先のデータ ソースのタイプによって異なります。
- カスタム クエリは
FROM
句のサブクエリとして実行できる必要があります。詳細については、外部データ ソースの公式マニュアルを参照してください。注:FROM
句のサブクエリは、派生テーブルと呼ばれることもあります。 - カスタム クエリは、単一のステートメントで構成する必要があります。セミコロン (;) で区切られた複数のステートメントをチェーン形式にすることはできません。
- ストアド プロシージャはカスタム クエリではサポートされていません。
- 共通テーブル式 (CTE) は、
WITH
キーワードが必要なためサポートされていません。
データ型
カスタム クエリを作成する際は、Spotfire で実際にサポートされているデータ型のカラムのみを含めます。サポートされているデータ型リストに対して現在使用しているコネクタのマニュアルを参照してください。
サポートされていないカラムがクエリに含まれている場合、検証の段階でそのカラムは無効とみなされ、結果のテーブルを使用することはできません。このような問題を解決するには、サポートされていないカラムを除外するようにクエリの記述を修正するか、結果のテーブルからそのカラムを削除します。カスタム クエリ カラムにはいつでも任意のデータ型を割り当てることができます。ただし、この場合のカスタム クエリで Spotfire テーブルが動作する保証はありません。
セキュリティ — カスタム クエリを信頼する
次の 2 つの条件を満たさない限り、カスタム クエリの作成者以外のユーザーはそのカスタム クエリを実行できません。
- カスタム クエリは、分析の一部として、またはデータ接続の一部としてライブラリーに保存する必要があります。
- 「カスタム クエリ作成者」グループのメンバーである必要があります。これは、その他のユーザーの代わりにカスタム クエリの作成および信頼を行う権限があることを意味します。
作成したカスタム クエリを別のユーザーと共有することはできますが、そのユーザーはカスタム クエリを確認し、信頼する必要があります。ユーザーがカスタム クエリを信頼するには、[カスタム クエリ] ダイアログを開き、カスタム クエリ テキストを確認してから、[OK] をクリックします。