Comment boucler des tableaux et des images tabulés dans des diapositives pptSalut, je suis un peu coincé et j'ai du mal à faire une boucle JMP. Comment puis-je boucler un tableau tabulé provenant de mes sous-ensembles de tableaux ? Le nombre de tableaux peut changer, j'ai donc pensé que je devais faire une boucle (mais j'ai du mal), j'ai également besoin de ces images ajoutées aux diapositives PowerPoint. Je ne sais pas comment obtenir le nom de la variable en boucle et l'ajouter aux diapositives.
Voici mon exemple de script, mais sans boucle. Est-il possible?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
:Sex << Set Name( "Sex_Subset" );
dt << New Column( "Sex", Formula(:Sex_Subset));
dt1 = dt << Subset( By( :Sex_Subset ), All rows, Selected columns only( 0 ) );
//this is where to loop tabulated tables since column values used in subsetting dt may change number of values
//how to loop this according to data table name? is that possible?
dt_Tab = Tabulate(
Add Table(
Column Table( Grouping Columns( :Sex ), Analysis Columns( :height ) ),
Row Table( Grouping Columns( :name, :age ) )
)
);
tab = dt_Tab << get picture; //variable name needs to be looped? for ppt slides
//after getting the plot as image, how can I append those images that were loop to ppt slides?
//for male table
hbppt1 = H List Box(tab) << get picture;
ppt1 = Outline Box( "Male", hbppt1 );
ppt1 << savepresentation( pathppt, append, PNG );
//for female table
hbppt2 = H List Box(tab2) << get picture;
ppt2 = Outline Box( "Female", hbppt2 );
ppt2 << savepresentation( pathppt, append, PNG );
tables du sous-ensemble
Automatisation et scriptsRe : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptSi vous utilisez Subset avec By, vous obtiendrez une liste de tables que vous pourrez ensuite parcourir en boucle.
dt1 = {DataTable("Sex_Subset=F"), DataTable("Sex_Subset=M")};
Modifier:
Vérifiez l'index de script pour vos fonctions et les messages que vous utilisez, certains d'entre eux sont incorrects
Names Default To Here(1);
pathppt = "$TEMP/bigclass.pptx";
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, "Sex") << Set Name("Sex_Subset");
dt << New Column("Sex", Formula(:Sex_Subset));
dt_subsets = dt << Subset(By(:Sex_Subset), All rows, Selected columns only(0));
For Each({dt_subset}, dt_subsets,
subset_tab = dt_subset << Tabulate(
Add Table(
Column Table(Grouping Columns(:Sex), Analysis Columns(:height)),
Row Table(Grouping Columns(:name, :age))
)
);
tab_pic = subset_tab << get picture;
subset_tab << Close Window;
name_dt = dt_subset << get name;
Close(, no save);
hbppt = H List Box(tab_pic) << get picture;
ppt = Outline Box(name_dt, hbppt);
If(!File Exists(pathppt),
ppt << savepresentation(pathppt);
, // append only if file already exists
ppt << savepresentation(pathppt, append);
);
);
Open(pathppt);Re : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptVoici une refonte de votre script qui crée les diapositives

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Specify the path to save the pptx's to
pathPPT = "$TEMP/UserID16644Slides.pptx";
:Sex << Set Name( "Sex_Subset" );
dt << New Column( "Sex", Formula( :Sex_Subset ) );
// Add value labels so the full value can be used for the slide title
dt:Sex_Subset << Value Labels( {"F" = "Female", "M" = "Male"} ) << Use Value Labels( 1 );
// Subset the tables. The dataTableList will contain a reference to each table created
dataTableList = dt << Subset( By( :Sex_Subset ), All rows, Selected columns only( 0 ) );
// Loop across all of the tables and create the Tabulates
For Each( {table, i}, dataTableList,
dt_Tab = table << Tabulate(
Add Table(
Column Table( Grouping Columns( :Sex ), Analysis Columns( :height ) ),
Row Table( Grouping Columns( :name, :age ) )
)
);
// Pull the subset name from the data table name
theTitle = Word( 3, Char( dataTableList[i] ), "\!"=" );
// Create the new slide
hbppt1 = H List Box( dt_tab << get picture);
ppt1 = Outline Box( theTitle, hbppt1 );
// The pptx must exist for the append to be used, so on the first
// slide it is not appended
if(i==1,
ppt1 << savepresentation( pathppt,"PNG" ),
ppt1 << savepresentation( pathppt, Append,"PNG" )
);
);
// Open the powerpoint presentation to see the results
open(pathppt);
Re : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptJe n'ai pas encore JMP 16, j'ai essayé de convertir la boucle For Each en boucle For mais je n'obtiens aucun résultat.
For (i = 1, i <= dataTableList, i++,
dt_Tab = table << Tabulate(
Add Table(
Column Table( Grouping Columns( :Sex ), Analysis Columns( :height ) ),
Row Table( Grouping Columns( :name, :age ) )
)
);
);
Re : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptSalut, j'ai essayé de convertir la boucle For Each en For mais je n'obtiens pas de résultat
For (i = 1, i <= dt_subsets, i++,
subset_tab = dt_subset << Tabulate(
Add Table(
Column Table(Grouping Columns(:Sex), Analysis Columns(:height)),
Row Table(Grouping Columns(:name, :age))
)
);
);
Re : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptdt_subsets est une liste JMP.ce dont vous avez besoin, c'est du nombre d'éléments dans la liste.
For (i = 1, i <= N Items( dt_subsets ), i++,
subset_tab = dt_subset << Tabulate(
Add Table(
Column Table(Grouping Columns(:Sex), Analysis Columns(:height)),
Row Table(Grouping Columns(:name, :age))
)
);
);
Re : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptJe vois. Aussi, je me demande simplement d'où vient dt_subset ?

Parce que lorsque j'ai essayé cette ligne de code, dt_subset ( dt_subset << Tabuler() )n'est pas trouvé. Cependant, j'ai essayé de le remplacer par dt_subsets, il a tabulé les tableaux 2x (2 tableaux tabulés pour les hommes et 2 pour les femmes)
For (i = 1, i <= N Items( dt_subsets ), i++,
subset_tab = dt_subset << Tabulate(
Add Table(
Column Table(Grouping Columns(:Sex), Analysis Columns(:height)),
Row Table(Grouping Columns(:name, :age))
)
);
);
Re : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptIl faut que ce soit
For (i = 1, i <= N Items( dataTableList ), i++,
Re : Comment mettre en boucle des tableaux et des images tabulés dans des diapositives pptLa variable
dt_subset
c'est une erreur, ça doit être
dt_subsets