Chère communauté,
Actuellement, j'essaie d'automatiser plusieurs routines JMP récurrentes avec JSL. Mes tables ont après plusieurs centaines de lignes de code maintenant la forme que je veux avoir et j'échoue en JSL sur une analyse bivariée soi-disant simple 
A titre d'exemple, j'ai joint un tableau simplifié. Si vous cliquez dessus, c'est :
- X = :jours, Y = :Lecture, Par = :Classification
- => Bouton de raccourci SHIFT => Grouper par : Individus => Bouton de raccourci SHIFT => Ajuster à chaque valeur
Le code résultant copié depuis l'éditeur est :
Bivariate(
SendToByGroup( {Is Missing( :Classification )} ),
Y( :Readout ),
X( :Days ),
SendToByGroup(
{Is Missing( :Classification )},
Fit Where(
:Individuals == "Ind7",
Fit Each Value( {Line Color( {212, 73, 88} )} )
),
Fit Where(
:Individuals == "Ind22",
Fit Each Value( {Line Color( {66, 112, 221} )} )
)
),
SendToByGroup(
{:Classification == "A"},
Fit Where(
:Individuals == "Ind2",
Fit Each Value( {Line Color( {212, 73, 88} )} )
),
Fit Where(
:Individuals == "Ind4",
Fit Each Value( {Line Color( {61, 174, 70} )} )
),
Fit Where(
:Individuals == "Ind5",
Fit Each Value( {Line Color( {66, 112, 221} )} )
),
Fit Where(
:Individuals == "Ind6",
Fit Each Value( {Line Color( {204, 121, 41} )} )
),
Fit Where(
:Individuals == "Ind8",
Fit Each Value( {Line Color( {40, 182, 143} )} )
),
Fit Where(
:Individuals == "Ind9",
Fit Each Value( {Line Color( {162, 43, 221} )} )
),
Fit Where(
:Individuals == "Ind12",
Fit Each Value( {Line Color( {196, 189, 43} )} )
),
Fit Where(
:Individuals == "Ind14",
Fit Each Value( {Line Color( {39, 174, 174} )} )
),
Fit Where(
:Individuals == "Ind15",
Fit Each Value( {Line Color( {197, 41, 201} )} )
),
Fit Where(
:Individuals == "Ind24",
Fit Each Value( {Line Color( {142, 176, 40} )} )
),
Fit Where(
:Individuals == "Ind28",
Fit Each Value( {Line Color( {40, 154, 190} )} )
)
),
SendToByGroup(
{:Classification == "B"},
Fit Where(
:Individuals == "Ind1",
Fit Each Value( {Line Color( {212, 73, 88} )} )
),
Fit Where(
:Individuals == "Ind11",
Fit Each Value( {Line Color( {61, 174, 70} )} )
),
Fit Where(
:Individuals == "Ind16",
Fit Each Value( {Line Color( {66, 112, 221} )} )
),
Fit Where(
:Individuals == "Ind17",
Fit Each Value( {Line Color( {204, 121, 41} )} )
),
Fit Where(
:Individuals == "Ind21",
Fit Each Value( {Line Color( {40, 182, 143} )} )
),
Fit Where(
:Individuals == "Ind23",
Fit Each Value( {Line Color( {162, 43, 221} )} )
),
Fit Where(
:Individuals == "Ind25",
Fit Each Value( {Line Color( {196, 189, 43} )} )
),
Fit Where(
:Individuals == "Ind26",
Fit Each Value( {Line Color( {39, 174, 174} )} )
),
Fit Where(
:Individuals == "Ind27",
Fit Each Value( {Line Color( {197, 41, 201} )} )
)
),
SendToByGroup(
{:Classification == "C"},
Fit Where(
:Individuals == "Ind20",
Fit Each Value( {Line Color( {212, 73, 88} )} )
)
),
SendToByGroup(
{:Classification == "D"},
Fit Where(
:Individuals == "Ind3",
Fit Each Value( {Line Color( {212, 73, 88} )} )
),
Fit Where(
:Individuals == "Ind10",
Fit Each Value( {Line Color( {61, 174, 70} )} )
),
Fit Where(
:Individuals == "Ind13",
Fit Each Value( {Line Color( {66, 112, 221} )} )
),
Fit Where(
:Individuals == "Ind18",
Fit Each Value( {Line Color( {204, 121, 41} )} )
),
Fit Where(
:Individuals == "Ind19",
Fit Each Value( {Line Color( {40, 182, 143} )} )
)
),
By( :Classification )
);Mon problème maintenant est que ce script, si je le code en dur comme ça, ne fonctionnera pas avec les nouveaux Indiviudals, qui seront ajoutés à cette table. Et je réalise aussi que je dois travailler avec des listes et une boucle For() sous une forme ou une autre.
Pour les listes, j'ai commencé comme suit :
//Writes only the different individual values of column :Classification into a variable
classlist = dt:"Classification" << Get values;
classvalues = Associative Array(classlist) << Get Keys;
//Writes only the different individual values of column :Individuals into a variable
IDlist = dt:"Individuals" << Get values;
IDvalues = Associative Array(IDlist) << Get Keys;
Mais comment j'aborde maintenant correctement la boucle For(), je ne sais malheureusement pas...
Est-ce que quelqu'un a des idées ou peut m'aider?