AX Server での R スクリプトの実行

分析アプリとともに外部 R スクリプトを関連ファイルとしてインポートし、その R スクリプトを作成したアナリティクス内から呼び出すことで、サーバーで R スクリプト言語の統計分析機能を利用できます。R スクリプトを実行できるように AX Server 環境を準備するには、まず R をインストールし、次いでファイル拡張子ホワイトリストに .r 拡張子を追加します。

前提条件

AX Server で R スクリプトを実行するには、以下の手順を行う必要があります。

  1. お使いの AX Server のコンピューターに、サポートされているバージョンの R スクリプト言語をインストールします。
  2. AX Server 上のファイル拡張子ホワイトリストに .r 拡張子を追加します。
  3. Analytics で、作業して AX Server にインポートするプロジェクトを作成します。

メモ

これらの前提作業を行う助けとして、Analytics Exchange 管理者に問い合わせたり以下を参照したりしてください。

Analytics プロジェクトのディレクトリへの R スクリプトの追加

Analytics で Analytics プロジェクトを作成後、使用したい R スクリプトをコピーし、プロジェクト フォルダーに貼り付けます。これにより、スクリプトを、ローカルである Analytics でテストしてから Analytics Exchange にインポートできます。

R ファイルの例

以下の R ファイルの例には、2 つの文字列を連結し、スペース文字で結合された単一の文字列を返す小さなスクリプトが含まれています。これらの例は、R でデータを分析する方法ではなく、AX Server で R スクリプトを実行する方法を示すことが目的です。

analysis_a.r

conc<-function(x, y) {
  paste(x, y, sep=" ")
}
print(conc(value1, value2))

analysis_b.r

conc<-function(x, y) {
  paste(y, x, sep=" ")
}
print(conc(value1, value2))

Analytics スクリプトを作成する

Analytics プロジェクト内で、AX Server で実行するアナリティクスとして使用する新しいスクリプトを作成します。このスクリプトで以下のことを行います。

  1. 1 つのレコードから成る一時テーブル、t_tmp を開きます。

    Analytics では EXTRACT コマンドを実行するためにテーブルを開く必要がありますが、この t_tmp テーブルはその目的のためにのみ使用されます。

  2. EXTRACT コマンドを使って各 R スクリプトを実行し、結果をテーブルに書き込みます。

アナリティクス ヘッダーの追加

分析アプリをインポート後、AX Server で Analytics スクリプトを実行できるように、スクリプトの先頭に必要なアナリティクス ヘッダー タグを追加します。アナリティクス内から実行する R スクリプトには、FILE タグを追加する必要があります。

COMMENT
//ANALYTIC R 統合テスト 
  AX Server での R 統合を検証
//DATA t_tmp
//FILE analysis_a.r
//FILE analysis_b.r
//RESULT TABLE results
END

スクリプト ロジックの追加

SET SAFETY OFF
DEL ALL OK
CLOSE PRIMARY SECONDARY

OPEN t_tmp

COM **** R スクリプトを実行し、結果をテーブルに書き込む
EXTRACT FIELDS RSTRING("a<-source('./analysis_a.r');a[[1]]",50,"test","value") AS "value" TO "results.fil"
EXTRACT FIELDS RSTRING("a<-source('./analysis_b.r');a[[1]]",50,"test","value") AS "value" TO "results.fil" APPEND
			
CLOSE t_tmp

このアナリティクス スクリプトの全容

AX Server で実行するこのアナリティクスの全容は次のとおりです。

COMMENT
//ANALYTIC R 統合テスト 
 AX Server での R 統合を検証
//DATA t_tmp
//FILE analysis_a.r
//FILE analysis_b.r
//RESULT TABLE results
END

SET SAFETY OFF
DEL ALL OK
CLOSE PRIMARY SECONDARY

OPEN t_tmp

COM **** R スクリプトを実行し、結果をテーブルに書き込む
EXTRACT FIELDS RSTRING("a<-source('./analysis_a.r');a[[1]]",50,"test","value") AS "value" TO "results.fil"
EXTRACT FIELDS RSTRING("a<-source('./analysis_b.r');a[[1]]",50,"test","value") AS "value" TO "results.fil" APPEND

CLOSE t_tmp

Analytics プロジェクトと関連 R ファイルのインポート

アナリティクス スクリプトを作成したら、以下の手順を実行します。

  1. AX Client で、Analytics プロジェクトを格納するコレクションおよびフォルダーを作成します。
  2. プロジェクトと R ファイルをインポートするには
    1. 作成したフォルダーを右クリックし、[インポート]を選択します。
    2. ローカル コンピューター上の Analytics プロジェクトに移動し、.acl プロジェクト ファイルと .r R スクリプトを選択します。

      メモ

      Analytics プロジェクトとプロジェクト フォルダーの R ファイルを AX Server にインポートするため、これらを、Ctrl キーを押しながらクリックして選択します。また、t_tmp テーブルのソース データ ファイルもインポートする必要があります。

    3. 開く]をクリックします。

インポート後の Server Explorer の外観

  • コレクション名
    • フォルダー名
      • 分析アプリ
        • ACL プロジェクト名
          • アナリティクス スクリプト名
      • データ
        • t_tmp
      • 関連ファイル
        • analysis_a.r
        • analysis_b.r

アナリティクスの実行

AX Client の Server Explorer 内でアナリティクスを右クリックして、[実行]をクリックします。アナリティクスの一部として R スクリプトが実行されるので、AX Web Client から results 結果テーブルにアクセスできるようになります。

結果

アナリティクスを実行後の Server Explorer の外観

  • コレクション名
    • フォルダー名
      • 分析アプリ
        • ACL プロジェクト名
          • アナリティクス スクリプト名
      • データ
        • 結果
      • 関連ファイル
        • analysis_a.r
        • analysis_b.r

結果テーブル

  • テスト値
  • 値テスト
Analytics Exchange 14.1 Client ヘルプ