Durchlaufen Sie die Liste, erstellen Sie ein Tab-Feld und einen Graph Builder-PlotHallo,
Ich versuche, die Liste zu durchlaufen, um ein Tab-Feld zu erstellen und in der Liste im Diagrammersteller gespeicherte Variablen hinzuzufügen. In meinem JSL-Code scheint etwas nicht zu stimmen. Irgendwelche Vorschläge?
Folgendes möchte ich: Fügen Sie die Spalten aus jeder Liste in X für jede Registerkarte hinzu

dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
List1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
List2 = {"PNP4", "NPN3", "IVP2", "NPN4", "SIT1"};
List3 = {"INM1", "INM2", "VPM1", "VPM2", "VPM3"};
List4 = {"SNM1", "SPM1", "NPN5", "EP2", "ZD6"};
var expr1 = Expr( Variables() );
For( c = 1, c <= N Items( List1 ), c++,
x expr1 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr1, List1[c], 1 );
Insert Into( var expr1, Name Expr( x expr1 ) );
);
var expr2 = Expr( Variables() );
For( c = 1, c <= N Items( List2 ), c++,
x expr2 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr2, List2[c], 1 );
Insert Into( var expr2, Name Expr( x expr2 ) );
);
var expr3 = Expr( Variables() );
For( c = 1, c <= N Items( List3 ), c++,
x expr3 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr3, List3[c], 1 );
Insert Into( var expr3, Name Expr( x expr3 ) );
);
var expr4 = Expr( Variables() );
For( c = 1, c <= N Items( List4 ), c++,
x expr4 = Expr(
X( Position( 1 ), Combine( "Parallel Merged" ) )
);
Insert Into( x expr4, List4[c], 1 );
Insert Into( var expr4, Name Expr( x expr4 ) );
);
lists = {"List1", "List2", "List3", "List4"};
var = {};
For( i = 1, i <= 20, i++,
Insert Into( var, Parse( "var expr" || Char( i ) ) );
Insert Into( gbv, Parse( "vvv" || Char( i ) ) )
;
);
New Window( "Plots",
Show Menu( 0 ),
show toolbars( 0 ),
tb = Tab Box()
);
For( i = 1, i <= N Items( lists ), i++,
tb << Add(
lists[i],
V List Box(
H List Box(
gb1 = Eval Expr(
dt << Graph Builder(
Size( 1117, 781 ),
Show Control Panel( 0 ),
////something is not correct here?????
Expr( Name Expr( var[i] ) ),
Elements(
Histogram(
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
X( 8 ),
X( 9 ),
X( 10 ),
X( 11 ),
X( 12 ),
X( 13 ),
X( 14 ),
X( 15 ),
X( 16 ),
X( 1 ),
Legend( 2 ),
),
Box Plot(
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
X( 8 ),
X( 9 ),
X( 10 ),
X( 11 ),
X( 12 ),
X( 13 ),
X( 14 ),
X( 15 ),
X( 16 ),
X( 1 ),
Legend( 3 ),
Outliers( 0 )
)
)
)
),
gb1,
Tabulate(
Show Control Panel( 0 ),
Set Format( Uniform Format( 10, 2 ) ),
Add Table(
Column Table( Statistics( Mean, Std Dev ) ),
Row Table(
Analysis Columns(
Eval( Parse( lists[i] ) )
)
)
)
)
)
)
);
);
Danke,
Jackie
Automatisierung und SkripterstellungDatenexploration und -visualisierungBetreff: Liste durchlaufen, Tab-Feld erstellen, Graph Builder-PlotHaben Sie überprüft, dass Ihre Ausdrücke korrekt erstellt werden? Versuchen Sie zunächst, es mit nur einer Liste zum Laufen zu bringen, und fügen Sie dann weitere hinzu, wenn das funktioniert. Aufgrund dieses Fehlers kann ich das Skript nicht ausführen

