Come creare nomi di variabili di oggetti dt a seconda del cicloCiao,
Come creare nomi di variabili di oggetti dt - dt_valuesarray[i] ?
valuesarray = {};<BR />Summarize( dt_values, valuesarray = by( :Dis ) );<BR />
For( i = 1, i <= N Items( valuesarray ), i++,
dt_values << Select where( :Dis == valuesarray[i] );
<FONT color="#FF0000"><STRONG>dt_valuesarray[i]</STRONG></FONT>=Data Table( "Summary values" ) <<
Subset(
Output Table( "Summary " || valuesarray[i] || ),
Selected Rows( 1 ),
Selected columns only( 0 )
));
Grazie
Re: Come creare nomi variabili di oggetti dt a seconda del ciclo@txnelson @Mark_Bailey , Grazie per il vostro sostegno.
Aspetterò la prossima versione per la Button Box 
Ho trovato un modo per "risolvere" -
Uso in Outline Box (chiudi) e simula come una Button Box.
Re: Come creare nomi variabili di oggetti dt a seconda del cicloIl tuo pulsante è un oggetto JMP. Facendo clic sul pulsante, JMP valuta lo script associato al pulsante. Il tuo browser non sa come valutare JSL.
JMP 14 ha avviato uno sviluppo parallelo separato per HTML5. Lo sviluppo di contenuti HTML5 salvando una piattaforma continua come @txnelson disse. Ora, però, c'è un altro modo. Vedi in primo piano JMP pubblico contenuto per comprendere il secondo approccio. Richiede un server JMP e codice HTML5 aggiuntivo per "pubblicare" il contenuto invece di salvarlo.
Questa versione di JMP è disponibile anche come JMP in diretta per uso privato.
Re: Come creare nomi variabili di oggetti dt a seconda del cicloEsistono attualmente altre funzionalità JMP nell'HTML interattivo o nell'HTML per Button Box?
In effetti sto cercando una soluzione per una pagina HTML\HTML interattiva
La pagina includerà Tab Box e Button Box (come mi hai aiutato a scrivere sopra).
Hai una soluzione da offrire per questo problema?Re: Come creare nomi variabili di oggetti dt a seconda del cicloNon tutte le funzionalità JMP sono attualmente disponibili in HTML interattivo.Con l'uscita di nuove versioni, diventano disponibili più funzionalità.Il codice specificato dall'utente, come lo script che hai scritto per la Button Box, non è supportato nella visualizzazione HTML.
Re: Come creare nomi variabili di oggetti dt a seconda del cicloIn JMP funziona benissimo, ma in "HTML interattivo" non riesco a fare clic sulla scheda - vedi allegato.
Il pulsante è invisibile.

