Ciao a tutti
Ora ho bisogno di creare le schede che si basano sulla mia tabella di dati (ho chiamato come dt2). I nomi delle schede sono basati sul dt2, inteso qui: se dt2 ha 10 nomi di prodotti, quindi nella mia interfaccia ho bisogno anche di 10 schede che si basano sui nomi dei prodotti in dt2.
Uno dei miei requisiti è che non posso hardcode la codifica, perché in futuro, forse ho bisogno di aggiungere il nome dei prodotti in dt2, quindi le schede avranno automaticamente lo stesso con il nome del numero di prodotti in dt2.
Quindi, come estrarre i dati da dt2 e trasformarli in schede?
In realtà non so come scrivere il codice per l'attività che ho bisogno di completare, ho provato molte volte, ma il suo mantenimento si esaurisce errori.
Grazie.
dt2

dt2 = Data Table(
"Data Table........") << Summary(
Group( :F D ),
Freq( "None" ),
Weight( "None" ),
invisible
);
//Create Tabs based on the F D
VariabilityWindow = New Window("Variability Chart",tb = Tab Box() );
For(i =1, i <=nTabs(dt2 << get row names()), i++,
tb << insert(
dt2: F D[i] || Char(i),
V list Box(
Button Box("Variability Chart #" || Char(i)),
)
)
);È ovvio che tu stia ancora lottando con le parti base di JSL. Un paio di indicazioni, basate sul codice che stai mostrando.
1. Non fare il codice. Quando non funziona, è solo confuso. Quando indovinare al codice funziona, non sai perché, e non hai imparato nulla.
2. Usa il registro. Nelle tue numerose discussioni che hai elencato, non ho visto risultati dal registro. Questi messaggi forniscono dettagli e informazioni dettagliate su ciò che non va nel tuo JSL.
3. Uso Aiuto ==> Indice di scripting. Fornisce la sintassi corretta e esempi su come funzionano gli oggetti. The Scripting Index è la documentazione più completa su JSL.
Permettetemi di criticare il vostro codice
dt2 = Data Table(
"Data Table........") << Summary(
Group( :F D ),
Freq( "None" ),
Weight( "None" ),
invisible
);
La descrizione della piattaforma di riepilogo è disponibile all'indirizzo:
Aiuto == Scripting Index ==> Tabella dati ==> Riepilogo

Ecco un esempio quasi ittico di ciò che è necessario.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary( Group( :Age ), Mean( :Height ) );
Ma ciò che sembra mancare è come creare un puntatore alla tabella di riepilogo che verrà prodotta dalla piattaforma di riepilogo. Tuttavia, non sembri capire come fare riferimento alle tabelle di dati. Nell'esempio, la variabile "dt" punta alla tabella dati aperta. Quindi, come si può vedere, viene utilizzato quando la piattaforma di riepilogo lo fa riferimento. Tuttavia, è anche possibile utilizzare una funzione Tabella dati () per puntare al nome fisico di una tabella di dati. Qual è il tipo di cosa penso che stai cercando di fare, con Data Table ("Tabella dati ............."). O funzionerà ....... se conosci il nome della tabella dei dati. Tuttavia, come indicato nel codice fornito, assicurati di specificare una variabile in modo che punti alla tabella di dati che creerai dalla piattaforma di riepilogo, in modo da poterla utilizzare nel prossimo passaggio (es. Dt 
La prossima sezione di codice sembra che tu stavi solo indovinando la sintassi.
//Create Tabs based on the F D
VariabilityWindow = New Window("Variability Chart",tb = Tab Box() );
For(i =1, i <=nTabs(dt2 << get row names()), i++,
tb << insert(
dt2: F D[i] || Char(i),
V list Box(
Button Box("Variability Chart #" || Char(i)),
)
)
);
Quello che stai cercando di fare è generare una nuova scheda per ogni valore di FD dalla tabella dei dati di riepilogo.
Una ricerca dell'Indice Scripting mostra che nulla con il nome di nTabs o ottenere nomi di riga () esiste. Presumo che stavi pensando che nTabs ti avrebbe dato il numero di tabl che vuoi. Quale che non possa, poiché a questo punto nel programma, nessun tabls è stato prodotto e soltanto perché una tabella di riepilogo è stata prodotta, sarebbe sapere che il numero di file nella tabella di dati è il numero di linguette che volete Prodotto. Tuttavia, puoi esaminare l'indice di scripting e vedere quali funzioni ti diranno il numero di righe presenti in una tabella di dati "N Rows ()" e cambiare semplicemente il codice creato per N Rows () e avrai la soluzione
Il seguente codice presuppone che la tabella di dati originale abbia una variabile puntatore chiamata "dt" che punta ad essa.
dt2 = dt << Summary( Group( :F D ), Freq( "None" ), Weight( "None" ), invisible );
//Create Tabs based on the F D
VariabilityWindow = New Window( "Variability Chart", tb = Tab Box() );
For( i = 1, i <= nrows( dt2 ), i++,
tb << Insert(
dt2:F D[i] || Char( i ),
V List Box( Button Box( "Variability Chart #" || Char( i ) ), )
)
);
dt2 = Data Table(
"Data Table........") << Summary(
Group( :F D ),
Freq( "None" ),
Weight( "None" ),
invisible
);