我有一個流程資料表,包括開始時間戳記和結束時間戳記。我希望根據時間戳記計算該過程的持續時間,然後添加額外的行。表中的所有其他值應複製到下一行。


你的起始數據是什麼樣的(我假設圖像來自最終結果)?
編輯:其他圖片載入速度稍慢
這是一種可能有效的選擇。它確實創建一個新表,而不是向現有表添加行
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(2),
Compress File When Saved(1),
New Column("S", Character, "Nominal", Set Values({"A1", "A2"})),
New Column("Start",
Numeric,
"Continuous",
Format("d/m/y h:m:s", 22, 0),
Input Format("d/m/y h:m:s", 0),
Set Values([3661768800, 3661769400])
),
New Column("End",
Numeric,
"Continuous",
Format("d/m/y h:m:s", 22, 0),
Input Format("d/m/y h:m:s", 0),
Set Values([3661768980, 3661769700])
),
New Column("Data", Character, "Nominal", Set Values({"A", "B"}))
);
dt_new = dt << Clone;
dt_new << Delete Rows(1::NRows(dt_new));
For Each Row(dt,
For(i = 0, i <= Date Difference(:Start, :End, "minute"), i++,
dt_new << Add Rows(1);
dt_new[N Rows(dt_new), 0] = dt[Row(), 0];
dt_new[N Rows(dt_new), "Start"] = Date Increment(:Start, "minute", i);
);
);
開始

結尾

@jthi我剛剛用真實數據測試了它,效果非常好。謝謝,這正是我想要的。