式に列変数を挿入こんにちは、
私はユーザーが表示ボックス(delim)によって選択する区切り記号によって与えられた与えられた列(:ファイル名)を解析することを可能にするスクリプトをデータテーブルに追加しようとしています。 理想的には、解析できるものがなくなるまで、式は:File Name列を解析し続けます。 私のスクリプトのブロックは以下の通りです。 その中に、解析された各セグメントの新しい列(col)を作成します。ファイル名。 次に、colで欠損値をチェックし、列全体が空になったら停止します。
私の問題は、式の中でcolを評価できないことです。 私も使ってみましたミズのEval(Parse(Eval Insert()))トリックですが、動作させることはできません。 何か提案はありますか?JMP11を使用しています。
ありがとうございます。
// Example script.
// Note: col = Column( "Column 442" );
delim = "-";
i = 1;
j = 1;
While( j > 0,
j = 0;
col = dt << New Column();
col << Data Type( Character, Nominal );
col << Set Formula( Word( i, :File Name, delim ) );
For Each Row( If( Is Missing( :Column 442 ) == 0, j = j + 1 ) ); // This works.
Eval( Parse( Eval Insert( "For Each Row( If( Is Missing(:Column 442) == 0, j = j + 1 ) )" ) ) ); // This works.
Eval( Parse( Eval Insert( "For Each Row( If( Is Missing(^col^) == 0, j = j + 1 ) )" ) ) ); // This does not work.
Eval( Parse( Eval Insert( "For Each Row( If( Length(^col^) != 0, j = j + 1 ) )" ) ) ); // This does not work.
i = i + 1;
);
式に列変数を挿入する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ありがとうございます。
式に列変数を挿入するまた、覚えておいてください:colは全体として列を指します。 For Each Rowループ内では、[]表記を使用して現在のセルを参照する必要があります(For Each Loopsを使用しない理由の1つです)。
式に列変数を挿入する変数コル列への参照です。しかし、ForEachRow()ループでは、列ではなくその値にアクセスする必要があります。 以下の両方の選択肢があなたのコードでうまくいくはずです。2番目の例の空のインデックス[]に注意してください。
評価 ( 解析する ( 評価挿入 ( "各行について((行が欠落している場合(列(^ col ^))== 0、j = j + 1))" ))) ;
評価 ( 解析する ( 評価挿入 ( "各行について((Missing(^ col ^ [])== 0、j = j + 1)の場合)" ))) ;
式に列変数を挿入する私はあなたのコードを試して理解するつもりはありませんが、構文に関しては、次のように動作すると言います。
評価 ( 解析する ( 評価挿入 ( 「
各行について((Missing(:Column 442)== 0、j = j + 1)の場合);
「 ))) ;
Evalパターンの中身は文字列なので、^ ... ^の中に入れた変数は文字列のように振る舞うので、一般化すると以下のようになります。
colName = コル << 名前を取得 ; // colName = "Column 442"など
評価 ( 解析する ( 評価挿入 ( 「
各行について((Missing(:^ cName ^)== 0、j = j + 1)の場合);
「 ))) ;