RSTRING( ) 関数
R の関数またはスクリプトによって計算された文字列の値を返します。R によるデータ処理は Analytics の外部で行われます。
構文
RSTRING(rScript|rCode, 長さ <,フィールド|値 <,...n>>)
パラメーター
名前 | 種類 | 説明 |
---|---|---|
rScript | rCode |
文字 |
実行する R コードのスニペットまたは R スクリプトの絶対または相対パス。 外部ファイルを使用せずに直接 R コードを入力する場合、コード内では、前後の引用符文字はエスケープしても使用することはできません。
|
長さ | 数値 | 返される文字列に割り当てられる長さ。 |
フィールド|値 <,...n>
省略可能 |
文字 数値 日付時刻 論理 |
R スクリプトまたは R コード スニペットの引数として使用するフィールド、式、リテラル値から成るリスト。 値は呼び出す関数に指定順に渡されます。また、値を参照するには、R コード内で「value1, value2 ... valueN」を使用します。 R コードの関数定義を満たすのに必要な数の引数を指定できます。 メモ 文字入力から先頭と末尾の空白を除去するには、ALLTRIM(str) のように ALLTRIM() 関数を使用します。詳細については、ALLTRIM( ) 関数を参照してください。 |
出力
文字。
例
基本的な例
"abc123" が返されます。
RSTRING("print(paste(value1,value2,sep=""))",6,"abc","123")
高度な例
外部 R スクリプトを使用する
x と y を連結し、スペース文字で区切って単一の文字列に格納します。
RSTRING("a<-source('./sample.r');a[[1]]",50, FirstName, LastName)
外部 R スクリプト(sample.r):
conc <- function(x, y) { paste(x, y, sep=" ") } print(conc(value1, value2))
変数に格納された R コードの使用
x と y を連結し、スペース文字で区切って単一の文字列に格納します。
ASSIGN v_script = "conc <- function(x, y){paste(x, y, sep=' ')};conc(value1, value2)" RSTRING(v_script, 50, FirstName, LastName)
テーブルの UUID を生成する R スクリプトを使用する
リザルトにアップロードする、例外から成るテーブルを作成しているとします。レコードごとに、一意であることが保証されている識別子が必要です。このようなフィールドを生成するには、R の uuid パッケージを使って、レコードごとに一意の主キー値を作成します。
EXTRACT RSTRING("uuid::UUIDgenerate()", 36) AS "id", first_name, last_name, birthdate TO export_table
ヒント
uuid パッケージをインストールするには、R.exe を開いて次のコマンドを実行します。
install.packages("uuid")
備考
R からデータを返す
R スクリプトを呼び出す場合、source 関数を使用して、戻りオブジェクトを変数に割り当てます。次に、R 関数から返されて戻りオブジェクトに格納された値に、次のようにアクセスできます。
# 'a' はレスポンス オブジェクトを格納し、a[[1]] はデータ値にアクセスしています "a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"
R のログ ファイル
R 言語のメッセージは、Analytics によりプロジェクト フォルダーの aclrlang.log ファイルに記録されます。このファイルを使って、R のエラーをデバッグします。
ヒント
ログ ファイルは Analytics Exchange のアナリティクス ジョブの結果フォルダーにあります。
AX Server での外部 R スクリプトの実行
AX Server で実行する分析アプリを作成していて、外部の R スクリプトを使用したい場合は、次の手順を実行します。
- 分析アプリとともに、このファイルを関連ファイルとしてアップロードします。
- このファイルを指定する際、FILE ANALYTIC タグを使用します。
- ファイルの参照には、相対パス ./filename.r を使用します。
メモ
関連ファイルを使用することで、Analytics Exchange とともに R を実行する際に、TomEE アプリケーション サーバーのアカウントに、このファイルにアクセスするための十分な権限が与えられます。