Name der StapelausgabetabelleHallo,
Ich habe ein Skript, das einige der Informationen für die Stapeltabelle dynamisch analysiert, und möchte die Stapeltabelle als neue Datentabelle speichern.
ystr1 = ":INFRASTRUKTUR Wert, :INFRASTRUKTUR Wert 1"
infr = "Infrastrukturwert";
Daten = "PPT";
Ausgabename = "infra_updated.jmp";
gbStr = EvalInsert("dt << Stack(
Säulen(
^ystr1^
),
Quellenbezeichnungsspalte (^infr^ ),
Gestapelte Datenspalte (^data^),
Ausgabetabelle(^Ausgabename^)
)"
);
Eval(Parse(gbStr));
Ich erhalte die folgende Fehlermeldung
Name nicht aufgelöst: infra_updated..jmp beim Zugriff oder bei der Auswertung von „infra_updated.jmp“
Ich kann nicht herausfinden, warum EvalInsert für die Ausgabetabelle nicht funktioniert
Automatisierung und SkriptingBetreff: Name der Stack-AusgabetabelleDer in Output Table() angegebene Name muss in Anführungszeichen stehen. Daher müssen sie dem Zeichenfolgenwert für Ihre Variable output_name hinzugefügt werden.
ystr1 = ":INFRASTRUCTURE Value, :INFRASTRUCTURE Value 1";
infr = "Infrastructure Value";
data = "PPT";
output_name = "\!"infra_updated\!"";
gbStr = Eval Insert(
"dt << Stack(
columns(
^ystr1^
),
Source Label Column(^infr^ ),
Stacked Data Column(^data^),
Output Table(^output_name^ )
)"
);
Eval( Parse( gbStr ) );
Betreff: Name der Stack-AusgabetabelleJim hat bereits den Grund dafür genannt, warum in Ihrem Skript etwas schief läuft. Ich würde vorschlagen, dass Sie andere Methoden als Eval(Parse()) verwenden, da das Debuggen äußerst schwierig sein kann und Sie im Skripteditor keine Syntaxhervorhebung haben.
Names Default To Here(1);
/*
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"age", "height"};
*/
cols = {"INFRASTRUCTURE Value", "INFRASTRUCTURE Value 1"};
infr = "Infrastructure Value";
data = "PPT";
output_name = "infra_updated";
dt_stacked = dt << Stack(
Columns(Eval(cols)),
Source Label Column(infr),
Stacked Data Column(data),
Output Table(output_name)
);
Betreff: Name der Stack-AusgabetabelleVielen Dank für die Erläuterung des Problems.Betreff: Name der Stack-AusgabetabelleIch bin ziemlich neu im JSL-Scripting und bin noch dabei, mich damit vertraut zu machen. Aber ich stimme zu, dass Ihre Lösung einfacher zu debuggen scheint. DankeBetreff: Name der Stack-AusgabetabelleIch habe Ihre Lösung ausprobiert, aber ich erhalte diesen Fehler. Ich habe die richtigen Spaltennamen in der Liste.
„Spalte beim Zugriff oder bei der Auswertung von ‚Stack‘ nicht gefunden, ungültiges Argument“
Betreff: Name der Stack-AusgabetabelleBei mir funktioniert es gut in JMP18 (und 17), wenn ich es mit dem Beispiel teste, das ich im Code gelassen habe
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"age", "height"};
infr = "Infrastructure Value";
data = "PPT";
output_name = "infra_updated";
dt_stacked = dt << Stack(
Columns(Eval(cols)),
Source Label Column(infr),
Stacked Data Column(data),
Output Table(output_name)
);

Sind Sie sicher, dass die Spaltennamen richtig geschrieben sind und sich in einer Liste befinden?