Re: Aplicar una lista a múltiples columnasHola @sagrim ,
Creo que estás en el camino correcto, solo una ligera codificación errónea en la declaración "If". En su ejemplo específico, creo que debería ser:
new column ("Org-Approved Certification", Numeric, Nominal) << Formula(
If( Contains (mylist, :"ONE_LICENSE_CODE") | If( Contains (mylist, :"TWO_LICENSE_CODE")), 1, 0
)
); Entonces, en general, quieres que sea:
If (A | B | C, then, else), pero lo tenía más como: If (A, then, else | B, then, else), que no es la forma correcta de llamar a la función If.
Hice una tabla de datos simulada que creo que podría ser como la estructura con la que está trabajando, vea el archivo adjunto. Además, escribí el siguiente script que aplica la fórmula a la certificación aprobada por la organización. Creo que esto funciona como pretendías, ¡eso espero!
names default to here(1);
mylist={"cert1", "cert2", "cert3","cert4", "cert5", "cert6"};
dt=current data table();
dt:Name("Org-App Cert")<<FORMULA></FORMULA>¡Espero que esto ayude!,
DS
Aplicar una lista a varias columnasTengo una larga lista de acrónimos de certificación almacenados como "mylist". Simplemente estoy interesado en crear una variable binaria para representar si cada miembro del personal posee una certificación cuyo acrónimo aparece en la lista sí / no. Si aplico la lista a una columna, el código funciona muy bien.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If( Contains( mylist, :"ONE_LICENSE_CODE" ),
1,
0
)
);
Sin embargo, si quiero aplicar la lista a varias columnas a la vez, el código se ejecuta sin error pero no produce el valor correcto. Tengo 10 columnas, cualquiera de las cuales podría contener el acrónimo, por lo que debo verificar las 10 columnas para ver los acrónimos en la lista.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If(
Contains( mylist, :"ONE_LICENSE_CODE" ), 1,
0 | If( Contains( mylist, :"TWO_LICENSE_CODE" )
), 1,
0
)
);
¿Hay alguna manera de señalar múltiples columnas a la vez al aplicar la lista?
¡Gracias!
Re: Aplicar una lista a múltiples columnasEsto funciona perfectamente Gracias por tomarse el tiempo para explicar dónde me estaba yendo mal. Esto me ayudó mucho:
"If (A | B | C, then, else), pero lo tenía más como: If (A, then, else | B, then, else), que no es la forma correcta de llamar a la función If".
Re: Aplicar una lista a múltiples columnas¡Excelente! Me alegro de que funcionó y ayudó.