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. Wenn der Wert „A“ ist, hat die Spalte „Ergebnis“ das Ergebnis „Gut“. Wenn der Wert „B“ ist, lautet das Ergebnis „Schlecht“. Aber selbst wenn eine Zeile eines bestimmten Monats das Ergebnis „B“ hat, möchte ich, dass alle Zeilen dieses Monats das Ergebnis „Schlecht“ haben. Es ist etwas schwierig, es im Text zu erklären, deshalb habe ich unten ein Beispiel.

Ich weiß nicht, wie ich meinen Beitrag und meine Antwort bearbeiten kann. Es tut mir leid, dass ich die ursprüngliche Ausgabe zu stark vereinfacht und den falschen Eindruck vermittelt habe. Für den eigentlichen Datensatz ist die Spalte ähnlich wie „Monat“ jedoch eine zufällige Mischung aus Zahlen und Buchstaben.
Danke für die schnelle Antwort. Leider diente das Beispiel, das ich gegeben habe, dazu, die Idee zu vermitteln. Für meine tatsächlichen Datensätze, mit denen ich arbeiten werde, wird die Spalte, die dem Wert „Monat“ ähnelt, zufällig ausgewählt, sodass ich die Werte nicht fest codieren kann.
Es gibt viele Möglichkeiten, dies zu tun, insbesondere mit Skripten.
Das folgende Beispiel sollte funktionieren (Vielleicht wäre es eine gute Idee, die Formel in kleinere Teile aufzuteilen und einen Blick in die Skriptanleitung 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.