Ottenere categorie da un altro script.Questo è stato molto utile per arrivare dove sono
Risolto: Richiamo di uno script da un altro script - JMP User Community
Posso richiamare uno script dallo script principale. Lo script che richiamo applica categorie al set di dati di destinazione e vorrei essere in grado di formare un elenco di categorie nello script che richiamo che posso applicare allo script principale. Di seguito è riportato uno snapshot dello script richiamato, diversi parametri e categorie possono essere iterati e vorrei un elenco di categorie disponibili nella tabella principale.
Try((Column( "Parameter") << Set Selected(1););
dt << group columns( "ENG" );
dt << deselect column group( "ENG" );):
Automazione e scriptingRi: Ottenere categorie da un altro script.Stai solo eseguendo Include, per eseguire l'altro file di script? Ha espressioni/funzioni? Quali categorie e come desideri che siano disponibili?
Ri: Ottenere categorie da un altro script.Io uso Include per eseguire l'altro script, che applica le categorie alle colonne della tabella. Un modo alternativo per ottenere ciò di cui ho bisogno sarebbe elencare le categorie nella tabella finita.
Ri: Ottenere categorie da un altro script.Dove sono le categorie? Cosa intendi per categorie? Come dovrebbero essere aggiunte alla tua tabella principale?
Ri: Ottenere categorie da un altro script.Ogni misurazione che ha specifiche rientra in una categoria definita dall'organizzazione di test. Alcune categorie sono Reject, ovvero sono essenziali per il superamento, altre sono Engineering, ovvero sono di interesse ma non essenziali per il superamento.
Ri: Ottenere categorie da un altro script.Se ho capito bene il tuo post, sembra che lo script invocato stia creando "categorie" nella tua tabella dati creando più gruppi di colonne. Questi gruppi di colonne avranno nomi come "Reject", "Engineering", "Etc...".
Dopo aver eseguito lo script richiamato, puoi ottenere l'elenco dei gruppi di colonne dalla tua tabella dati utilizzando la funzione "get column groups names". Di seguito è riportato un esempio:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
show(categoryList);
Per fare un ulteriore passo avanti, dopo aver ottenuto l'elenco delle categorie, puoi scorrere l'elenco e usare la funzione "get column group" per ottenere l'elenco di tutte le colonne di misurazione del test che si trovano all'interno di ogni gruppo di colonne. Ecco un esempio:
names default to here(1);
dt = current data table();
categoryList = dt << get column groups names;
for( k = 1, k <= n items( categoryList ), k++,
show( categoryList[k] );
colList = dt << get column group( categoryList[k] );
print( colList );
);Ri: Ottenere categorie da un altro script.Bene! Io uso qualcosa del genere per alimentare le informazioni dal subscript allo script principale. Sto scrivendo il subscript con un altro script. Probabilmente non è standard, ma scrivo lo script nelle colonne della tabella dati contenente i limiti delle specifiche, lo copio come testo e lo incollo in una finestra dello script. Sembra funzionare.
Spud = (":" || cnmes2[l]);
Spuds = Parse( Eval Insert( Spud ) );
Tabname = Char( dt );
//This section of the script devises a name for each script generated.
Tabname = Char( dt );
Show( Tabname );
name = Char( Column Name( l ) );
names = Char( "Spec Limits, Group and Notes Script " ) || Char( Tabname ) || Char( name );
Show( names );
Show( Spuds );
Ainim = Regex( names, "\!"", "", GLOBALREPLACE );
Show( Ainim );
link = Char(cats);
//Scripts are generated in 2 table columns "Address Data Table" and "Group with Notes and Spec Limits" before being pasted into a Script Window.
New Column( "Address Data Table",
Character,
"Nominal",
Formula(
If( Row() == 1,
"dt=Current Data Table();
Process_Script = " || "\!"" || Ainim || "\!"" || "; Show( Process_Script );
cats = " || link || "; Show( Process_Script );"
)
)
);
Column( "Address Data Table" ) << Delete Formula;For( l = Num(Start), l <= N Items( cnmes2 ), l++,
summarize(cats=by(cnmes2 [l] ));
delcats = {"", "-"};
For( i = 1, i <= N Items( delcats ), i++,
Remove From( cats, As List( Loc( cats, delcats[i] ) ) )
);
show(cats);