Comment configurer une fenêtre de rapport afin que le tableau de données combiné s'affiche par valeurJ'essaie de recréer le comportement interne de JMP : lors de la création d'un tableau combiné dans un rapport de distribution, le tableau résultant répertorie la valeur par dans la première colonne. Lorsque je crée ma propre structure de table imbriquée, je n'obtiens pas cette première colonne dans la table de données combinée résultante. Comment puis-je définir la structure de ma fenêtre de manière à générer deux tableaux de données combinés identiques ?
Voyez la différence en exécutant cet exemple de script :
/* Open a sample data table */
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
/* Generate the Distribution with a By variable */
dist = dt << Distribution( Continuous Distribution( Column( :height ) ), By( :sex ) );
/* Create the combined data table of Summary Statistics */
Report( dist[1] )["Summary Statistics"][Table Box( 1 )] << Make Combined Data Table;
TestWindow = new window("Test with multiple tables",main = v list box());
main << Append(
Outline Box( "Distributions sex=F",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{60.8888888888889, 3.61189031311679, 0.851330711102296, 62.6850396850604, 59.0927380927173, 18, 1096, 13.0457516339869,
5.93193664562977, 0}
)
)
)
)
)
);
main << Append(
Outline Box( "Distributions sex=M",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{63.9090909090909, 4.3084533840777, 0.918565347870119, 65.8193521238087,
61.9988296943731, 22, 1406, 18.5627705627705, 6.7415344558826, 0}
)
)
)
)
)
);
TestWindow["Summary Statistics"][Table Box( 1 )] << Make Combined Data Table;Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeurVous pouvez contourner cela en créant une fonction pour créer votre table de données combinée et définir la fonction pour qu'elle s'exécute en tant que script de menu contextuel pour TableBox. Voir ci-dessous pour plus de détails. Veuillez noter que vous pouvez rajouter certains des autres éléments du menu contextuel si vous en avez besoin (avec un peu de travail) en utilisant les équivalents de message JSL.
customMakeCombinedDataTable = Function({},
// Get a list of all of all invisible columns
collapsedCols = TestWindow <<XPATH></XPATH>

Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeurHmm, le problème persiste: si les gens font un clic droit -> créent un tableau de données combiné dans la fenêtre du rapport, aucun de ces éléments ne fonctionne et je suis obligé d'ajouter une colonne qui n'est rien d'autre que la même valeur répétée. J'espérais éviter cela.Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeurLes TableBox générées par la plate-forme JMP assurent le suivi des groupes By en interne, mais ce n'est pas quelque chose que vous pouvez définir vous-même lorsque vous utilisez une fenêtre JMP personnalisée.
N'hésitez pas à le garder ouvert au cas où j'aurais raté quelque chose !
Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeurJustin, merci pour vos réponses, les deux semblent faire l'affaire et si personne ne propose une solution plus simple, vous m'avez définitivement aidé ! Alors permettez-moi de laisser la question ouverte encore un peu et si personne ne trouve une meilleure réponse, je marquerai la vôtre comme réponse.
Il me semble que JMP fait autre chose en interne (comme définir une propriété de table qui est analysée ?) et j'espère que cette astuce sera exposée à l'interface de script et pourra être appliquée ici.
Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeurSalut @pauldeen ,
J'ai trouvé deux approches pour résoudre ce problème.
La première approche est la plus simple des deux, mais nécessite de placer la valeur de la variable Par sous forme de colonne dans vos tableaux de statistiques récapitulatives. Dans l'exemple ci-dessous, consultez la colonne supplémentaire « Sexe », qui est initialement réduite mais est temporairement rétractée pour créer le tableau de données combiné. Voir les commentaires pour plus de détails.
TestWindow = new window("Test with multiple tables",main = v list box());
main << Append(
Outline Box( "Distributions sex=F",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box( "Sex", Repeat( {"F"}, 10 ), <<VISIBILITY></VISIBILITY>
Voici le tableau obtenu en utilisant cette méthode :

La deuxième méthode consiste à récupérer les informations Par valeur de OutlineBox et à concaténer les tables ensemble. Cette méthode ne nécessite aucune modification de la configuration de votre configuration OutlineBox/Sumary Statistics existante, mais est un peu plus compliquée. Voir les commentaires ci-dessous pour plus de détails.
TestWindow = new window("Test with multiple tables",main = v list box());
main << Append(
Outline Box( "Distributions sex=F",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{60.8888888888889, 3.61189031311679, 0.851330711102296, 62.6850396850604, 59.0927380927173, 18, 1096, 13.0457516339869,
5.93193664562977, 0}
)
)
)
)
)
);
main << Append(
Outline Box( "Distributions sex=M",
Outline Box( "height",
Outline Box( "Summary Statistics",
Table Box(
String Col Box("",
{"Mean", "Std Dev", "Std Err Mean", "Upper 95% Mean", "Lower 95% Mean", "N", "Sum", "Variance", "CV", "N Missing"}
),
Number Col Box("",
{63.9090909090909, 4.3084533840777, 0.918565347870119, 65.8193521238087,
61.9988296943731, 22, 1406, 18.5627705627705, 6.7415344558826, 0}
)
)
)
)
)
);
// get all of the tableboxes within a 'Summary Statistics' OutlineBox
tableBoxes = TestWindow << Xpath("//OutlineBox[text()='Summary Statistics']/TableBox");
//Create and insert each data table
dts = {};
For( i = 1, i <= N Items( tableBoxes ), i++,
tempDt = tableBoxes[i] << make into data table( "invisible" );
//set the name of the table to the title of the top outlinebox
tempDt << Set Name( (((tableBoxes[i] << Parent) << parent) << parent) << get title );
Insert Into( dts, tempDt );
);
// Concatenate the tables together, with a source column
dts[1] << Concatenate( Remove( dts, 1 ), Create source column );
// close all of the temporary tables
For( i = 1, i <= N Items( dts ), i++,
Close( dts[i] )
);
Voici le tableau résultant :

Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeur
Juste avec le code que vous avez posté, j'ai reçu le tableau de données. N'est-ce pas ce à quoi vous vous attendez ?
Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeurMalheureusement, ce n'est pas ce que je veux. J'ai déjà la fenêtre combinée. Je souhaite désormais donner à mes clients la possibilité de créer un tableau de données combiné utile à partir de celui-ci.Re : Comment configurer une fenêtre de rapport pour que le tableau de données combinées s'affiche par valeurhttps://community.jmp.com/t5/Discussions/JSL-Combined-graphs-from-multiple-data-table-and-combined-into-a/mp/17215#M15690