Re: Come eseguire una parte di script o includere uno script in base a una condizioneCredo che il problema che stai riscontrando sia nel tentativo di passare l'istruzione If() alla tabella dei dati.Quello che dovrebbe funzionare è
dt = Data Table( "Data" );
If ( PRODUCT == "A", include("C:\....\Script1.jsl"), include("C:\....\Script2.jsl"), );Re: Come eseguire una parte di script o includere uno script in base a una condizioneCiao Nelson,
Ho provato anche quello. Anche questo non funziona.
Re: Come eseguire una parte di script o includere uno script in base a una condizionePenso che potremmo aver bisogno di un po' più di informazioni su cosa stai cercando di fare e quali sono le parti "esterne". Include() e le espressioni dovrebbero funzionare entrambe bene se stai solo eseguendo parti di codice.
Names Default To Here(1);
exprA = Expr(Show("A"));
exprB = Expr(Show("B"));
PRODUCT = "B";
If(PRODUCT == "A",
exprA;
,
exprB;
);Re: Come eseguire una parte di script o includere uno script in base a una condizioneHo eseguito questo codice senza errori
Names Default To Here( 1 );
b = 1;
If( b == 1,
Include( "path to one of the includes" ),
Include( "path to the second include" )
);
Il primo codice di inclusione era
a=1;
show(a);
Il secondo codice di inclusione era:
a=2;
show(a);
e ha funzionato come previsto
Come @jthi ha suggerito che probabilmente è necessario fornire ulteriori informazioni sulle inclusioni.
Ri: Come eseguire una parte dello script o includere uno script in base a una condizioneCiao @txnelson e @jthi ,
In realtà entrambi i tuoi codici funzionano bene (e infatti funziona anche il mio modo). Il problema riguardava la sessione JMP.Dopo qualche altro tentativo, il mio JMP si è bloccato e ho rinunciato. Oggi dopo aver riavviato JMP, lo stesso codice funziona correttamente. Credo che potrebbe trattarsi dello stesso problema di memoria/cache/percorso/variabili con la sessione JMP. Una volta riavviato, ha funzionato bene.
Sono davvero grato per il vostro supporto.
Posteriori, HSS
Ri: Come eseguire una parte dello script o includere uno script in base a una condizioneSuccede di tanto in tanto. Se non lo sei già, ti suggerisco di iniziare tutti i tuoi script con
Names Default To Here(1);
Ti fornirà una certa protezione contro le collisioni nello spazio dei nomi. Questo collegamento è abbastanza utile per quanto riguarda i nomi predefiniti per qui (1) (ci sono più pagine) Guida allo scripting > Metodi di programmazione > Scoping avanzato e spazi dei nomi (jmp.com)
Ri: Come eseguire una parte dello script o includere uno script in base a una condizioneGrazie Jarmo,
Ho imparato ad usare
Names Default To Here(1);
di Nelson ( @txnelson ) qualche anno fa e lo uso. Darò di nuovo un'occhiata alle linee guida.
Grazie ragazzi.
Come eseguire una parte dello script o includere uno script in base a una condizioneCiao a tutti,
Sto cercando di eseguire una parte di uno script in base alla condizione su una colonna. Se tale condizione fallisce, dovrebbe eseguire un'altra parte dello script o includere un altro script.
Sembra molto semplice ma non sono in grado di farlo. Ho seguito due approcci: utilizzare la funzione "include" per chiamare uno script e la funzione "Expr" per chiamare una parte del codice. Nessuno funziona. Qualche aiuto qui?
1° Approccio -
dt = Data Table( "Data" ) << If ( PRODUCT == "A", include("C:\....\Script1.jsl"), include("C:\....\Script2.jsl"), );
Questo non funziona mentre entrambi gli script 1 e 2 funzionano in modo indipendente.
Il 2° Approccio è simile al 1° ma usando "Expr", il modo menzionato in - Codice di sezionamento o segmentazione in JSL
Grazie molto,
Automazione e scripting