J'essaie de lire l'objectif et l'importance d'une table jmp et de les définir en colonnes dans une autre table. Je ne suis pas en mesure de comprendre comment contourner les noms de colonnes pour lire les données de l'autre table de limites. Voici mon script:
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)});
)
)
);
J'apprécierais que quelqu'un puisse m'expliquer la partie en boucle et en correspondance. Merci
@ powerpuff
S'il vous plaît ne vous arrêtez pas de poser des questions! En fait, posez plus de questions si cela vous aidera à comprendre les scripts, etc. que les membres de la communauté ont inclus dans leurs réponses à vos questions. J'espère que la communauté pourra vous aider dans votre cheminement vers JMP afin que, dans un proche avenir, vous puissiez rendre les faveurs en les transmettant aux futurs membres du JMP.
@txnelson Merci beaucoup pour l'aide . Je suis désolé d'avoir posté des questions fréquemment. JMP est vraiment nouveau pour moi. Merci beaucoup pour votre aide.
@ powerpuff ,
Le script que vous avez répertorié dans votre description initiale semblait être un groupe de morceaux de code que vous avez vus d'autres sources, plutôt qu'un script basé sur le traitement du problème.
La communauté de discussion JMP n'est pas un groupe de générateurs de code. Cela dit, vous trouverez ci-dessous un script du problème sur lequel vous travaillez.
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__ ), .,
)
)
);
Encore une fois, je vous encourage fortement à lire le Guide de script.