Salve, mi chiedevo se questo è possibile fare per scrivere uno script per un'analisi simile a quella qui sotto? In una colonna ("Mese"), ho tutti i 12 mesi dell'anno (da gennaio a dicembre), con ogni mese con più righe nella stessa colonna. Nella colonna successiva ("Condizione"), c'è una condizione per quel mese, "A" o "B". In una terza colonna ("Risultato"), voglio scrivere una formula che analizzi la colonna "Condizione", dove se il valore è "A", la colonna "Risultato" avrà il risultato di "Buono", e se il il valore è "B", il risultato sarà "Cattivo". Tuttavia, anche se una riga di un determinato mese ha un risultato "B", voglio che tutte le righe di quel mese abbiano il risultato "Cattivo". È un po' difficile da spiegare nel testo, quindi ho un esempio qui sotto.

Ci sono molti modi per farlo, specialmente con gli script.
L'esempio seguente dovrebbe funzionare (potrebbe essere una buona idea dividere la formula in parti più piccole e dare un'occhiata alla Guida agli script per capire cosa sta succedendo (in particolare la funzione 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"
);
)
);Ho anche allegato un datatable di esempio con la formula inclusa.
Grazie per la risposta rapida. Sfortunatamente, l'esempio che ho dato è stato quello di rendere l'idea. Per i miei set di dati effettivi con cui lavorerò, la colonna simile al valore "Mese" verrà randomizzata, quindi non sarò in grado di codificare i valori.