Can insert only into an L-value in access or evaluation of 'Insert Into' , Insert Into/*###*/(gbv, Parse("vvv" || Char(i)))
at line 58 in \Script.jslBetreff: Liste durchlaufen, Tab-Feld erstellen, Graph Builder-Plot@jthi
Dieser Ausdruck funktioniert mit einer Liste, aber wenn ich versuche, ihn in die Schleife einzufügen, funktioniert er nicht
Eval(
Substitute(
Expr(
gb2 = dt << Graph Builder(
Size( 1117, 781 ),
Show Control Panel( 0 ),
vvv1,
Elements(
Histogram(
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
X( 8 ),
X( 9 ),
X( 10 ),
X( 11 ),
X( 12 ),
X( 13 ),
X( 14 ),
X( 15 ),
X( 16 ),
X( 1 ),
Legend( 2 ),
),
Box Plot(
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
X( 8 ),
X( 9 ),
X( 10 ),
X( 11 ),
X( 12 ),
X( 13 ),
X( 14 ),
X( 15 ),
X( 16 ),
X( 1 ),
Legend( 3 ),
Outliers( 0 )
)
)
)
),
Expr( vvv1 ), Name Expr( var expr1 )
)
);
tabu = Tabulate(
Show Control Panel( 0 ),
Set Format( Uniform Format( 10, 2 ) ),
Add Table(
Column Table( Statistics( Mean, Std Dev ) ),
Row Table(
Analysis Columns(
Eval(List1)
)
)
)
)
Betreff: Liste durchlaufen, Tab-Feld erstellen, Graph Builder-PlotHallo @Mark_Bailey
Ich habe versucht, den Ausdruck zu verwenden, den Sie in der folgenden Diskussion vorgeschlagen haben, aber irgendetwas scheint nicht zu funktionieren. Gibt es eine Möglichkeit, dies zu umgehen?
Verwenden Sie eine variable Spaltenliste als Y-Achse in Graph Builder – JMP User Community
Betreff: Liste durchlaufen, Tab-Feld erstellen, Graph Builder-PlotIch würde das Skript höchstwahrscheinlich umschreiben, um die Analyse von Variablennamen zu vermeiden und so viele Listen zu haben, die Sie im Auge behalten müssen (auch wenn Sie JMP16+ haben, ist die Verwendung von „For Each“ normalerweise besser als „For“). Ich habe einige Änderungen vorgenommen und jetzt könnte es funktionieren
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
List1 = {"NPN1", "PNP1", "PNP2", "NPN2", "PNP3", "IVP1"};
List2 = {"PNP4", "NPN3", "IVP2", "NPN4", "SIT1"};
List3 = {"INM1", "INM2", "VPM1", "VPM2", "VPM3"};
List4 = {"SNM1", "SPM1", "NPN5", "EP2", "ZD6"};
var expr1 = Expr(Variables());
For(c = 1, c <= N Items(List1), c++,
x expr1 = Expr(
X(Position(1), Combine("Parallel Merged"))
);
Insert Into(x expr1, List1[c], 1);
Insert Into(var expr1, Name Expr(x expr1));
);
var expr2 = Expr(Variables());
For(c = 1, c <= N Items(List2), c++,
x expr2 = Expr(
X(Position(1), Combine("Parallel Merged"))
);
Insert Into(x expr2, List2[c], 1);
Insert Into(var expr2, Name Expr(x expr2));
);
var expr3 = Expr(Variables());
For(c = 1, c <= N Items(List3), c++,
x expr3 = Expr(
X(Position(1), Combine("Parallel Merged"))
);
Insert Into(x expr3, List3[c], 1);
Insert Into(var expr3, Name Expr(x expr3));
);
var expr4 = Expr(Variables());
For(c = 1, c <= N Items(List4), c++,
x expr4 = Expr(
X(Position(1), Combine("Parallel Merged"))
);
Insert Into(x expr4, List4[c], 1);
Insert Into(var expr4, Name Expr(x expr4));
);
lists = {"List1", "List2", "List3", "List4"};
var = {};
gbv = {};
For(i = 1, i <= 4, i++,
Insert Into(var, Name Expr(Eval(Parse("var expr" || Char(i)))));
Insert Into(gbv, Parse("vvv" || Char(i)));
);
nw = New Window("Plots",
Show Menu(0),
show toolbars(0),
tb = Tab Box()
);
For(i = 1, i <= N Items(lists), i++,
tb << Add(
lists[i],
V List Box(
H List Box(
Eval(Eval Expr(
dt << Graph Builder(
Size(1117, 781),
Show Control Panel(0),
////something is not correct here?????
Expr(Name Expr(var[i])),
Elements(
Histogram(
X(2),
X(3),
X(4),
X(5),
X(6),
X(7),
X(8),
X(9),
X(10),
X(11),
X(12),
X(13),
X(14),
X(15),
X(16),
X(1),
Legend(2),
),
Box Plot(
X(2),
X(3),
X(4),
X(5),
X(6),
X(7),
X(8),
X(9),
X(10),
X(11),
X(12),
X(13),
X(14),
X(15),
X(16),
X(1),
Legend(3),
Outliers(0)
)
)
)
)),
Tabulate(
Show Control Panel(0),
Set Format(Uniform Format(10, 2)),
Add Table(
Column Table(Statistics(Mean, Std Dev)),
Row Table(
Analysis Columns(
Eval(Parse(lists[i]))
)
)
)
)
)
)
);
);Betreff: Liste durchlaufen, Tab-Feld erstellen, Graph Builder-PlotDanke Jarmo!