RLOGICAL( ) 関数

R の関数またはスクリプトによって計算された論理値を返します。R によるデータ処理は Analytics の外部で行われます。

構文

RLOGICAL(rScript|rCode <,フィールド|値 <,...n>>)

パラメーター

名前 種類 説明
rScript | rCode

文字

実行する R コードのスニペットまたは R スクリプトの絶対または相対パス。

外部ファイルを使用せずに直接 R コードを入力する場合、コード内では、前後の引用符文字はエスケープしても使用することはできません。

  • 有効 'var <- "\"test\"" '
  • 無効 'var <- "\'test\'" '
フィールド|値 <,...n>

省略可能

文字

数値

日付時刻

論理

R スクリプトまたは R コード スニペットの引数として使用するフィールド、式、リテラル値から成るリスト。

値は呼び出す関数に指定順に渡されます。また、値を参照するには、R コード内で「value1, value2 ... valueN」を使用します。

R コードの関数定義を満たすのに必要な数の引数を指定できます。

メモ

文字入力から先頭と末尾の空白を除去するには、ALLTRIM(str) のように ALLTRIM() 関数を使用します。詳細については、ALLTRIM( ) 関数を参照してください。

出力

論理。

基本的な例

T が返されます。

RLOGICAL("(value1>0.6) & (value2>0.7) & (value3>0.5)", 0.8, 0.9, 0.55)

高度な例

外部 R スクリプトを使用する

金額と上下限値を入力として取ります。一連の論理比較に基づいて、真理値が返されます。

RLOGICAL("a<-'c:\\scripts\\sample.r');a[[1]]", expense_amt, threshold_low, threshold_hi)

外部 R スクリプト(sample.r):

test_truth <- function(amt, low, hi) {
    return(((amt > low) & (amt < hi)) | ((amt==low) | (amt==hi)))							
}
test_truth(value1, value2, value3)

変数に格納された R コードの使用

次の例は、AND ロジックを使って 3 つのフィールドの論理テストを行っています。

v_rcode = "(value1>0.6) & (value2>0.7) & (value3>0.5)"
RLOGICAL(v_rcode, PACKED, MICRO_LONG, ACCPAC)

備考

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 スクリプトを使用したい場合は、次の手順を実行します。

  1. 分析アプリとともに、このファイルを関連ファイルとしてアップロードします。
  2. このファイルを指定する際、FILE ANALYTIC タグを使用します。
  3. ファイルの参照には、相対パス ./filename.r を使用します。

メモ

関連ファイルを使用することで、Analytics Exchange とともに R を実行する際に、TomEE アプリケーション サーバーのアカウントに、このファイルにアクセスするための十分な権限が与えられます。

ACL のスクリプト作成ガイド 14.1