あるjmpテーブルからGoalとImportanceを読み、それらを別のテーブルの列に設定しようとしています。他の制限テーブルからデータを読み取るために列名をループする方法を理解できません。これが私のスクリプトです:
Names Default To Here( 1 );
// Select the data table and open it
path = Pick File( "Select Data Table" );
dt = Open( path );
// Select the limits table and open it
path = Pick File( "Select Limits Table" );
dt2 = Open( path );
Current Data Table( dt );
x = dt << Get Column Names(string,numeric);
y = dt2:ColumnName << Get Column Names();
show(x);
show(y);
ncols = N Items(x);
for (i=1, i<=ncols, i++,
a = Column(i) << Get Name;
show(a);
dt << current data table ();
Eval(
Eval Expr(
Column(dt,Expr(x)) << Set Property(
"Response Limits",
{Goal(Expr(Goal)), Lower(a,b), Middle(c,d), Upper(e,f)});
)
)
);
誰かが私にループとマッチングの部分を説明できれば私は感謝します。ありがとう
@パワーパフ
質問するのをやめないでください。実際、スクリプトなどを理解するのに役立つのであれば、もっと質問してください。コミュニティのメンバーがあなたの質問に対する回答に含まれていること。 近い将来にあなたがそれを将来のJMP初心者メンバーに引き渡すことによって好意を取り戻すことができるように、コミュニティがあなたのJMPへの旅行を手助けできることを私は願っています。
@txnelson 助けてくれてありがとう。頻繁に質問を投稿して申し訳ありません。JMPは私にとって本当に新しいです。助けてくれてありがとう。
@パワーパフ 、
最初の説明でリストしたスクリプトは、問題の処理に基づいたスクリプトではなく、他の情報源から見たコードの集まりです。
JMPディスカッションコミュニティはコードジェネレータの集まりではありません。 そうは言っても、以下はあなたが取り組んでいる問題の実用的なスクリプトです。
Names Default To Here( 1 );
// Assign pointers to the data table, and limits table,
// using the sample tables you supplied
dt1 = Data Table( "example_limits" );
dt2 = Data Table( "res" );
// Loop through the table with the limits, and add them to the
// data table
For(i=1,i<=n rows(dt2),i++,
eval(
substitute(
expr(
__col__ << set property("Response Limits",
{Goal( __Goal__ ), Importance( __Imp__ ),
Lower( __LVal__, __LDes__ ),
Middle( __MVal__, __MDes__ ),
Upper( __UVal__, __UDes__ ),
Show Limits( 1 )
}
);
),
Expr( __col__ ), Parse( "dt1:" || dt2:ColumnName[i]),
Expr( __Goal__ ), Parse( dt2:Goal[i] ),
Expr( __Imp__ ), dt2:Importance[i],
Expr( __LVal__ ), dt2:Lower[i],
Expr( __LDes__ ), .,
Expr( __MVal__ ), dt2:Middle[i],
Expr( __MDes__ ), .,
Expr( __UVal__ ), dt2:Upper[i],
Expr( __UDes__ ), .,
)
)
);
もう一度、Scripting Guideを読むことを強くお勧めします。