マクロ
マクロとは?
マクロはプロセスの実行中にのみ利用可能なキーと値のペアです。定義済みのマクロには、ループの現在の繰り返し数やプロセス名などのコンテキスト関連情報が含まれています。マクロは実行時にSet Macros、Generate Macros、Extract Macroオペレータを使用して定義することができ、ほぼすべてのオペレータのパラメータフィールドで使用されます。環境パネル(ビュー➟パネルを表示➟環境)で静的マクロを定義することも可能です。
マクロのデバッグ
ユーザー定義のマクロは、マクロパネル(ビュー➟パネルを表示➟マクロ)で確認することができます。このパネルには、マクロの現在の値が表示されます。マクロを設定する前後にブレークポイントを使用して変更を確認します。
定義済みマクロのリスト
プロセスマクロ
マクロ | 値 | 概要 |
---|---|---|
%{process_name} | 02_LinearRegression | 現在のプロセス名 |
%{process_file} | 02_LinearRegression.rmp 02_LinearRegression |
プロセスファイル名(ファイルとして開かれる) プロセス名(リポジトリから開かれる) |
%{process_path} | C:\02_LinearRegression.rmp //Repo/02_LinearRegression |
ファイルパス(ファイルとして開かれる) リポジトリパス(リポジトリから開かれる) |
%{process_start} | 2017_12_24-PM_00_01_25 | プロセスの開始日時 |
%{t} | 2017_12_24-PM_00_01_30 | 現在の日時 |
より正確な要件を求める場合は、%{t}ではなく、date_now()関数を使用してください。
オペレータマクロ
マクロ | 値 | 概要 |
---|---|---|
%{execution_count} %{a} |
1 | 現在のオペレータが実行された回数 |
%{b} | 2 | execution_count + 1 |
%{operator_name} %{n} |
Generate Data | (ユーザー指定の)現在のオペレータの名前 |
%{c} | com.rapidminer.GenerateData | 現在のオペレータのパッケージとクラス |
LoopやHandle Exceptionなどのオペレータは、追加のマクロを提供します。
マクロと関数
数値の解析
前述に、%{b}がexecution_count + 1を返すとありましたが、execution_count-1が必要な場合はどうでしょうか。
これはGenerate Macroオペレータの関数式parse(%{execution_count})-1で実現できます。
日付の解析
日付マクロを日付に変換するには、date_parse_custom(%{process_start},”yyyy_MM_dd-a_KK_mm_ss”)を使用できます。すべてのパターン文字の表はSimpleDateFormatにあります。
マクロの評価
Set Macrosオペレータを使用して式を項目値として保存し、その後、eval(%{macro})関数を使用して実行することができます。eval関数は他のすべての関数と同様に、選択されたオペレータでのみ使用可能であることに注意してください。評価されたマクロ値をすべてのフィールドで使用するには、あらかじめGenerate Macroオペレータを使用し、評価結果を新しいマクロに格納しておきます。