大家好,
我正在嘗試自動執行資料表中的某些更改,以便我可以進行一些分析。
我的資料表中有列Ref、%和更新百分比 ,我想透過腳本建立列 A、B、....、J:

給出 A 列:
- 恢復行參考 A(第 1 行):來自 % UPDATED 欄位的數據
- 繼續其他行:來自 % 列的數據
在我的初始資料庫中,我的 Ref 列中有大約 100 個不同的行,這就是為什麼我不直接使用「If」公式來建立 100 個新欄位。
您將發現附加的資料庫。
感謝您的協助。
例如,你可以拆分桌子

,然後根據 % 欄位填入缺失值,最後將數值更新到原始表中。有很多方法可以完成這種填充,其中一種選擇是透過 JSL 和資料表下標
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);
