Script di databaseCiao a tutti,
Sto cercando di automatizzare alcune modifiche in una tabella dati per poter effettuare delle analisi.
Nella mia tabella dati ho le colonne Rif, % e % AGGIORNATE e da uno script vorrei creare le colonne A, B, ...., J:

Indica la colonna A:
- ripresa per la riga di riferimento A (riga 1): i dati dalla colonna % AGGIORNATO
- riprendere per le altre righe: i dati della colonna %
Nel mio database iniziale ho circa 100 righe distinte nella colonna Ref, ecco perché non utilizzo direttamente una formula "If" per creare le mie 100 nuove colonne.
Troverete i database allegati.
Grazie per l'aiuto.
Automazione e scriptingRe: Script del databaseAd esempio, puoi dividere la tua tabella

, quindi compila i dati mancanti in base alla colonna % e infine aggiorna i valori alla tabella originale. Esistono molti modi per effettuare questo riempimento, un'opzione è tramite JSL e l'indicizzazione della tabella dati.
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);
