<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich versuche, ein Skript zu schreiben, das Zeilen nach Gruppen vergleicht, habe aber Schwierigkeiten, herauszufinden, wie das geht In der folgenden Tabelle versuche ich, Zeilen auszuwählen, die beide der folgenden Bedingungen innerhalb einer Gruppe erfüllen (z. B. nach Spalte „Betreffnummer“):
- Der Wert in der Spalte „Ziel # Tage vom Vorherigen“ ist größer als die Zeile mit einem Wert von Null (im Beispiel unten haben die hervorgehobenen Zeilen 71 bis 82 Werte, die größer als der Wert für Zeile 83 sind).
- Der Wert in der Spalte „Besuchssequenz“ ist kleiner als der Wert in dieser Spalte für die Zeile, in der „Target # Days from Previous“ gleich Null ist (im Beispiel unten haben die hervorgehobenen Zeilen 71 bis 82 Werte, die kleiner als der Wert für Zeile 83 sind).
Im Grunde versuche ich, Zeilen innerhalb einer Gruppe mit einer anderen Zeile innerhalb derselben Gruppe zu vergleichen und dies für die gesamte Tabelle zu tun.Weiß jemand, wie ich das machen kann?

Danke,
Christine
Ein anderer Ansatz besteht darin, einfach eine neue Variable zu erstellen und nach den gewünschten Gruppen neu zu kodieren.
Christine,
Hier ist ein Skript, das das tut, was Sie verlangen.Ich habe es anhand des kleinen Datenausschnitts getestet, den Sie bereitgestellt haben, und es scheint, dass es das erreicht, was Sie wollen.
Namen standardmäßig hier ( 1 ) ;
dt = Aktuelle Datentabelle () ;
// Eine neue Spalte erstellen, um gefundene Gruppen zu verfolgen
dt << Neue Spalte ( "Gruppierung" , jeden Wert festlegen( . ) ) ;
countGroup = 0 ;
// Alle Daten schrittweise durchgehen
Für ( ich = 1 , ich <= N Zeilen (dt) - 1 , ich ++,
// Schauen Sie nach vorne, um zu sehen, ob die Triggerkriterien erfüllt sind
// und wenn ja, dann rückwärts lesen, bis es fehlschlägt
Wenn ( dt : Name ( „Ziel # Tage vom Vorherigen“ ) > dt : Name ( „Ziel # Tage vom Vorherigen“ )[ich + 1 ] & dt : Besuchssequenz < dt : Besuchssequenz[i + 1 ] ,
// Trigger wurde gefunden, also rückwärts lesen, bis nichts wahr ist
countGroup ++;
vergleichenStart = ich ;
Während ( dt : Name ( „Ziel # Tage vom Vorherigen“ )[compareStart] > dt : Name ( „Ziel # Tage vom Vorherigen“ )[ich + 1 ] & dt : Besuchssequenz[ vergleichenStart] < dt : Besuchssequenz[i + 1 ] ,
dt : Gruppierung[compareStart] = countGroup ;
Ausgewählt ( Zeilenstatus (vergleicheStart)) = 1 ;
vergleichenStart --;
) ;
)
) ;
Ich bin mir nicht sicher, ob ich verstanden habe, wonach Sie suchen.
Dürfen ' Ziel # Tage vom Vorherigen ' eine ganze Zahl kleiner als Null sein? Wenn nicht, erfüllen dann nicht alle Zeilen für ein bestimmtes Thema außer einer Ihre erste Bedingung?
Vielleicht kannst du eine Tabelle mit posten Die drei Spalten, die Sie bearbeiten müssen (Betreff, Ziel und Besuchsreihenfolge? Verwenden Sie den „Erweiterten Editor“ und dann „Anhängen“.