Aide pour l'ajout de tableaux de données dans les journaux à l'aide d'une boucle.Bonjour, je suis nouveau sur JMP. J'essaie d'ajouter des tables générées par une boucle dans le journal. Mais je n’ai pas beaucoup de chance. Toute aide à ce sujet serait appréciée. Voici mon scénario. Ma table initiale est générée en exécutant une requête SQL.
dt2 = dt< Groupe( :MODULE, :STEP ),
Fréq( "Aucun" ),
Poids( "Aucun" )
);
ModuleList = Column(dt2,"MODULE")< StepList = Column(dt2,"STEP")< numrows= nrows(dt2);
Fermer(dt2,nosave);
Pour (i=1, i<=numrows, i++,
dt<< select Où (:MODULE==ModuleList[i] & :STEP==StepList[i]);
odt= (dt << Sous-ensemble(
Table de sortie ( ModuleList[i] ),
Lignes sélectionnées ( 1 ),
Colonnes sélectionnées uniquement ( 0 )));
dt<< effacer la sélection ;
jrn<< Append(Text Box(ModuleList[i])); //Actuellement, j'ajoute simplement les tables au journal.
odt<< journal; //Cependant, je voudrais les ajouter en tant que fenêtre/ListBox Collesapble avec ModuleList[i] comme titre.
Fermer(odt,nosave);
);
Re : Aide pour ajouter des tables de données dans les journaux à l'aide d'une boucle.Au lieu d'une VListBox, utilisez une LineUpBox, cela devrait aider si les titres des tableaux sont de longueur différente.
Si les tables ne sont pas des sous-ensembles de la même table, ce qui signifie qu'elles ont un nombre variable de colonnes, la seule façon de savoir comment procéder est d'utiliser un conteneur tel qu'un PanelBox pour chacune des tables. Trouvez la plus grande largeur, puis définissez chaque boîte de panneau sur la même largeur.
Espérons que la LineupBox sera tout ce dont vous avez besoin.Le script modifié est joint.
Re : Aide pour ajouter des tables de données dans les journaux à l'aide d'une boucle.Salut @gzmorgan0 , Merci pour votre réponse. La solution était parfaite. J'ai juste une question. Existe-t-il un moyen de dimensionner les cases (Outlinebox) afin que les textes à l'intérieur des cases restent sur une seule ligne.
Merci encore pour votre temps et votre aide.
Re : Aide pour ajouter des tables de données dans les journaux à l'aide d'une boucle.Voici une capture d'écran du Journal, avec le dernier tableau ouvert.

Re : Aide pour ajouter des tables de données dans les journaux à l'aide d'une boucle.Il existe plusieurs méthodes pour ce faire. Recherchez Aide > Index de script > DataTableColBox pour une méthode alternative.
Voici une méthode
Names Default to Here(1);
dt = Open("$sample_data/Big Class.jmp");
//get the group list
Summarize(Data Table(dt), grps = By(:sex, :age) );
show(grps); //List of 2 lists of equal size, the first list's items are gender, the second age
ob = OutlineBox("Subset Tables", vl=VListBox() );
For(i=1, i<=nitems(grps[1]), i++, //can also use grps[2]
ttl = EvalInsert("Sex = ^grps[1][i]^, Age = ^grps[2][i]^");
//note Summarize lists converts numeric to character so num() function is required
//If the grouping columns are character, this is not needed.
dt << Select Where(:sex==grps[1][i] & :age==num(grps[2][i]) );
odt= (dt << Subset( Invisible, Output Table( ttl ),
Selected Rows( 1 ),
Selected columns only( 0 ))
);
dg = odt << New Data Box();
tmp = OutlineBox( ttl, dg);
tmp << close(1);
vl << append(tmp);
dt << clear select;
); // end for
//ob hase a nice table like view of each subset, but once you close the tables the view is gone
//so journaling creates te report view, and the subsetted tables can be closed.
nw = New Window("Tables", <<JOURNAL></JOURNAL>