Wie liefere ich Argumente für Trennzeichen in Kombinationsspalten ()?Folgendes funktioniert nicht
Names Default To Here (1);
// Combine columns
dm = ".0";
Data Table( "myTable" ) << Combine Columns(
columns( :Col1, :Col2 ),
Column Name( "ID" ),
Delimiter(dm)
//Delimiter ("dm")
);Aber schreiben Sie das Argument direkt als Delimiter
Delimiter(".0")funktioniert. Wie kann man dem Trennzeichen von außen Argumente liefern?
Automatisierung und SkripterstellungBetreff: Wie liefere ich ein Argument als Trennzeichen in Kombinationsspalten ()?Dies liegt daran, dass JMP keine Argumente für Argumente in Nachrichten auswertet.
Sie können Substitute verwenden, um den Wert von dm zu ersetzen.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// Combine columns
dm = ":";
Eval(
Substitute(
Expr(
dt << Combine Columns(
columns( :name, :age ),
Column Name( "ID" ),
Delimiter( d )
)
),
Expr( d ), dm
)
);Betreff: Wie liefere ich ein Argument als Trennzeichen in Kombinationsspalten ()?@Jeff_Perkinson Danke. In diesem Fall, wie erstelle ich ein Skript, wenn ich eine Bedingung für das Trennzeichen habe – z. B. delimiter = „.0“, wenn: Alter <13 und delimiter = „.1“, andernfalls.
Betreff: Wie liefere ich ein Argument als Trennzeichen in Kombinationsspalten ()?Der Die Meldung „Spalten kombinieren“ bewirkt dasselbe wie Spalten > Dienstprogramme > Spalten kombinieren .
Combine Columns unterstützt keine Konditionalisierung.
Stattdessen würde ich eine erstellen neue Spalte mit einer Formel um Ihre anderen Spalten nach Ihren Wünschen zu verketten.
So würde die Formel im Formeleditor aussehen.

Und hier ist die JSL, um es zu erstellen.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// Combine columns
dm1 = ":";
dm2 = "-";
Eval(
Substitute(
Expr(
dt << New Column( "ID",
Character,
"Nominal",
Formula( :name || If( :age <= 13, d1, d2 ) || Char( :age ) ),
)
),
Expr( d1 ), dm1,
Expr( d2 ), dm2
)
);