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

インデータベース データを操作する

外部データ ソースのデータ (インデータベース データ) を操作する場合、インメモリ データの操作と比較して多くの違いがあることに注意してください。動作が異なったり、使用できない場合もあります。

注: ここで説明する機能の一部は、インストールされた Spotfire クライアントを使用してのみ作成またはアクセスできます。

ストリーミング データを操作している場合は、他にも注意すべき相違点があります。詳細については、ストリーミング データを操作する を参照してください。

インデータベース データを操作する際に考慮すべき点の 1 つは、基本のデータベース スキーマの変更が Spotfire の分析に自動的に反映されないということです。つまり、データベース テーブルにカラムを追加した場合、その新しいカラムを分析に表示するには、Spotfire でスキーマの更新操作を行う必要があります。すべてのユーザーがスキーマの完全な更新を実行できる十分なデータベース アクセス権限を持っているわけではありません。しかし、大部分のユーザーは、[再ロード] または [更新] を使用して実データの変更を更新できます。詳細については、データの再ロード を参照してください。
注: Spotfire でインデータベース データを操作する場合には、いくつかの前提条件があります (詳細については、Spotfire® のシステム要件を参照してください)。
  • 目的のデータ ソース用のドライバがコンピュータにインストールされている必要がある場合があります。
  • Spotfire アドミニストレータによって、対象のすべてのコネクタのためのライセンスに対するアクセスが許可されている必要があります。
インメモリとの違い 理由
テーブルのビジュアライゼーションと Details-on-Demand では、リレーショナル インデータベースのデータ ソースから制限数 (既定で 10000) を超えるローを表示することができません。

インデータベース データに対して、仮想カラムはサポートされていません。

大規模なデータベースによって Spotfire のオーバーフローが発生しないように、テーブルのビジュアライゼーションと Details-on-Demand に表示できるローの最大数を制限する設定があります。

既定の制限は 10000 です。Spotfire アドミニストレータは、管理マネージャで TableVisualizationExternalRowLimit 設定を編集してこの制限を構成できます。

Spotfire アドミニストレータは、インデータベース データを操作するときに、取得してビジュアル化することができるロー数の制限を構成することができます。この制限は、ビジュアライゼーションや特定のフィルター タイプなどに影響します。

データを十分に集計しないで表示するなど、この制限を超える方法でデータをビジュアル化すると、エラーが発生します。

含まれている固有値が多すぎる変数には、リスト ボックス フィルター、階層フィルター、およびアイテム フィルターを作成できません。

展開された[分析内のデータ] フライアウトの詳細ビューでは、含まれている固有値が多すぎるカテゴリ カラムの統計を表示できません。

大きなデータテーブルを調査する場合は、非常に大量のデータがロードされるリスクがあります。この場合、特に Web クライアントを使用している場合は、ネットワーク、データベース、およびシステム メモリに負荷がかかるため、パフォーマンスが低下する可能性があります。

このような問題を回避するために、インデータベース データを操作するときに取得およびビジュアル化できるデータのロー数を制限する設定が用意されています。

Spotfire アドミニストレータは、管理マネージャで ConnectorExternalRowLimit 設定を使用してこの制限を構成できます。

キューブからのインデータベース データの場合、テーブルのビジュアライゼーションに含めるカラムを手動で選択する必要があります。
ヒント: 非キューブソースへの接続からのインデータベース データ テーブルに対しても、この動作を有効にできます。[データ接続の設定] ダイアログの [パフォーマンス] タブにある設定 [テーブル ビジュアライゼーションのカラムを手動で追加します] を使用します (インストールされたクライアントのみ)。
テーブル ビジュアライゼーションで使用可能なカラムをすべて使用すると、テーブル ビューが単一のテーブルに平滑化されるため、OLAP ソースに対してクエリーが大きくなり過ぎる場合があります。

最も重要なカラムのみを選択し、テーブル ビジュアライゼーションを詳細ビジュアライゼーションとしてのみ使用して、データ ソースに対する Spotfire からのクエリーの影響を緩和できます。

データテーブル ソースがキューブの場合、テーブル ビジュアライゼーションは並べ替えることはできません。 キューブはデータを並べ替え順序ではなく、通常の順序および逆の通常の順序でのみ返すことができます。そのため、並べ替えは、キューブ データに基づくすべてのテーブル ビジュアライゼーションに対して無効です。
インデータベース データを操作する場合は、ビジュアライゼーションのマーク数が制限されます。

マークする項目数 (棒のセグメント、扇形、またはマーカーなど) が多いほど、外部データ ソースに対するクエリーが複雑になるため、この制限はマークできる項目数に影響を及ぼします。ビジュアライゼーションの種類および構成に応じて複雑さが変化するため、マークできる項目数はビジュアライゼーションごとに異なります。

制限の既定値は 1000 ですこの設定は Spotfire アドミニストレータが構成できます。

