Re : Comment obtenir des valeurs de ligne entières à l'aide de JSL ?Apparemment, tout ce que j'avais à faire était de poster et j'ai immédiatement trouvé une réponse.
fr = Col Minimum( Row(), :age );
lr = Col Maximum( Row(), :age );
dt:name[Index( fr, lr )];
//returns {"KATIE", "LOUISE", "JANE", "JACLYN", "LILLIE", "TIM", "JAMES", "ROBERT"}Ceci est exactement ce que je cherchais.
L'utilisation de la colonne min et max avec row est assez simple, donc ça marche.
Cependant, je suis curieux de savoir s'il est possible d'utiliser directement un argument by(age) dans l'indice, je l'ai utilisé dans Make Validation Column et cela le rend tellement plus facile à faire.
Merci,
Arron
Re : Comment obtenir des valeurs de ligne entières à l'aide de JSL ?L'abonnement aux tables de données est très pratique, mais est-il possible d'utiliser la fonction "by" dans this (par exemple by( :age )) pour extraire tous les noms de personnes ayant le même âge dans la colonne ?
Voici un exemple:
Je voudrais prendre tous les noms dont l'âge est le même et les concaténer dans une colonne.
L'une des prochaines étapes courantes consiste ensuite à résumer les autres colonnes par ces noms concaténés.


J'ai creusé et essayé plusieurs approches et je pense qu'il me manque juste quelque chose de simple, mais j'espère qu'il existe un moyen très simple de le faire en utilisant un abonnement ou quelque chose comme
dt:name << get values(by(age)) puis mettez cela dans une colonne ou utilisez-le dans un script.
J'ai essayé ceci comme colonne de formule:
dt[Index( :first_row, :last_row ), {:name}]
Et chaque sous-expression a fourni le résultat correct pour correspondre à votre exemple
// fetch a list if character columns are involved.
// notice the matrix is reversing the order
dt[ 4::2, "name"]; // {"JACLYN", "JANE", "LOUISE"}mais je ne parviens pas à obtenir la liste réelle des noms {"JACLYN", "JANE", "LOUISE"} à renvoyer dans la colonne.
Merci pour toute aide,
Arron
Re : Comment obtenir des valeurs de ligne entières à l'aide de JSL ?Joli!
Notez comment l'indice de table de données donne une liste ou une matrice, selon les besoins :
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << colorByColumn(:sex);
r4Vals = dt[4,0];
Print(r4Vals);
dt << deleteColumns({:name, :sex});
r4Vals = dt[4,0];
Print(r4Vals);
rsc = dt << NewColumn("Row States", Row State);
rsc << copyFromRowStates;
r4Vals = dt[4,0];
Print(r4Vals);
dt << NewColumn("Expression", Expression);
r4Vals = dt[4,0];
Print(r4Vals);Re : Comment obtenir des valeurs de ligne entières à l'aide de JSL ?Dans JMP 13, vous pouvez utiliser abonnement à une table de données
dt = Open( "$sample_data/big class.jmp" );
row5 = dt[5, 0];
Show( row5 );<BR />
rangée5 = {"LILLIE", 12, "F", 52, 64} ;
Re : Comment obtenir des valeurs de ligne entières à l'aide de JSL ?Si vous n'avez que des colonnes numériques, vous pouvez exploiter 'GetAsMatrix'. Si vous avez des colonnes de caractères et numériques, vous pouvez utiliser 'GetAllColumnsAsMatrix', mais vous devez toujours gérer les valeurs de caractères codés. Ainsi, dans ce dernier cas, il pourrait être plus simple de simplement définir une fonction :
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
getRow =
Function({tbl, rn}, {DefaultLocal},
rowContents = {};
for(c=1, c<=NCols(dt), c++,
InsertInto(rowContents, Column(tbl, c)[rn]);
);
rowContents;
);
Print(getRow(dt, 5));
Comment obtenir des valeurs de ligne entières à l'aide de JSL ?Salut tout le monde,
comment pouvons-nous obtenir des valeurs de ligne entières en utilisant jsl pour une ligne donnée ?
Automatisation et scriptIngénierie de la qualité et des procédés