Ri: Applicazione di un elenco a più colonneCiao @sagrim ,
Penso che tu sia sulla buona strada, solo un leggero errore di codifica nell'istruzione "If". Nel tuo esempio specifico, penso che dovrebbe essere:
new column ("Org-Approved Certification", Numeric, Nominal) << Formula(
If( Contains (mylist, :"ONE_LICENSE_CODE") | If( Contains (mylist, :"TWO_LICENSE_CODE")), 1, 0
)
); Quindi, in generale, vuoi che sia:
If (A | B | C, quindi, altro), ma ce l'hai più simile: If (A, quindi, altro | B, quindi, altro), che non è il modo giusto per chiamare la funzione If.
Ho creato una tabella dati finta che penso possa essere come la struttura con cui stai lavorando - vedi file allegato. Inoltre, ho scritto il seguente script che applica la formula alla certificazione approvata dall'organizzazione. Credo che funzioni come previsto - lo spero!
names default to here(1);
mylist={"cert1", "cert2", "cert3","cert4", "cert5", "cert6"};
dt=current data table();
dt:Name("Org-App Cert")<<FORMULA></FORMULA>Spero che sia di aiuto!,
DS
Applicazione di un elenco a più colonneHo un lungo elenco di acronimi di certificazione memorizzati come "mylist". Sono semplicemente interessato a creare una variabile binaria per indicare se ogni persona dello staff possiede una certificazione il cui acronimo appare compare nell'elenco sì / no. Se applico l'elenco a una colonna, il codice funziona alla grande.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If( Contains( mylist, :"ONE_LICENSE_CODE" ),
1,
0
)
);
Tuttavia, se voglio applicare l'elenco a più colonne contemporaneamente, il codice viene eseguito senza errori ma non produce il valore corretto. Ho 10 colonne ognuna delle quali potrebbe contenere l'acronimo, quindi ho bisogno di controllare tutte le 10 colonne per gli acronimi nell'elenco.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If(
Contains( mylist, :"ONE_LICENSE_CODE" ), 1,
0 | If( Contains( mylist, :"TWO_LICENSE_CODE" )
), 1,
0
)
);
C'è un modo per puntare a più colonne contemporaneamente quando si applica l'elenco?
Grazie!
Ri: Applicazione di un elenco a più colonneFunziona perfettamente. Grazie per aver dedicato del tempo a spiegare dove stavo sbagliando. Questo mi ha aiutato molto:
"If (A | B | C, quindi, altro), ma ce l'hai più simile: If (A, quindi, altro | B, quindi, altro), che non è il modo giusto per chiamare la funzione If."
Ri: Applicazione di un elenco a più colonneGrande! Sono contento che abbia funzionato e aiutato.