Spalten mit einer for-Schleife erzeugenHallo, ich versuche, mehrere Spalten mit der nächsten JSL-Skriptzeile zu generieren, aber beim Ausführen des Skripts ist die Datentabelle leer:
For(i=0,i<3,i++,New Column( "A", Numeric, Continuous, Format( "Best", 10 ), Set Values( [1, 2, 3, .] )))
Wie kann es behoben werden?
Betreff: Spalten mit for-Schleife erzeugenErstellen Sie wieder zuerst die Tabelle und fügen Sie dann die Spalten hinzu.Hier ist ein Code, der tut, was Sie wollen (glaube ich):
Names default to here( 1 );
//Make the data table
dt = New Table( "Tokens",
Add Rows( 3 ),
New Column( "Visual_ID", Character, Nominal, Set Values( {"88", "89", "94"} ) ),
New Column( "FF", Character, Nominal, Set Values( {"Y83", "YA8", "654"} ) ),
New Column( "Bipping",
Character,
Nominal,
Set Selected,
Set Values(
{"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|17|18|18",
"19|19|19|16|14|16|19|18|18|21|17|20|20|19|19|20|18|18|18",
"19|18|18|18|17|18|16|18|18|19|21|19|19|18|18|17|16|16|17"}
)
)
);
//Then add columns to it.
For( ii = 1, ii<19, ii++,
dt << New Column ("My_Column_" || Char(ii),
Character,
Nominal,
Formula(
Word( ii, As Column( Column( "Bipping" ) ), "|" )
)
)
);Betreff: Spalten mit for-Schleife erzeugenKannst du bitte hier schauen: https://community.jmp.com/t5/Discussions/Loop-is-not-working/mp/77361#M36165
In dem obigen Link versuche ich, etwas Ähnliches zu machen, aber es funktioniert nicht
Betreff: Spalten mit for-Schleife erzeugenDie Syntax sieht korrekt aus, daher vermute ich, dass das Problem mit dem Kontext zusammenhängt, in dem Sie sie verwenden.Damit dies funktioniert, erstellen Sie zuerst eine Tabelle und fügen dann neue Spalten hinzu.Um sicherzustellen, dass Spalten in der richtigen Tabelle erstellt werden, stellen Sie einen Verweis auf diese Tabelle her und „senden“ die Nachricht „Neue Spalte“ an sie, wie unten gezeigt:
Names default to here( 1 );
//Open a blank table and save a reference to it
dt = New Table( "New Table", Add Rows( 0 ) );
//Add columns to the table
For( i=0, i<3, i++,
dt << New Column( "A", Numeric, Continuous, Format( "Best", 10 ), Set Values( [1, 2, 3, .] ))
);