TIBCO Cloud™ Spotfire® Web クライアント ユーザー ガイド

カスタム クエリ

カスタム クエリとは、独自のカスタム データベース クエリを使用して、データ接続の外部データ ソースからデータを選択する方法です。これは、ポイント アンド クリックの [データを選択] または [接続内のビュー] ダイアログでテーブルとカラムを選択する代わりに使用できます。カスタム クエリを使用すると、SQL スキルを活用して、非常に詳細なデータ選択を行うことができます。カスタム クエリの結果は、Spotfire のデータ テーブルと同様にアクセスできるデータベース テーブルになります。

このページの内容

データ接続にカスタム クエリを追加する

インストール済みの Spotfire クライアントでは、[接続内のビュー] ダイアログでデータを選択する際に、カスタム クエリをデータ接続に追加できます。

始める前に

データ接続でカスタム クエリを追加および編集できるようにするには、次の要件に注意してください。
  • カスタム クエリを追加および編集するには、インストール済みの Spotfire クライアントを使用する必要があります。
  • すべてのデータ コネクタがカスタム クエリの使用をサポートしているわけではありません。
  • カスタム クエリを追加および編集するには、「接続のカスタム クエリ」ライセンスが必要です。他のユーザーが開くことができるように、カスタム クエリを信頼できるようにするには、ユーザー グループ「カスタム クエリ作成者」のメンバーである必要もあります。
  • カスタム クエリは、外部データベースのクエリ言語で記述します。詳細については、「カスタム クエリを記述する」を参照してください。

手順

  1. 新規データ接続を作成 ([ファイルとデータ] > [接続先]) するか、分析またはライブラリーの既存のデータ接続を編集します。
  2. [接続のビュー] ダイアログで、[カスタム クエリ] > [新規カスタム クエリ] を選択します。

  1. [カスタム クエリ] ダイアログで、[クエリ名] を入力します。
  2. [クエリ] フィールドにデータベース クエリを入力します。
  3. クエリが完了したら、[検証] をクリックしてクエリをテストし、[結果カラム] を取得します。 クエリにエラーがある場合は、エラーに関する情報が表示されます。エラーを修正し、[確認] を再度実行して問題が解決したことを確認します。
  4. [結果カラム] 内を確認し、必要な結果カラムがすべて正しいデータ型で表示されていることを確認します。
    ヒント: 結果カラムの編集

    クエリでさらに多くのカラムを選択した場合でも、最終的なデータテーブルに含まれるのは [結果カラム] リストのカラムのみです。不要なカラムは、[削除] ボタンを使用してクエリから除外できます。クエリを変更する必要はありません。また、[上に移動] および [下に移動] のボタンを使用してカラムの順序を変更することもできます。

    カラムの名前およびデータ型は、外部データ ソースの名前およびデータ型と一致している必要があります。作成されたカスタム クエリ テーブル内のカラム名を変更するには、カスタム クエリの作成完了後に [接続内のビュー] ダイアログで行います。

  5. カスタム クエリを終了してデータ接続に追加するには、[OK] をクリックします。

タスクの結果

カスタム クエリに基づいたカスタム テーブルが、[接続内のビュー] ダイアログの [接続内のビュー] リストに追加されます。カスタム テーブルは他のテーブルと同様に操作できます。たとえば、構造的リレーションを使用して他のテーブルと組み合わせることや、データをインポートするか、または外部インデータベース データとして保持することができます。

カスタム クエリを記述する

カスタム クエリを記述する際は、要件、制限事項、および一般的なガイドラインに留意する必要があります。

カスタム クエリを記述する際は、外部データ ソースの言語でクエリを記述します。つまり、クエリの記述方法は、接続先のデータ ソースのタイプによって異なります。たとえば、Microsoft SQL Server データベースでは、SQL の Microsoft SQL Server 言語でカスタム クエリを書き込みます。

カスタム クエリを使用して外部データ ソースのデータにアクセスする場合、カスタム クエリは、Spotfire が外部データ ソースに送信する最終クエリの FROM 句にサブクエリとしてラップされます。たとえば、Microsoft SQL Server 接続用のカスタム クエリは次のようになります。
SELECT Country,AVG(Sales) AS AvgCountrySales FROM "World Sales" GROUP BY Country
このカスタム クエリの結果のビューを Spotfire のデータテーブルとしてインポートすると、Spotfire は以下のクエリを外部データ ソースに送信します。元のカスタム クエリが 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 から通常のクエリが実行されるたびに評価されます。インデータベース (外部) データテーブルにカスタム クエリを使用する場合、カスタム クエリはビジュアライゼーションまたはフィルターが更新されるたびに実行されます。インメモリ (インポート) データテーブルの場合、つまりデータが Spotfire データ エンジンにロードされる場合は、データがインポートされるとき、または明示的に更新されるときにのみ、クエリが実行されます。

クエリの要件と制限事項

  • クエリは外部データベースの言語で記述されます。たとえば、Microsoft SQL Server データベースでは、SQL の Microsoft SQL Server 言語でカスタム クエリを書き込みます。特定のデータ ソース タイプのクエリを記述する方法については、必ず該当の外部データ ソースの公式マニュアルを参照してください。機能、制限事項、構文規則は、接続先のデータ ソースのタイプによって異なります。
  • カスタム クエリは FROM 句のサブクエリとして実行できる必要があります。詳細については、外部データ ソースの公式マニュアルを参照してください。
    注: FROM 句のサブクエリは、派生テーブルと呼ばれることもあります。
  • カスタム クエリは、単一のステートメントで構成する必要があります。セミコロン (;) で区切られた複数のステートメントをチェーン形式にすることはできません。
  • ストアド プロシージャはカスタム クエリではサポートされていません。
  • 共通テーブル式 (CTE) は、WITH キーワードが必要なためサポートされていません。

データ型

カスタム クエリを作成する際は、Spotfire で実際にサポートされているデータ型のカラムのみを含めます。サポートされているデータ型リストに対して現在使用しているコネクタのマニュアルを参照してください。

サポートされていないカラムがクエリに含まれている場合、検証の段階でそのカラムは無効とみなされ、結果のテーブルを使用することはできません。このような問題を解決するには、サポートされていないカラムを除外するようにクエリの記述を修正するか、結果のテーブルからそのカラムを削除します。カスタム クエリ カラムにはいつでも任意のデータ型を割り当てることができます。ただし、この場合のカスタム クエリで Spotfire テーブルが動作する保証はありません。

セキュリティ — カスタム クエリを信頼する

次の 2 つの条件を満たさない限り、カスタム クエリの作成者以外のユーザーはそのカスタム クエリを実行できません。

  • カスタム クエリは、分析の一部として、またはデータ接続の一部としてライブラリーに保存する必要があります。
  • カスタム クエリ作成者」グループのメンバーである必要があります。これは、その他のユーザーの代わりにカスタム クエリの作成および信頼を行う権限があることを意味します。

作成したカスタム クエリを別のユーザーと共有することはできますが、そのユーザーはカスタム クエリを確認し、信頼する必要があります。ユーザーがカスタム クエリを信頼するには、[カスタム クエリ] ダイアログを開き、カスタム クエリ テキストを確認してから、[OK] をクリックします。