Hallo, ich habe mich gefragt, ob es möglich ist, ein Skript für eine Analyse ähnlich der folgenden zu schreiben? In einer Spalte ("Monat") habe ich alle 12 Monate des Jahres (Januar bis Dezember), wobei jeder Monat mehrere Zeilen in derselben Spalte hat. In der nächsten Spalte ("Bedingung") gibt es eine Bedingung für diesen Monat, entweder "A" oder "B". In einer dritten Spalte ("Ergebnis") möchte ich eine Formel schreiben, die die Spalte "Bedingung" analysiert, wobei, wenn der Wert "A" ist, die Spalte "Ergebnis" das Ergebnis "Gut" hat und wenn die Wert "B" ist, ist das Ergebnis "Schlecht". Aber selbst wenn eine Zeile eines bestimmten Monats ein "B"-Ergebnis hat, möchte ich, dass alle Zeilen dieses Monats das Ergebnis "Schlecht" haben. Es ist ein wenig schwierig, es im Text zu erklären, daher habe ich unten ein Beispiel.

Es gibt viele Möglichkeiten, dies zu tun, insbesondere beim Skripting.
Das folgende Beispiel sollte funktionieren (möglicherweise ist es eine gute Idee, die Formel in kleinere Teile aufzuteilen und einen Blick in die Scripting-Anleitung zu werfen, um zu verstehen, was vor sich geht (insbesondere die Loc()-Funktion)):
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"
);
)
);Ich habe auch eine Beispieldatentabelle mit der enthaltenen Formel angehängt.
Danke für die schnelle Antwort. Leider war das Beispiel, das ich gab, um die Idee zu vermitteln. Für meine tatsächlichen Datensätze, mit denen ich arbeite, wird die Spalte, die dem Wert "Monat" ähnelt, randomisiert, sodass ich die Werte nicht hart codieren kann.