2020/12/25
R連携
SpotfireではTERRと呼ばれるR言語のランタイムエンジンが搭載されており、単体でR言語を走らせることができます。
このコンテンツでは、TERRとSpotfireとの連携方法について解説する第3回目の記事です。Spotfire本体からTERR側にデータテーブルを渡し処理する方法について説明します。TERRの概要や事前準備に関しては、第1回目の記事、第2回目の記事の記事をご覧ください。
なお、本コンテンツで利用したSpotfireのバージョンは10.10/11.4です。ご利用環境によって、一部画面構成が異なりますので、ご了承ください。
第1回記事では、TERRからデータを受け取れました。また第2回記事では、SpotfireからTERRにパラメータを渡す方法を実践しました。今回の記事では、Spotfireに取り込んでいるデータテーブルをTERRに渡して処理を行います。
事前準備として、Spotfireにサンプルデータを読み込みます。以下のテキストをコピーしてSpotfireに読み込んでください。読み込みには画面左上の⊕をクリック後、「その他」を選択し、「クリップボードからデータを貼り付け」を選択してください。現在コピーしたクリップボード上のデータを読み込めます。なお、新しいデータテーブルの名前は「clipboard」とします。
うまくいくと、次のようなデータテーブルが読み込まれています。
本記事では、次の処理を実行します。
本記事でも、データ関数を利用してTERRと連携します。Spotfireメニュー「ツール」>>「データ関数の登録」を選択してください。「データ関数の登録」ダイアログが表示されます。
まず初めに、次の設定を入力します。
「パラメータの入力」タブを選択してください。ここでは、SpotfireのデータテーブルをTERR側で読み込みます。
画面右側の「追加」をクリックすると、さらに「入力パラメータ」ダイアログが表示されます。あらかじめSpotfireに読み込んだデータテーブルclipboardを、TERRに渡す設定をします。
TERR側でも、clipboardという変数名で、データフレームを処理できます。
入力が完了したら「OK」をクリックします。これで設定は完了です。
「スクリプト」タブを選択してください。ここでは、Rのスクリプトを記述できます。「パラメータの入力」の設定によって、clipboardという変数名でテーブルを処理できる状態となっています。このテーブルの各カラムの総和を集計するために、次のコードを入力して下さい。各カラムの集計結果はcol_sumという変数に格納されています。
col_sum = colSums(clipboard)
「出力パラメータ」を選択してください。ここでは、Spotfire側に渡すパラメータを設定します。今回は作成したcol_sumという変数を渡す設定をします。
画面右側の「追加」をクリックすると、「出力パラメータ」ダイアログが表示されます。次の設定を入力してください。
入力が完了したら「OK」をクリックします。これで設定は完了です。
「スクリプト」「パラメータの入力」「出力パラメータ」の設定完了後、「データ関数の登録」ダイアログ右上の「実行」をクリックします。「パラメータの編集」ダイアログが表示されます。ここでは、選択したデータ関数の入力および出力のパラメータを処理する方法を定義できます。
入力タブでは、入力パラメータの処理方法を定義します。
出力タブでは、入力パラメータの処理方法を定義します。ここでは、Spotfire側でcol_sumというデータテーブルを作成する設定をしました。
設定が完了したら、OKをクリックしてください。処理が実行されます。
Spotfireでロードされているデータテーブルを確認してください。col_sumというデータテーブルが確認できます。
21と27は、元データclipboardの各カラムの総和になります。手元で計算してみてください。
このように、Spotfireからデータテーブルを入力してTERRで処理を行い、結果を取得する流れを作成できました。
前の記事
TERR連携-2(Rにパラメータを渡す)次の記事
複数の計算カラムを一括作成【R連携】最新の記事
1, 2
2, 3
3, 4
4, 5
5, 6
6, 7