Hola, me preguntaba si esto es posible para escribir un script para un análisis similar al que se muestra a continuación. En una columna ("Mes"), tengo los 12 meses del año (de enero a diciembre), y cada mes tiene varias filas en la misma columna. En la siguiente columna ("Condición"), hay una condición para ese mes, ya sea "A" o "B". En una tercera columna ("Resultado"), quiero escribir una fórmula que analice la columna "Condición", donde si el valor es "A", la columna "Resultado" tendrá el resultado de "Bueno", y si el el valor es "B", el resultado será "Malo". Sin embargo, incluso si una fila de un mes determinado tiene un resultado "B", quiero que todas las filas de ese mes tengan el resultado de "Malo". Es un poco difícil de explicar en texto, así que tengo un ejemplo a continuación.

Hay muchas formas de hacer esto, especialmente con secuencias de comandos.
El siguiente ejemplo debería funcionar (podría ser una buena idea dividir la fórmula en partes más pequeñas y echar un vistazo a la Guía de secuencias de comandos para comprender qué está sucediendo (especialmente la función Loc ())):
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(20),
Compress File When Saved(1),
New Column("Month",
Character,
"Nominal",
Set Values(
{"Jan", "Jan", "Jan", "Jan", "Jan", "Feb", "Feb", "Feb", "Feb", "Feb",
"Mar", "Mar", "Mar", "Mar", "Mar", "Apr", "Apr", "Apr", "Apr", "Apr"}
)
),
New Column("Condition",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "B", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "B", "B", "A", "A", "A"}
)
)
);
dt << New Column("Result", Character, Nominal,
<< Formula(
If(Row() == 1,
monVals = :Month << Get As Matrix;
condVals = :Condition << Get As Matrix;
);
curMonthVals = Loc(monVals, :Month);
curCond = Loc(condVals[curMonthVals], "B");
If(N Items(curCond),
"Bad",
"Good"
);
)
);También adjunté una tabla de datos de ejemplo con la fórmula incluida.