ヒント: マーキングの項目数を増やす場合は、Ctrl または Shift キーを押しながら追加項目をマーキングして、既存のマーキングに項目を追加することができます。この方法で、マーキング制限を超えるマーキングを作成できます。
注: ビジュアライゼーション内のすべての項目にマークした場合は、クエリーが複雑になりません。つまり、制限に関係なく、すべての項目にマークすることはいつでもできます。
ビジュアライゼーション内の項目にマークすると、Spotfire は外部データ ソースに対するクエリーを生成します。ビジュアライゼーションに多数の項目が含まれている場合、特に分析内の値もフィルターされている場合には、このようなクエリーは非常に長く、かつ複雑になりやすくなります。

クエリーが複雑になると、パフォーマンスが低下する可能性があります。したがって、設定を使用して、インデータベース データを操作する場合にビジュアライゼーション内でマークできる項目数を制限することができます。

テーブルのビジュアライゼーションでのマークは、ビューにプライマリ キーが定義されている場合のみサポートされています。これは、[接続のビュー] ダイアログで、基本となるデータベース テーブルのアドミニストレータによって、または一部の種類のデータ接続に対して定義できます (インストールされたクライアントのみ)。キューブ データに基づくテーブルでマークを設定できません。 プライマリ キーは、マークするローを識別するために必要です。
カテゴリ軸に浮動小数点式を構成したビジュアライゼーションでは、マーキングは無効になります。

インデータベース データに基づくビジュアライゼーションでマーキングを使用する場合は、浮動小数点値を返すカテゴリ式 (山かっこ ''<> で記述) をいずれの軸にも使用しないでください。

注: これは、この制限の適用を受ける可能性があるカスタム演算式を使用する場合のみではありません。たとえば、棒グラフのカテゴリ軸に浮動小数点のカラムを選択し、カテゴリのスケールを表示するようにカテゴリ軸を構成すると、その軸に浮動小数点値を返すカテゴリのカスタム演算式を記述するのと同じになります。
カテゴリ軸に浮動小数点式を構成したインデータベース ビジュアライゼーションにマーキングを適用すると、予期しない結果が生じることがあります。
インデータベース データでは、要約テーブルを使用することができません。 要約テーブルは、インデータベース データを処理できるように調整されていません。
Box Plot では、インデータベース データを使用することはできません。 Box Plot では、集計データと非集計データの両方が必要であり、インデータベース データを処理できるように調整されていません。
インデータベース データを使用する場合は、散布図と 3D 散布図を集計ビジュアライゼーションとして設定する必要があることがあります。 外部データ ソースで使用できるローの数は、Spotfire で処理するには多すぎることがあります。
インデータベース データを使用するときに、X 軸が (なし) に設定されている場合、デンドログラムはヒート マップでのみ表示できます。デンドログラムでのハイライトとマーキングはサポートされていません。 デンドログラムはロー索引に基づくもので、インデータベース データテーブルにロー索引はありません。
一部の外部システムでは、Spotfire が標準で備えている集計方法と式の一部を使用できません。一方、 Spotfire が既定で備えていない他の方法を使用できる場合もあります。 外部データ ソースでサポートされている集計方法に応じて、インデータベース データに対して使用できる方法が決まります。
OVER 式は、集計後の式または、該当する場合にはカスタム式として記述する必要があります。 OVER 式は、集計ビューで実行する必要があります。詳細については、集計データで式を使用する (THEN キーワード) を参照してください。
自動的に作成された日付と時刻の階層は、インデータベース データでは使用できません。 日付と時刻の階層をセットアップするショートカットは、インデータベース データを処理できるように調整されていません。
変換はインデータベース データに対して使用できません。 実行時には分析内にデータが格納されないため、インデータベース データに変換を適用することはできません。

ただし、データ接続ビューに基づくデータテーブルもインポートでき、データがメモリ内に格納されると、そのデータに変換を適用できます。詳細については、『Spotfire Analyst ユーザー ガイド』の「データの変換」を参照してください。

外部データ ソースとの接続が失われた場合、そのデータ ソースによる詳細な分析を実行できません。 外部データは実行時に分析に保存されず、変更を行うたびに、新しいクエリーが生成されて外部データ ソースへ送信されます。そのため、ビジュアライゼーションの変更を行う限り、データ ソースを使用できる状態にしておく必要があります。
タグはインデータベース データに対して使用できません。 タグは、インデータベース データで使用できないロー番号に依存しています。
インデータベース データテーブルのカラムやローは削除できません。 インデータベース データテーブルには実行時にデータが含まれないため、何も削除できません。

ただし、[接続内のビュー] ダイアログ (リレーショナル データ ソースの場合) または [接続内のデータ選択] ダイアログ (キューブ データ ソースの場合) でテーブルを選択する場合には、インストールされているクライアントを使用してソース テーブルからのカラムを非表示にすることができます。

インデータベース データテーブルでは以下のツールまたは操作を適用できません。

カラムの追加、

ローの追加、

ビニングされたカラムの追加、

