Salut la communauté JMP, j'espère que vous pourrez m'aider avec ce problème :
J'ai créé un script qui permet aux utilisateurs de calculer des valeurs SD 1x, 2x et/ou 3x pour plusieurs concentrations d'échantillons avec un facteur donné (à saisir). Les valeurs SD 1x, 2x et/ou 3x peuvent toutes être choisies via 3 cases à cocher. Cette première partie fonctionne parfaitement.
En fonction du nombre de cases à cocher sélectionnées, le tableau de données résultant donne un nombre variable de colonnes que je souhaite diviser en un nouveau tableau de données.
J'ai essayé de créer un deuxième script qui divise la table de données en fonction de toutes les colonnes SD présentes (toujours à partir de la colonne 3) mais sans succès. Voici mon script pour l'instant :
Noms par défaut ici (1) ;
dt1=Table de données("Calcul SD");
//Obtenir la liste des noms de colonnes
ColList=dt1<
//Split dt1 basé sur ColList
dt2=Table de données( "Calcul SD" ) << Split(
Diviser par( :nomRP ),
Diviser (ListeCol[3]),
Colonnes restantes ( Tout supprimer ),
Trier par propriété de colonne
);
Le tableau fractionné résultant ressemble à ceci et il manque la plupart des données :

Voici à quoi cela devrait ressembler (je ne peux y parvenir qu'en spécifiant tous les noms de colonnes, cependant, toutes les colonnes ne seront pas présentes dans chaque table (c'est basé sur la sélection de l'utilisateur):

Lorsque tous les calculs SD sont choisis (±1-3 SD pour 5 concentrations d'échantillons), 30 colonnes doivent être présentes.
Le but de mon script :
Les valeurs nomRP sont : 50, 71, 100, 141 et 200 et des valeurs SD 1-3x peuvent être calculées pour chacune de ces valeurs nomRP. Tous les résultats calculés doivent être divisés dans un nouveau tableau de données. Avec ces données, je souhaite créer une figure dans le générateur de graphiques montrant des plages basées sur les valeurs SD calculées.
Sincères amitiés,
Pim.
Salut,
Je pense que c'est l'un de ces moments où Eval(Eval Expr(Expr())) aiderait.Jetez un œil au code ci-dessous et voyez s'il fait ce que vous espérez.Aussi voici un post sur ce sujet qui explique ces types de méthodes.
Names Default to Here(1);
dt1=Data Table("SD Calculation");
//Get list of Column names
ColList=dt1<<GET column="" names=""></GET>Hadley, c'était exactement ce que je cherchais.
Merci beaucoup et merci aussi d'avoir partagé le post sur Eval(Eval Expr(Expr())). Cela me sera utile dans mes futures aventures de script !