Ciao,
sai come ottenere il "nome" di GraphBuilderGroupBox dal livello di scripting JSL? Nella foto allegata sarebbe "Maschio" o "Femmina" (contrassegnato in cerchi rossi). La mia ipotesi è di avere un comando simile a << xpath( "//GraphBuilderGroupBox" )) << Ottieni titolo finestra. Tuttavia non funziona.
Ecco il codice:
dt = Open( "$SAMPLE_DATA/Academic Achievement.jmp" );
win = dt << Graph Builder(
Size( 570, 475 ),
Variables( X( :Year4 ), Y( :Year2 ), Group X( :Female ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
GroupBoxName = (win << xpath( "//GraphBuilderGroupBox" )) << Get Window Title; //<<CLASS name="" show=""></CLASS>
Ne ho bisogno nel mio codice esteso, dove incollo FrameBox da tabelle diverse su un GB. I framebox mantengono la posizione "corretta" finché non utilizzo il filtro dati locali, altrimenti i dati tracciati sono incasinati. Uso JMP 16.1.
Grazie per i tuoi consigli!
Saluti,
Li

Non sono sicuro che tu possa accedere a quei "nomi" (raggruppamenti) dal generatore di grafici. Puoi controllare a cosa puoi accedere con Xpath usando << Ottieni XML sulla variabile win e in base a ciò non si fa menzione di "Femmina" e "Maschio". Controllando anche da Mostra struttura ad albero e Mostra proprietà, non riesco a vederli nemmeno lì:

Per ottenere un riferimento a GraphBuilderGroupBox puoi usare:
gbgb = Report(win)[GraphBuilderGroupBox(1)];
//or
gbgb = (win << XPath("//GraphBuilderGroupBox"))[1]; //it is a list so use indexL'accesso al gruppo X può essere fatto con Variable, ma non sono sicuro che sarà utile qui:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Academic Achievement.jmp");
win = dt << Graph Builder(
Size(570, 475),
Variables(X(:Year4), Y(:Year2), Group X(:Female)),
Elements(Points(X, Y, Legend(8)), Smoother(X, Y, Legend(9)))
);
//win << get xml
gbb = Report(win)[Graph Builder Box(1)];
wait(1);
gbb << Remove Variable(3);
gbb << Add Variable({:Female Binary, Role("Group X")});Modificare:
Se hai bisogno solo dei valori della colonna Female, puoi ottenerli direttamente da datatable. Poiché si tratta di etichette di valore, è necessario ottenere la proprietà dell'etichetta di valore
(Column(dt, "Female") << Get Column Properties())["Value Labels"]