J'ai une table de données de processus comprenant l'horodatage de début et l'horodatage de fin. Je voudrais que la durée du processus soit calculée à partir des horodatages, puis que des lignes supplémentaires soient ajoutées. Les valeurs de colonne de l'horodatage de début sont ajoutées en augmentant le temps d'une minute jusqu'à ce que l'heure de fin soit atteinte. Toutes les autres valeurs du tableau doivent simplement être copiées sur la ligne suivante.


À quoi ressemblent vos données de départ (je suppose que l’image provient du résultat final) ?
Modifier : l'autre image se charge un peu plus lentement
Voici une option qui pourrait fonctionner. Elle crée une nouvelle table au lieu d'ajouter des lignes à la table existante
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);
);
);
Commencer

Fin

@jthi Je viens de le tester avec les données réelles et cela fonctionne très bien. Merci, c'est exactement ce que je voulais avoir.