Re: Come creare nomi variabili di oggetti dt a seconda del ciclocosa dice il registro?Re: Come creare nomi variabili di oggetti dt a seconda del cicloCiao,
Sicuramente è stato un semplice cambiamento.
La prossima volta userò sicuramente le guide
Grazie!
Funziona, ma ho un problema quando salvo il file come HTML, il collegamento a Drill down ("clicca qui") non funziona.
Quale potrebbe essere il motivo?
(Non l'ho trovato nelle guide
)
Re: Come creare nomi variabili di oggetti dt a seconda del cicloQuando inizi a utilizzare una nuova funzione, devi studiarne le opzioni e gli esempi.Questo è molto vero per la funzione Tab().È necessario leggere la Guida agli script e la sua area sulla funzione Tab(), quindi andare all'indice degli script e studiare tutti i messaggi (opzioni) e gli esempi mostrati per la funzione Tab().Ecco la semplice modifica che doveva essere apportata dall'ultimo esempio al nuovo esempio corrispondente all'output fornito
Names Default To Here( 1 );
dt_values = Current Data Table();
dt_valuesarray = {};
Summarize( dt_values, valuesarray = by( :Dis ) );
For( i = 1, i <= N Items( valuesarray ), i++,
dt_values << Select where( :Dis == valuesarray[i] );
mydt = dt_values << Subset( Output Table( "Summary " || valuesarray[i] ), Selected Rows( 1 ), Selected columns only( 0 ) );
Insert Into( dt_valuesarray, mydt );
Current Journal() << Close window( nosave );
dt_valuesarray[i]() << save( "\\SUMMARY\" || valuesarray[i] || ".jmp " );
dt_valuesarray[i]() << journal;
Current Journal() << Save HTML( "\\SUMMARY\" || valuesarray[i] || ".html" );
Current Journal() << Close window( nosave );
);
//------------------ new window
charts = {};
ob = Outline Box( "Summary Data", Outline Box( "Summary Tables", myTab = Tab Box() ) );
For( i = 1, i <= N Items( valuesarray ), i++,
myTab << Insert(
valuesarray[i],
Eval(
Parse(
"charts[" || Char( i ) ||
"] = Charts_1 = V List Box(
V List Box( dt_valuesarray[i] << get as report() ),
Outline Box( \!"Drill Down Analysis\!", BB = Button Box( \!"Click Here\!", Open( \!"\\SUMMARY\"
|| valuesarray[i] || ".html\!" ))));"
)
);
//dt_vlist << append( );
)
);
dt_tables = New Window( "Tables", ob );Re: Come creare nomi variabili di oggetti dt a seconda del ciclo@txnelson Grazie mille per la risposta, ora provo.
Scusa, ho aggiunto un'immagine (output finale come voglio che appaia) nel commento precedente, per qualche motivo non esiste, quindi l'ho aggiunta di nuovo.

Re: Come creare nomi variabili di oggetti dt a seconda del cicloNon sono del tutto sicuro di quale dovrebbe essere il tuo output finale, quindi ho dovuto indovinare.Un problema che ho riscontrato è che stavi usando un riferimento a "dt_valuesarray[I]" che restituirà Data Table("F") o Data Table("M"), quando penso che tu volessi fare riferimento a "valuesarray[I] ]" che restituirà "F" o "M".
Hai anche creato la casella di riepilogo V, denominata dt_vlist, all'interno del tuo ciclo For().Questo è il motivo per cui ottenevi solo una copia dei risultati.Ogni volta che attraverso il ciclo For(), ds_vlist, veniva creato di nuovo.
All'interno del tuo script per le pulsantiere, stavi facendo riferimento a valuesarray[I].Ciò che è importante qui, è che il valore di "I" venga valutato al momento della pressione del pulsante.Ciò significa che, qualunque sia il valore di I quando viene premuto il pulsante, determinerà quale file verrà aperto.Ho quindi modificato il codice in hard code nel valore quando viene creata la casella del pulsante.
Infine, stavi specificando //SUMMARY nel tuo percorso per il salvataggio dei file. Non so se questo è un problema sul tuo computer o meno.Se //SUMMARY è un riferimento corretto, credo che dovrai aggiungere un \ dopo il SUMMARY per indicare al sistema operativo la separazione tra esso e il nome del file
Names Default To Here( 1 );
dt_values = Current Data Table();
dt_valuesarray = {};
Summarize( dt_values, valuesarray = by( :Dis ) );
For( i = 1, i <= N Items( valuesarray ), i++,
dt_values << Select where( :Dis == valuesarray[i] );
mydt = dt_values << Subset( Output Table( "Summary " || valuesarray[i] ), Selected Rows( 1 ), Selected columns only( 0 ) );
Insert Into( dt_valuesarray, mydt );
Current Journal() << Close window( nosave );
dt_valuesarray[i]() << save( "\\SUMMARY\" || valuesarray[i] || ".jmp " );
dt_valuesarray[i]() << journal;
Current Journal() << Save HTML( "\\SUMMARY\" || valuesarray[i] || ".html" );
Current Journal() << Close window( nosave );
);
//------------------ new window
charts = {};
dt_vlist = V List Box();
For( i = 1, i <= N Items( valuesarray ), i++,
eval(parse(
"charts[" || char(i) || "] = Charts_1 = V List Box(
V List Box( dt_valuesarray[i] << get as report() ),
Outline Box( \!"Drill Down Analysis\!", BB = Button Box( \!"Click Here\!", Open( \!"\\SUMMARY\" || valuesarray[i] || ".html\!" ))));" ));
dt_vlist << append( Outline Box( "Summary Data", Outline Box( "Summary Tables", Tab Box( valuesarray[i], charts[i] ) ) ) );
);
dt_tables = New Window( "Tables", dt_vlist );
Re: Come creare nomi variabili di oggetti dt a seconda del cicloCiao @txnelson ,
Puoi supportarmi per favore?
Re: Come creare nomi variabili di oggetti dt a seconda del ciclo@txnelson ,
Oltre al problema che hai risolto,
Sto cercando di utilizzare nelle tabelle che ho salvato.
Sto usando una nuova finestra e per ogni tabella avrà una tabbox
I problemi sono:
1. Per me si apre solo una scheda per una tabella: nel mio caso dovrebbero essere 2 schede
2. La casella del pulsante non ha aperto il file come ho salvato
dt_values = Current Data Table();
dt_valuesarray = {};
Summarize( dt_values, valuesarray = by( :Dis ) );
For( i = 1, i <= N Items( valuesarray ), i++,
dt_values << Select where( :Dis == valuesarray[i] );
mydt = dt_values << Subset(
Output Table( "Summary " || valuesarray[i] ),
Selected Rows( 1 ),
Selected columns only( 0 )
);
Insert Into( dt_valuesarray, mydt );
Current Journal() << Close window( nosave );
dt_valuesarray [i]() << save( "\\Summary "|| valuesarray[i] ||".jmp " );
dt_valuesarray [i]() << journal;
Current Journal() << Save HTML( "\\Summary "|| valuesarray[i] ||" .html" );
Current Journal() << Close window( nosave );
);
//------------------ new window
charts = {};
For( i = 1, i <= N Items( valuesarray), i++,
charts[i] = Charts_1 = V List Box(
V List Box( dt_valuesarray[i] << get as report() ),
Outline Box( "Drill Down Analysis",
BB = Button Box( "Click Here",
Open( "\\Summary "|| dt_valuesarray[i] ".html" )
)
)
);
dt_vlist= V List Box(
Outline Box( "Summary Data",
Outline Box( "Summary Tables",
TabBox( dt_valuesarray[i], charts[i] ) ) )
));
dt_tables = New Window( "Tables", dt_vlist);
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 354px;"><span class="lia-inline-image-display-wrapper" image-alt="Capture.PNG" style="width: 354px;"><img src="https://us.v-cdn.net/6038925/uploads/images/23753i8D6057CAEB44C940/Capture.PNG" role="button" title="Capture.PNG" alt="Capture.PNG" /></span></SPAN>
Grazie mille per il tuo tempestivo supporto
Re: Come creare nomi variabili di oggetti dt a seconda del cicloGrande!
Grazie tante @txnelson
Re: Come creare nomi variabili di oggetti dt a seconda del cicloEcco il modo in cui gestisco ciò che stai cercando di fare.
dt_values = Current Data Table();
dt_valuesarray = {};
Summarize( dt_values, valuesarray = by( :Dis ) );
For( i = 1, i <= N Items( valuesarray ), i++,
dt_values << Select where( :Dis == valuesarray[i] );
mydt = dt_values << Subset(
Output Table( "Summary " || valuesarray[i] ),
Selected Rows( 1 ),
Selected columns only( 0 )
);
Insert Into( dt_valuesarray, mydt );
);
show(dt_valuesarray);