FórmulaHola, estoy buscando construir una columna de prueba:

Del siguiente guión:
dt11 = current data table();<BR />
// Choisir colonnes commençant par employes
dur_cols = Filter Each( {col_name}, dt11 << Get Column Names( "String", Nominal ),
Starts With( col_name, "employes " )
);
// Nouvelle colonne
dt11 << New Column( "TEST EMPLOYES", Numeric, "Continuous", Format( "Best", 12 ) );
// Modifier la formule de colonne : TEST EMPLOYES
dt11:TEST EMPLOYES <<
Set Formula(
For( i = 1, i < n items(dur_cols), i++,
If(
(dur_cols[i] == dur_cols[i+1] | Is Missing( dur_cols[i+1] )),
:TEST EMPLOYES = 1
,
:TEST EMPLOYES = 0
)
)
);El objetivo es tener 0 o 1 en la columna EMPLEADOS DE PRUEBA dependiendo de las condiciones en el bucle if... En este momento no puedo crear la columna test employee con los valores 0 o 1.
gracias por su ayuda
Automatización y scriptingRe: Fórmula¿Cuáles son las condiciones en las que se debe agregar 1 o 0?
Re: FórmulaEmpiezo desde una columna de empleado, en la que hay varios campos rellenados, como por ejemplo "611 - 2000 - 300", puede haber más de 3 campos rellenados.
En mi script separo esta columna del separador "-", de modo que haya tantas columnas "empleado..." como campos en la primera columna "empleado".
Condición EMPLEADO DE PRUEBA = 1 :
Todas las columnas de empleados creadas son iguales o faltan valores
Condición EMPLEADO DE PRUEBA = 0 :
Se crearon diferentes datos en las columnas de empleados (no se tienen en cuenta cuando la columna está vacía)
Ejemplo 1:
Columna de empleados 1:300
Columna de empleados 2: 300
Columna de empleados 3: 500
EMPLEADO DE PRUEBA = 0
Ejemplo 2:
Columna de empleados 1:300
Columna de empleados 2: 300
Columna 3 del empleado:
EMPLEADO DE PRUEBA = 1
Re: FórmulaProbablemente sea más fácil realizar el cálculo desde la columna original.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column",
Character,
"Nominal",
Set Values({"1-1-3", "2-2-2", "3-3", ""})
),
New Column("Column 1", Character, "Nominal", Set Values({"1", "2", "3", ""})),
New Column("Column 2", Character, "Nominal", Set Values({"1", "2", "3", ""})),
New Column("Column 3", Character, "Nominal", Set Values({"3", "2", "", ""}))
);
dt << New Column("R", Numeric, Nominal, Formula(
res = Associative Array(Words(:Column , "-")) << get keys;
Remove From(res, Contains(res, "")); // remove missing value
N Items(res) == 1;
));

No estoy seguro de hasta qué punto se debe tener en cuenta la fila faltante; en este caso, se trata como 0, pero se puede cambiar a una modificando la comparación final.