JSL Créer une nouvelle table récapitulative avec les valeurs maximales des colonnes variablesBonjour,
J'ai aimé lire et trouver des solutions sur ces pages de discussion depuis un moment maintenant, mais maintenant j'ai tâtonné pour comprendre cela.
J'ai une table de données qui donne un nombre variable de colonnes, générée automatiquement par la machine, où les 14 premières colonnes sont toujours les mêmes informations d'identification. Les autres colonnes, à partir de 15, sont des données numériques continues où les noms de colonne varient toujours.
Le problème est que j'essaie d'automatiser la création d'un tableau récapitulatif qui regroupera les données en fonction de leurs informations d'identification et aura également une colonne de données Max pour chaque colonne de données.
Avec un nombre variable de colonnes de données et des noms de colonnes variables, est-il possible de parcourir chaque colonne ? Comme une boucle for pour obtenir toutes les valeurs Max dans le tableau récapitulatif ? Je suis limité par l'impossibilité de nommer toutes les colonnes b/c des différents noms de colonne à chaque tirage, mais il est sûr de dire que chaque colonne après la 14e colonne aura besoin des valeurs Max trouvées.
C'est le script JSL que j'ai essayé de modifier, mais j'ai atteint une impasse lors de la génération des colonnes Max.
sumdt = table << Summary(
Group(:NAME,:ID),
(Max(Column(table, 15:154)), // having issue on this line
Output Table Name("Summary Max Values")
);
Merci pour toute contribution à mon problème!
ScriptRe : JSL Créer un nouveau tableau récapitulatif avec les valeurs maximales des colonnes variablesSous la dernière version de JMP, le code fonctionne correctement. Merci!
Re : JSL Créer un nouveau tableau récapitulatif avec les valeurs maximales des colonnes variablesBonjour, merci pour votre code. Ici, j'ai trouvé que je pouvais juste obtenir Max de la première colonne numérique, hauteur. Veuillez voir en pièce jointe. Je suppose que le Max fonctionne juste à la première valeur de la liste. Pouvez-vous m'aider à savoir pourquoi?
Re : JSL Créer un nouveau tableau récapitulatif avec les valeurs maximales des colonnes variablesMerci beaucoup @txnelson
C'est parfait. Puisque je sais quelles colonnes je veux supprimer, la fonction Remove from() est exactement ce dont j'avais besoin.
Voici essentiellement le code qui fait exactement ce dont j'ai besoin:
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
Remove From(colNamesList, 1,2 ); //removes first two columns that I don't want evaluated
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);
Re : JSL Créer un nouveau tableau récapitulatif avec les valeurs maximales des colonnes variablesUne fois la colNamesList créée, vous pouvez utiliser la fonction Remove From() pour supprimer des lignes spécifiques dans la liste, puis une fois la liste réduite aux seules colonnes souhaitées, vous pouvez l'utiliser pour la génération du tableau récapitulatif.
Voir l'entrée de l'index de script pour la définition et l'exemple de la fonction Remove From()
Re : JSL Créer un nouveau tableau récapitulatif avec les valeurs maximales des colonnes variablesMerci @txnelson ,
cela a en partie résolu mon problème.
Ma table de données d'origine contient des colonnes de date dont je ne souhaite pas que les valeurs Max soient analysées, ce qui pose essentiellement le problème que je ne souhaite pas calculer les valeurs Max des 14 premières colonnes, quel que soit leur type de données.
Existe-t-il un moyen d'ignorer les 14 premières colonnes ou serait-il plus simple de créer un nouveau tableau qui supprime d'abord les colonnes indésirables avant de le transmettre pour un tableau récapitulatif ?
Merci,
Gloria
Re : JSL Créer un nouveau tableau récapitulatif avec les valeurs maximales des colonnes variablesVoici un exemple de faire ce que vous voulez avec l'exemple de table de données Big Class.
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);
