Ich habe gerade herausgefunden, dass das Zitieren von lstCols3 oder lstCols2 als Liste der Spaltennamen funktioniert auch nicht.
Sie können die Stack-Plattform dynamisch codieren. Unten ist ein einfaches Beispiel:
Names Default to Here(1);
dt=open("$SAMPLE_DATA/Semiconductor Capability.jmp");
Listcols={:NPN1, :PNP1, :PNP2, :NPN2};
lstCos3="Discriptors";
lstCos2="Values";
n=2;
Data Table( "semiconductor capability" ) << Stack(
columns( Listcols ),
Source Label Column( lstCos3 ),
Stacked Data Column( lstCos2 ),
Drop All Other Columns( 1 ),
Number of Series( eval(N) )
);
Was ich jedoch aus Ihrer Diskussion aufgreife, ist, dass Sie denken, dass die Source Label Column und die Stacked Data Column eine Liste von Namen sein können. Die folgende Dokumentation zeigt, dass nur ein einziger Name angegeben werden kann
Gestapelte Datenspalte
Weist der Spalte einen Namen zu, der die Daten für die gestapelten Spalten enthält. Der Standardname ist Daten . Lassen Sie das Feld leer, wenn diese Spalte nicht in der neuen Tabelle angezeigt werden soll.
Quelltextspalte
Weist der Spalte einen Namen zu, der die Spaltennamen der Originaltabelle enthält. Der Standardname ist Etikette . Lassen Sie das Feld leer, wenn diese Spalte nicht in der neuen Tabelle angezeigt werden soll.
Wenn Sie bestimmte Namen für die in der Stapelplattform erstellten Daten- und Beschriftungsspalten benötigen, können Sie einfach die Namen in der neuen erstellten Tabelle ändern.
Ich habe ein Skript zum Stapeln von Spalten mithilfe eines JSL-Skripts wie unten geschrieben. Ich erhalte jedoch immer wieder die Fehlermeldung "Die Anzahl der Reihen sollte eine positive ganze Zahl sein". Das N muss variabel sein, abhängig davon, wie viele Spalten für verschiedene Tabellen gestapelt werden müssen. Ich habe ein anderes Skript, um die Nummer der Spalte zu identifizieren, die einwandfrei funktioniert. Nur die Stack-Funktion funktioniert irgendwie nicht.
dt_join2=current data table();
N=49
Data Table( dt_join2 ) << Stack(
columns(Lstcols ),
Source Label Column( lstCols3 ),
Stacked Data Column( lstCols2 ),
Number of Series(N)
);
@txnelson Vielen Dank, dass die Eval () - Funktion funktioniert.