データの関係、

K 平均法クラスタリング、

ライン類似性、

データ関数、

回帰モデリング、

分類モデリング、

予測カラムの追加

インデータベース データテーブルには実行時にデータが含まれないため、他のデータを組み込むことができません。
[計算カラムを追加] には、インデータベース データ操作時に次の制限があります。
  • キューブ コネクタはサポートされていません。
  • 一部のコネクタ (Cloudera、Hortonworks、Vertica など) では集計方法がサポートされていません。
  • ビニングはサポートされていません。
  • 集計後の式 (THEN キーワード) はサポートされていません。つまり、OVER 式はサポートされていません。
計算カラムの式は、基本となるデータベース管理システムで評価されます。つまり、現在のコネクタでサポートされている方法のみを使用できます。
キューブ属性または次元カラムは数値軸に使用できません。 すべてのキューブ次元は、キューブ データが Spotfire に追加される際に文字列としてマップされるため、カラムの名前が結果が数値であることを示しているような場合でも、これらのカラムは数値軸に使用できません。

キューブ データの一部をインポートして、文字列データをその他のデータ型に変換できます。

外部データの場合、[オンデマンド] は初めてデータ接続を分析に追加するときには直接利用できません。代わりに、データを外部データとして追加し、データ キャンバスからオンデマンド設定を編集して (インストールされたクライアントのみ) オンデマンドのロードを有効にする必要があります。 [データを分析に追加] ワークフローでは、オンデマンド データがインポートされることを常に想定しています。
オンデマンドは現在、キューブ データ ソース (インポートされたキューブ、インデータベース キューブを含む) に対してサポートされていません。 オンデマンドは、キューブ データを処理できるように調整されていません。
リレーショナル データ ソースからのデータ接続とは対照的に、キューブ データ接続を選択すると、常に単一のデータテーブルとなります。 キューブ データ ソースに対するデータ選択ステップでは現在、異なるスライスの同時表示ではなく、フラット化されたキューブ データの制限を行います。
自動ビニング カラムは、Teradata、Oracle、PostgreSQL、SAP HANA など、特定のコネクタでのみ動作します。 自動ビニングで width_buckets を使用できるのは、一部の外部データ ソースに限られます。
インデータベース データテーブルからエクスポートする際は、[データのエクスポート元] の [データテーブル] は使用できません。 インデータベース データテーブルには実行時にデータが含まれないため、データテーブルからは何もエクスポートできません。
ヒント: インデータベース データテーブルからエクスポートする場合は、[データのエクスポート元] の [ビジュアライゼーション] オプションを使用します。テーブルおよびクロス テーブル以外のすべてのビジュアライゼーションの場合、[データのエクスポート] ダイアログを開く前に、必要なアイテムをマークする必要があります。
異なるシステム間で文字列を比較すると、末尾のスペースの処理方法の違いによって、結果が異なる場合があります。 SQL-92 規格に準拠した外部システム (SQL Server、MySQL、Netezza など) では、文字列の末尾のスペースがトリムされます。
インデータベース データを操作してテキスト フィルターでファジー マッチを行うには、ワイルドカードを入力する必要があります。 インデータベース データで語句の一部を入力すると、それらの文字との完全一致だけが検索されます(インメモリ データの場合は、入力した文字にワイルドカードが自動的に付加されます)。
デフォルトでは、インデータベース データテーブルに複数のフィルターがある場合、フィルターで選択できる値には、別のフィルターですでに実行されている可能性のあるフィルター選択は反映されません。これはすでにフィルターアウトされた可能性のある値が選択可能であることを意味し、インメモリ データテーブルを操作する際とは異なり、他のフィルターによってフィルターアウトされた値を示す視覚的なヒントは表示されません。

インデータベース データテーブルのフィルターをインメモリ データテーブルのフィルターのように動作させるには、データ接続の設定を変更して、インデータベース テーブルのカスケーディング フィルターを有効にすることができます。

インデータベース データテーブルの場合、他のフィルターによってフィルターアウトされた値を非表示または灰色表示するのは手間のかかる操作です。したがって、カスケーディング フィルターと呼ばれるこのオプションは手動で有効にする必要があります。
注意: インデータベース データテーブルのフィルターに対してカスケーディングの動作を有効にすると、外部データソースへのクエリーの負荷が増えます。ユーザーは、外部データソースがクエリーの過剰な負荷を処理できるようにする必要があります。
接続からインデータベース データテーブルのカスケーディング フィルターを有効化するには:
  1. メニュー バーで、[データ] > [データ接続のプロパティ] の順に選択します。
  2. [データ接続のプロパティ] ダイアログで、対象のデータ接続を選択し、[設定...] をクリックします。
  3. [データ接続の設定] ダイアログで、[パフォーマンス設定] タブをクリックし、[この接続からインデータベース データテーブルのカスケーディング フィルターを有効化] を選択します。
  4. 変更を保存してダイアログを閉じるには、[OK] をクリックします。