Spotfire® ユーザー ガイド

データ関数を登録する

R またはその他の言語で記述された計算を分析に追加することで、データ関数を使用して Spotfire の機能を拡張することができます。データ関数は、Spotfire® Enterprise Runtime for R (別名 TERR™) エンジン、オープンソース R エンジン、または Python インタープリターなどの統計エンジンを使用して実行されます。データ関数を登録してライブラリーに保存すると、いずれの分析でも使用できるようになります。またスクリプトの作成者以外のユーザーによっても使用できます。

このタスクについて

データ関数の概要については、「データ関数について」および「データ関数をオーサリングする」も参照してください。
この例では TERR データ関数を登録する方法を示しますが、他の計算エンジンを使用してデータ関数を登録する場合も同じ手順を使用します。
ヒント: インストール済みクライアントでは、データ キャンバスの [スクリプトの編集] ダイアログ (fx ノードからアクセス可能) またはデータ関数プロパティを使用して、以前に追加したデータ関数スクリプトを編集できます。

始める前に

データ関数は、インストール済みクライアントを使用して作成する必要があります。

手順

  1. インストール済み Spotfire クライアントのメニュー バーから [ツール > データ関数の登録] の順に選択します。
  2. [名前] フィールドに、関数の名前を入力します。
    パッケージを使用する場合、関数の名前がパッケージで使われている名前と完全一致していないと、Spotfire は関数を見つけることができないことに注意してください。パッケージの詳細については、対象サービスのマニュアルを参照してください。
  3. [タイプ] ドロップダウン リストから、使用するスクリプトのタイプ、たとえば [R スクリプト - Spotfire Enterprise Runtime for R] を選択します。

    どのオプションにアクセスできるかは、管理者が Spotfire 環境で使用可能にした内容、またはローカルにインストールされているツールによって異なります。

    事前に定義された R 関数に対しては、オープンソース R 関数を選択します。Spotfire 内から使用する関数が定義および保存されているときには、その名前と、必須の入力および出力パラメータすべての名前を書き留めるか、覚えておく必要があります。

    新しいスクリプトを定義するには、[R スクリプト - オープンソース R]、[R スクリプト - Spotfire Enterprise Runtime for R]、または [Python スクリプト] を選択します。(会社によっては他のオプションも利用できる場合があります。)

  4. オプション: 統計パッケージから事前に定義された関数を含める場合は、[パッケージ] フィールドに、関数が置かれているパッケージの正確な名前を入力します。
    [パッケージ] フィールドは、ダウンロードしたパッケージを使用して、事前定義された R 統計または TERR 関数に基づいてデータ関数を作成する機会を提供します。ここでは、現在のデータ関数で使用する任意のパッケージをセミコロンで区切って指定できます。パッケージの詳細については、対象サービスのマニュアルを参照してください。

    たとえば、事前に定義された R 統計関数に基づくデータ関数を作成する場合、パッケージの名前を指定 (オプションで CRAN からダウンロード) します。関数が置かれているパッケージの正確な名前を入力します。(これは、リポジトリ内に同じ名前の関数が複数ある場合、またはパッケージが自動的にロードされない場合にのみ必要です。)

    ローカル Python スクリプトの場合、このフィールドを使用すると、データ関数の実行時に必要な時間を短縮するためにプリロードできる Python パッケージを一覧表示できます。このフィールドは、[ホット スペアの使用] が有効になっている場合に、インストール済みクライアントで使用されます。Web クライアントで実行されるリモート サービスやデータ機能には影響しません。不明な場合は、このフィールドを空白のままにします。ここでパッケージを指定するだけでなく、スクリプトにパッケージをインポートする必要があります。

    複数のパッケージが必要であれば、パッケージの名前をセミコロンで区切ります。

  5. 統計パッケージの事前定義された関数に基づいてデータ関数を登録するときは、[関数名] フィールドに、対象の関数の正確な名前を、パッケージで定義されているとおりに入力します。
    このステップはスクリプトベースのデータ関数には適用されません。
  6. 他のユーザーが関数を簡単に使用できるように関数の説明を記入します。
  7. データ関数がスクリプトに基づいている必要がある場合は、スクリプトを [スクリプト] タブに入力、貼り付け、またはインポートします。
  8. [入力パラメータ] タブで、すべての必須入力パラメータを追加します。
    入力パラメータの処理方法は、データ関数の実行時に定義されます。
  9. 必要であれば、リスト内の順序が入力パラメータの取得順序を示すように、入力パラメータを移動します。
  10. [出力パラメータ] タブで、すべての必須出力パラメータを追加します。
    出力パラメータの処理方法は、データ関数の実行時に定義されます。
  11. オプション: データ関数の機能を説明するアイコンを選択します。
    適切なカテゴリを選択することで、エンド ユーザーがライブラリ内の適切なデータ関数を見つけやすくなります。アイコンは、データ関数が表示されるさまざまなインターフェイス (たとえば、[ファイルとデータ] フライアウト、f(x) フライアウト、[データ キャンバス] など) に表示されます。多数の事前定義されたカテゴリ アイコンから選択するか、カスタムの Scalable Vector Graphics (SVG) アイコンを使用できます。Spotfire 環境で動作するカスタム アイコンの作成の詳細については、GitHub の「Create an icon for your visualization mod」を参照してください。
  12. データ関数をライブラリーに保存します。
    保存時には、今後のライブラリー内の関数を検索する際に役立つキーワードを指定できます。デフォルト以外のアイコンを選択した場合は、アイコン カテゴリがキーワードとして自動的に追加されます。
  13. [閉じる] をクリックします。

