Problème avec Obtenir en tant que table à partir du rapportBonjour à tous,
J'essaie d'extraire des informations d'une TableBox() dans un rapport dans une table de données pour les manipuler. J'ai lu http://www.jmp.com/support/help/Manipulated_Displays.shtml#196022 et j'en fais fonctionner une partie, mais j'ai deux problèmes :
var = rdist["Summary Statistics"][1][1][1][1];
Retour
"mean"
Je sais donc que je peux identifier l'objet et utiliser la syntaxe, mais
var = rdist["Summary Statistics"][1][TableBox(4)][1][1];
Retour
Cannot subscript Display Box in access or evaluation of 'Subscript' , rdist["Summary Statistics"][1][/*###*/Table Box( 4 )]
In the following script, error marked by /*###*/
var = rdist["Summary Statistics"][1][/*###*/Table Box( 4 )][1][1]
Peut-être qu'il me manque quelque chose d'évident. Une photo de l'arbre d'affichage est jointe. Je ne sais pas pourquoi il n'acceptera pas la syntaxe.
Le véritable objectif est d'obtenir le tableau que je souhaite utiliser, c'est-à-dire la tablebox "Statistiques récapitulatives" (4).
Alors quand j'essaye :
var = rdist["Summary Statistics"][1][1];
rdist << make data table();
Je reçois:
The display box 'OutlineBox' does not recognize the message 'make data table'; perhaps you mean one of these: <<Make RowState Handler <<Selectable <<Get Title <<Set Title <<Set Menu Item State <<Get Menu Item State <<Set Scriptable Object <<Get Scriptable Object <<Add Text Item <<Set Font Name <<Get Font Name <<Set Window Title <<Add Pin Annotation <<Save Capture <<Get Window Title <<Set Window Title <<SetNotStretchable.

Re : Problème avec l'obtention d'une table à partir d'un rapportMerci!
Re : Problème avec l'obtention d'une table à partir d'un rapportC'est une bonne idée.
Ce n'est pas si compliqué. Il faut juste comprendre que vous pouvez utiliser des références absolues ou relatives. L'arborescence d'affichage est d'une grande aide mais nous déconseillons l'utilisation de références absolues. Cet index changera si quelque chose apparaît ou disparaît entre la racine de l'arborescence d'affichage et la zone d'affichage cible. En revanche, la référence relative ne rompt presque jamais. Ainsi, dans votre exemple, sr["Tests Between Groups"][TableBox(1)] est la référence la plus directe et la plus fiable. Le premier indice arrive à la zone de contour cible, puis le prochain indice (ils sont imbriqués) vous amène à la cible. Vous n'avez vraiment pas besoin de tous les indices [1] dans votre exemple initial. En fait, cela rend la référence fragile pour la raison que j’évoquais au début de ce post.
Re : Problème avec l'obtention d'une table à partir d'un rapportÇa marche. Merci de clarifier!
Je dirais que c'est un peu délicat car cette TableBox est répertoriée avec un numéro différent entre parenthèses. "TableBox(1)" dans le script JMP est la première TableBox après la OutlineBox intitulée "Tests entre groupes", plutôt que "TableBox( 4)", c'est ainsi qu'il apparaît dans l'arborescence d'affichage.
Une fonctionnalité que j'aimerais voir dans JMP serait la possibilité de faire glisser une fonctionnalité de l'arborescence d'affichage ou même un rapport dans la fenêtre de script et de faire apparaître la référence de l'arborescence d'affichage dans l'éditeur de script.
Quoi qu'il en soit, j'adore JMP et la commande << make Combined Data Table() est une bouée de sauvetage ! Merci de l'avoir écrit !
Re : Problème avec l'obtention d'une table à partir d'un rapportL'index affiché dans l'arborescence d'affichage est une référence absolue. Le [5] est absolu. Plus tard, vous inscrivez jusqu'à la seule zone de table locale, c'est donc maintenant [1].
Je suggère d'utiliser la référence unique la plus proche, telle que la zone de plan "Tests entre groupes", puis TableBox(1).
Re : Problème avec l'obtention d'une table à partir d'un rapportOk, j'ai réalisé que j'envoyais la mauvaise variable pour "créer une table de données()". Donc c'est bien. Mais ce que je ne comprends pas, c'est :
sr = surv << Report;
var = sr[1][1][1]["Tests Between Groups"][1];
var<< make data table();
Cela fait un joli tableau de données avec les statistiques que je veux. Mais....
var = sr[1][1][1]["Tests Between Groups"][TableBox(5)];
Retour:
Cannot subscript Display Box in access or evaluation of 'Subscript' , sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
In the following script, error marked by /*###*/
var = sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
Donc ce que j'aimerais savoir, c'est pourquoi :
"var = sr[ 1 ][ 1 ][ 1 ][ "Tests entre groupes" ][ TableBox ( 5 )];" ------- n'est pas la même chose que -------- " var = sr[ 1 ][ 1 ][ 1 ][ "Tests entre groupes" ][ 1 ];"
Y a-t-il une syntaxe qui me manque ?
Re : Problème avec l'obtention d'une table à partir d'un rapportchangez « Créer une table de données » en « Créer une table de données combinées » et je pense que vous obtiendrez ce que vous voulez.Il mettra dans une table de données toutes les données de chacune des Tablebox
Re : Problème avec l'obtention d'une table à partir d'un rapportMerci pour votre réponse Jim. Ce n'est pas exactement ce que je veux faire.
En fin de compte, j'aurais besoin que le script parcoure les itérations (variable "By") pour un rapport donné et extraie le TableBox (4) dans une table de données, puis concatène tous ceux-ci avec des identifiants ou de quelle itération de l'analyse il provient. .
Je pense que je peux comprendre les concaténations et ainsi de suite, il s'agit simplement d'extraire la TableBox(4), dans cet exemple, sous forme de table de données. Selon l'article dans JMP Scripting>Display Trees>Manipulated Displays, cela devrait être possible.
Leur exemple est :
rbiv[tablebox(4)] << make data table("ANOVA table");Je sais donc que la commande send peut créer une table de données. Je ne comprends tout simplement pas pourquoi, dans mon cas, je reçois le message d'erreur étant donné que je peux identifier de manière appropriée les données dans le tableau.
Re : Problème avec l'obtention d'une table à partir d'un rapportC'est la méthode que j'utilise pour aborder le problème
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dis=Distribution(
Continuous Distribution( Column( :NPN1 ) ),
Continuous Distribution( Column( :PNP1 ) )
);
n items(report(dis));
mean=(report(dis)["NPN1"]["Summary Statistics"][1][1][2]<<GET></GET>