Fügen Sie Daten aus vorherigen Spalten hinzu, falls diese fehlenHallo,
Ich versuche, eine Spalte mit dem letzten verfügbaren Datum in meinem Datensatz zu erstellen. Wenn also in diesem Fall ein Datum von Besuch 19 fehlt, erhalte ich das Datum von Besuch 18. Das kann ich machen. Aber wenn das Datum von Besuch 18 fehlt, kann ich es nicht mehr zum Laufen bringen. Wie starte ich jmp in einer Spalte und gehe zurück, bis es ein Datum gibt?
Br Julie
Betreff: Hinzufügen von Daten aus vorherigen Spalten, falls diese fehlenSie verwerfen die If (isMissing (-Klausel einfach vollständig, wenn Sie möchten. Es ändert sich nichts, solange in der Spalte "Zuletzt gesehen" alle fehlenden Werte enthalten sind
Betreff: Hinzufügen von Daten aus vorherigen Spalten, falls diese fehlenOk - das macht Sinn. Beim Ausführen des Skripts werden der neuen Spalte jedoch keine Werte hinzugefügt.
Sollte das nicht " Wird vermisst "Aussage Punkt zu Spalte 19? Oder fehle ich etwas?
Betreff: Hinzufügen von Daten aus vorherigen Spalten, falls diese fehlenMein Fehler am i = 5. Ich habe damit getestet ... Ich habe es auf i = 1 geändert.
Wenn Sie eine neue Spalte möchten, können Sie sie einfach als 20. Spalte hinzufügen und das zweite Skript verwenden.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column("Last Date Seen",format("yyyy-mm-dd",12));
For( i = 1, i <= N Rows( dt ), i++,
If( Is Missing( As Column( "Last Date Seen" )[i] ),
Column( "Last Date Seen" )[i] = Max( dt[i, 0] )
)
);Betreff: Hinzufügen von Daten aus vorherigen Spalten, falls diese fehlenFüllen Sie einfach die letzte Spalte mit dem neuesten Datum aus, anstatt eine neue Spalte zu erstellen.
Auch im ersten Beispiel, warum ist es "i = 5 "?
Danke im Voraus
Betreff: Hinzufügen von Daten aus vorherigen Spalten, falls diese fehlenHier sind zwei Möglichkeiten, dies zu tun
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Cols( dt ), i++,
missingRows = dt << get rows where( Is Missing( As Column( i ) ) );
If( N Rows( missingRows ) > 0,
For( k = 1, k <= N Rows( missingRows ), k++,
Column( i )[missingRows[k]] = Column( i - 1 )[missingRows[k]]
)
);
);
Names Default To Here( 1 );
dt = Current Data Table();
For( i = 1, i <= N Rows( dt ), i++,
If( Is Missing( As Column( 19 )[i] ),
Column( 19 )[i] = Max( dt[i, 0] )
)
);
Betreff: Hinzufügen von Daten aus vorherigen Spalten, falls diese fehlenWenn Sie mit der Iteration ab der ersten Zeile beginnen, sollten Sie in der Lage sein, ein fehlendes Datum mit dem vorherigen Datum zu füllen, während Sie die Tabelle durchlaufen. Es scheint mir einfach zu sein, aber ich hätte vielleicht einen wichtigen Punkt übersehen.