DatenbankskripteHallo zusammen,
Ich versuche, einige Änderungen in einer Datentabelle zu automatisieren, damit ich einige Analysen durchführen kann.
Ich habe die Spalten Referenz, % und % AKTUALISIERT in meiner Datentabelle und möchte aus einem Skript die Spalten A, B, ...., J erstellen:

Geben Sie Spalte A an:
- Fortsetzung für Zeile ref A (Zeile 1): die Daten aus der Spalte % AKTUALISIERT
- für die weiteren Zeilen gilt: die Daten aus der %-Spalte
In meiner ursprünglichen Datenbank habe ich etwa 100 verschiedene Zeilen in meiner Ref-Spalte. Deshalb verwende ich nicht direkt eine „Wenn“-Formel, um meine 100 neuen Spalten zu erstellen.
Die Datenbanken finden Sie im Anhang.
Ich danke Ihnen für Ihre Hilfe.
Automatisierung und SkriptingBetreff: DatenbankskripteSie können beispielsweise Ihren Tisch teilen

, füllen Sie dann die fehlenden Werte basierend auf der %-Spalte aus und aktualisieren Sie die Werte anschließend in Ihrer ursprünglichen Tabelle. Es gibt verschiedene Möglichkeiten, dies zu tun, beispielsweise über JSL und Datentabellen-Indizierung.
Names Default To Here(1);
dt = Datatable("BD");
dt_split = dt << Split(
Split By(:Ref),
Split(:"% UPDATED"n),
Group(:Ref, :"%"n),
Output Table("Split of BD by Ref"),
Sort by Column Property,
Invisible
);
cont_cols = dt_split << Get Column Names("String", "Continuous");
Remove From(cont_cols, 1); // drop %
perc_vals = dt_split[0, "%"];
For Each({cont_col}, cont_cols,
perc_vals_current = perc_vals;
non_missing = dt_split << Get Rows Where(!IsMissing(As Column(dt_split, cont_col)));
perc_vals_current[non_missing] = dt_split[non_missing, cont_col];
dt_split[0, cont_col] = perc_vals_current
);
dt << Update(
With(dt_split),
Match Columns(:Ref = :Ref),
Replace Columns in Main Table(None)
);
Close(dt_split, no save);
