Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hi,
I want to split the datetime columns range into multiple rows as shown below.
ID| punch_Start | punch_End
--------------------------------------------
A | 2019-03-04 23:18:00| 2019-03-04 23:21:00
--------------------------------------------
A | 2019-03-04 23:45:00| 2019-03-05 00:15:00
--------------------------------------------
Required Output-
ID| punch_Start | punch_End
--------------------------------------------
A | 2019-03-04 23:18:00| 2019-03-04 23:21:00
--------------------------------------------
A | 2019-03-04 23:45:00| 2019-03-04 23:59:00
--------------------------------------------
A | 2019-03-04 23:59:00| 2019-03-05 00:00:00
--------------------------------------------
A | 2019-03-05 00:00:00| 2019-03-05 00:15:14
Please let me know how can I achieve this.
Hi, @Vatz8
let
Source = your_last_step,
types = Table.TransformColumnTypes(Source,{{"punch_Start", type datetime}, {"punch_End", type datetime}}),
f = (lst as list) =>
[id = lst{0},
end = lst{2},
gen =
List.Buffer(
List.Generate(
() => lst{1},
(x) => x < end,
(x) =>
if DateTime.Time(x) = #time(23, 59, 00)
then x + #duration(0, 0, 1, 0)
else DateTime.From(DateTime.Date(x)) + #duration(0, 23, 59, 0)
)
),
dts = List.Zip({List.Repeat({id}, List.Count(gen)), gen, List.RemoveFirstN(gen, 1) & {end}})][dts],
rows = List.Buffer(Table.ToRows(types)),
txform_rows = List.Combine(List.Transform(rows, f)),
z = Table.FromRows(txform_rows, Table.ColumnNames(Source))
in
z
Please don't cross post your questions
Split Datetime range columns into multiple rows fo... - Microsoft Fabric Community
Thanks
Phil
Proud to be a Super User!
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
41 | |
24 | |
22 | |
20 | |
13 |
User | Count |
---|---|
159 | |
61 | |
59 | |
28 | |
20 |