Comment sélectionner une colonne de 1 à nJ'essaie de sélectionner la colonne de transposition par le numéro de colonne,
Considérant qu'il y a trop de colonnes, existe-t-il un moyen de sélectionner de la colonne (1) à la colonne (n)
J'utilise actuellement la méthode ci-dessous qui ne fonctionnera pas lorsque n> 9999.
Merci
Transposer(
Colonnes(
Colonne( 3 ),
Colonne( 4 ),
.............
Colonne( 9999 ))
ScriptRe : Comment sélectionner une colonne de 1 à nCréez d'abord une liste de chaînes avec des noms de colonnes (de nombreuses façons de le faire, dans l'exemple, j'utilise transform Each et index), puis utilisez Eval in Columns().
Quelque chose comme ça:
Names Default To Here(1);
//setup example data
dt = Open("$SAMPLE_DATA/Blood Pressure.jmp");
Column(3) << Set Name("1");
Column(4) << Set Name("2");
Column(5) << Set Name("3");
Column(6) << Set Name("4");
Column(7) << Set Name("5");
col_list = Transform Each({num}, AsList(Index(1, 5)`), Char(num)); //JMP16
dt << Transpose(
columns(Eval(col_list)),
By(:Dose),
Label(:Subject)
);Re : Comment sélectionner une colonne de 1 à nVoici mon point de vue sur le problème, où vous pouvez simplement spécifier les numéros de colonne que vous souhaitez transformer
Names Default To Here( 1 );
//setup example data
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
// add a complex col name to insure script can handle them
dt:bp 8m << set name( "BP+8M" );
// make table large
For( i = 1, i <= 11000, i++,
dt << New Column( Column( dt, Mod( i, 9 ) + 3 ) << get name,
set each value( As Column( dt, Mod( i, 9 ) + 3 ) )
)
);
// get rid of first 2 non useful columns
dt << delete columns( 1, 2 );
// get list of col names
colList = dt << get column names();
//set column numbers to be used
startColNum = 5;
endColNum = 10100;
// transform columns
transList = {};
For( i = startColNum , i <= endColNum, i++,
Insert Into( transList, colList[i] )
);
dt << Transpose( columns( transList ) );