タスクの結果

データ関数は、[ファイルとデータ] または f(x) フライアウト (あらゆるクライアントで実行可能)、[データ関数のプロパティ > 挿入] (インストール済みクライアントのみ) から実行するか、インストール済みクライアントを使用して変換として追加することにより、分析に追加できるようになりました (詳細については、「ライブラリーからデータ関数を実行する」または「データを変換する」を参照してください)。

[データ関数の登録] ダイアログ

[データ関数の登録] ダイアログでは、完全に新しいデータ関数を登録できるだけでなく、以前に保存したデータ関数をライブラリーから開いてさらに構成したり、以前にディスクにエクスポートしたスクリプト関数定義 (*.sfd)、他のスクリプト編集ツールを使って作成した Python スクリプト ファイル (*.py)、または R スクリプトファイル (*.r) をインポートしたり、スクリプト関数定義をディスクにエクスポートして他のスクリプト編集環境で共有もしくはさらに編集したりすることもできます。
注: [データ関数を登録] ダイアログを使用して Statistica データ関数を作成することはできません。これらのタイプのデータ関数を操作する方法の詳細については、「Spotfire Integration with Statistica」を参照してください。


[Run] をクリックすると、入出力パラメータの設定を指定して現在のデータ関数を実行することができます。これは主に、ライブラリーに保存する前にデータ関数をテストするためのショートカットとして使用することを意図しており、テスト中に追加された埋め込みインスタンスは、分析に不要なインスタンスが保存されないように、完了時に分析から削除する必要があります。

その代わりに、保存したデータ関数を [f(x) - 分析ツール] または [ファイルとデータ] から実行するか、分析を保存する前に [データ関数のプロパティ] から [挿入] を使用して (インストール済みクライアントのみ) 、データ関数を今後のライブラリーの更新と同期できるようにします。

[キャッシングを許可する] は、同じ入力値サブセットが以前に計算されたことがある場合に、計算が再利用されるように指定します。一部の入力データが現在の分析以外の場所から取得されたものであり、入力データが変更されるたびに (以前に計算済みのものへの変更も含む) 新しい計算が実行されるようにする場合は、このチェック ボックスをオフにします。フィルターされた値、マークされた値、またはプロパティ値に入力が依存している場合は、入力データは変わる可能性があります。

たとえば、データ関数に乱数ジェネレータが含まれている場合は、以前に生成された乱数をキャッシュに保存しない方がおそらく望ましいでしょう。代わりに、データ関数の更新ごとに新しい乱数を計算します。チェック ボックスをオフにするもう 1 つの例は、データ関数に現在の日付または日時が含まれる場合です。

[スクリプト] タブでは、指定したスクリプト タイプの言語で、スクリプトの入力または貼り付けを行うことができます。インポートしたスクリプトを編集することもできます。[スクリプト] タブのフォント設定は、[ツール > オプション > フォント] を使用して、[式とスクリプトのエディタ] を選択することで変更できます。スクリプトのエディタでは、構文の強調表示と自動字下げが可能で、スクリプトの書き込みや読み取りを簡単に行えます。

[入力パラメータ] タブでは、スクリプトで使用されるすべての入力パラメータをリストして定義します。このリスト内の入力パラメータの順序によって、入力パラメータを取得する順序が決定されます。

  • [入力パラメータ名] または [名前] は、関数またはスクリプトで参照されているパラメータの名前です。
  • [表示名] は、エンド ユーザーに表示されるパラメータの名前です。
  • [タイプ] は入力タイプを決定します。[]、[カラム] または [テーブル] (またはデータテーブル) のいずれかを指定します。これによって、入力パラメータを 1 つ以上のカラムにできるか、単一の値にできるかが定義されます。
  • [許可されたデータ型] は、この入力パラメータでサポートされるデータ型を指定します。入力パラメータを定義する際に、許可するデータ型をすべて選択することができます。入力パラメータごとに、少なくとも 1 つのデータ型を選択する必要があります。
  • [Description] には、オプションで入力パラメータに関する詳細情報を含めることができます。これにより、何を入力すべきかについてエンド ユーザーが理解しやすくなります。
  • [Required parameter] は、関数の呼び出し時に必要なパラメータを指定します。パラメータが必要ない場合は、その関数はパラメータなしで動作するはずです。
[出力パラメータ] タブでは、スクリプトで使用されるすべての出力パラメータをリストして定義します。

  • [結果パラメータ名] または [名前] は、関数またはスクリプトで参照されるパラメータの名前です。
  • [表示名] は、エンド ユーザーに表示されるパラメータの名前です。
  • [タイプ] は出力タイプを決定します。[]、[カラム] または [テーブル] (またはデータテーブル) のいずれかを指定します。これによって、出力パラメータが 1 つまたは複数のカラムであるか、または単一の値であるかが定義されます。
  • [Description] には、オプションで出力パラメータに関する詳細情報を含めることができます。これにより、何が出力されるのかについてエンド ユーザーが理解しやすくなります。
ヒント: 単純な計算を追加する場合は、式の関数を作成し、「統計関数」にある TERR_* 関数を使用して、演算式の言語に直接 TERR スクリプトを追加できます。それらは、計算カラムおよびカスタム演算式の式言語におけるその他の関数として使用することもできます。ただし、式の関数は異なる分析間で共有できないことに注意してください。