Je viens de découvrir que la citation de lstCols3 ou lstCols2 as la liste des noms de colonnes ne fonctionne pas non plus.
Vous pouvez coder dynamiquement la plate-forme Stack. Voici un exemple simple:
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) )
);
Cependant, ce que je retiens de votre discussion, c'est que vous pensez que la colonne d'étiquette source et la colonne de données empilées peuvent être une liste de noms. La documentation ci-dessous montre que seul un nom unique peut être fourni
Colonne de données empilées
Attribue un nom à la colonne qui contiendra les données des colonnes empilées. Le nom par défaut est Les données . Laissez la case vide si vous ne souhaitez pas que cette colonne apparaisse dans le nouveau tableau.
Colonne d'étiquette source
Attribue un nom à la colonne qui contiendra les noms de colonne de la table d'origine. Le nom par défaut est Étiquette . Laissez la case vide si vous ne souhaitez pas que cette colonne apparaisse dans le nouveau tableau.
Si vous devez avoir des noms spécifiques pour les colonnes de données et d'étiquettes produites dans la plate-forme de pile, vous pouvez simplement modifier les noms dans la nouvelle table produite.
J'écrivais un script pour empiler ensemble des colonnes en utilisant le script JSL comme ci-dessous. Cependant, je reçois un message d'erreur indiquant que "Le nombre de séries doit être un entier positif". J'ai besoin que le N soit variable selon le nombre de colonnes qui doivent être empilées pour différentes tables. J'ai un autre script pour identifier le nombre de colonnes qui fonctionne parfaitement. Juste la fonction de pile ne fonctionne pas.
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 Merci beaucoup à la fonction Eval () de la faire fonctionner.