Ich versuche, Ziel und Wichtigkeit aus einer jmp-Tabelle zu lesen und sie in Spalten in einer anderen Tabelle zu setzen. Ich kann nicht verstehen, wie ich die Spaltennamen durchlaufen kann, um Daten aus der anderen Grenzwerttabelle zu lesen. Hier ist mein Skript:
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)});
)
)
);
Ich würde mich freuen, wenn mir irgendjemand den schleifen- und passenden Teil erklären könnte. Vielen Dank
@powerpuff
Bitte hören Sie nicht auf, Fragen zu stellen! Stellen Sie in der Tat weitere Fragen, ob es Ihnen hilft, die Skripts usw. zu verstehen. dass die Community-Mitglieder in ihre Antworten auf Ihre Fragen aufgenommen haben. Ich hoffe, dass die Community Ihnen bei Ihrer Reise zu JMP helfen kann, so dass Sie in nächster Zukunft die Gunst zurückgeben können, indem Sie sie an zukünftige JMP-Mitglieder weitergeben.
@txnelson Vielen Dank für die Hilfe. Es tut mir leid, dass Sie häufig Fragen stellen. JMP ist für mich wirklich neu. Vielen Dank für das Helfen.
@powerpuff .
Ihr Skript, das Sie in Ihrer ursprünglichen Beschreibung aufgeführt haben, schien eine Gruppierung von Code zu sein, die Sie aus anderen Quellen gesehen haben, und nicht ein Skript, das auf der Verarbeitung des Problems basiert.
Die JMP Discussion Community ist kein Pool von Codegeneratoren. Im Folgenden finden Sie ein Arbeitsskript für das Problem, an dem Sie gerade arbeiten.
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__ ), .,
)
)
);
Ich empfehle Ihnen nochmals dringend, den Scripting Guide zu lesen.