Funzione definita dall'utente: come passare il valore della variabile di output a un'altra variabileCiao, sto creando un codice che convalida l'input dell'utente. L'input dell'utente sono due liste, B e C. L'output è la lista A, che contiene tutti gli elementi contenuti sia in B che in C. Ecco il codice:
//CHECK IF USER INPUT MAKES SENSE
Caption("Checking input data...");
col_name_list = dt << get column names( string );
//Check if there are duplicate or missing inputs
//Create a User-Defined Function
ColCheck=Function({main, second}, {duplicate},
(duplicate={}; Show (duplicate);
For (i=1, i<=Nitems(main), i++,
//Check if there are missing columns from user input
If ( !Contains( col_name_list, main[i] ),
Write("WARNING! Column " || main[i] ||" does not exists. Creating data column.");
Caption("WARNING! Column " || main[i] ||" does not exists. Creating data column.");
Wait( 1 );
script1 = "dt<<NEW column=""></NEW>Ecco l'output:
A = {};
duplicate = {};
duplicate = {"two"};
duplicate = {"two", "three"};
A = .;La funzione funziona, come si vede dai valori della variabile "duplicata".Il problema è questo: il contenuto duplicato non può essere passato alla variabile "A". C'è qualcosa che non va nel mio codice?
Ri: Funzione definita dall'utente: come passare il valore della variabile di output a un'altra variabileGrazie Jim. Sta lavorando adesso.
Migliore,
Shaira
Ri: Funzione definita dall'utente: come passare il valore della variabile di output a un'altra variabileCiò che viene restituito da una funzione o da un formato JMP è l'ultimo valore elaborato, quindi se aggiungi "duplicato" come ultimo elemento, funziona alla grande.
ColCheck = Function( {main, second},
{duplicate},
duplicate = {};
Show( duplicate );
For( i = 1, i <= N Items( main ), i++,
//Check if there are missing columns from user input
If( !Contains( col_name_list, main[i] ),
Write( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
Caption( "WARNING! Column " || main[i] || " does not exists. Creating data column." );
Wait( 1 );
script1 = "dt<<NEW column=""></NEW>