這是怎麼回事?
let
src = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwNNM1MAQiBQMDKwNDKwMjJR2lRKVYHSQ5IwVDoBxIGiiXhC5nZGxlYgqUBsolK8XGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Time = _t, Value = _t]),
ch_type = Table.TransformColumnTypes(src,{{"Time", type datetime}}),
StartOfHour = Table.AddColumn(ch_type, "StartOfHour", each Time.StartOfHour([Time])),
i = Table.AddIndexColumn(StartOfHour, "i", 1, 1),
j = Table.AddIndexColumn(i, "j", 0, 1),
join = Table.NestedJoin(j,{"i"},j,{"j"},"NewColumn",JoinKind.LeftOuter),
t_expand = Table.ExpandTableColumn(join, "NewColumn", {"StartOfHour"}, {"NewColumn.StartOfHour"}),
dur = Table.AddColumn(t_expand, "StartOfHour_diff", each if [NewColumn.StartOfHour] is null then {[StartOfHour]} else List.Transform({0..Duration.Hours([NewColumn.StartOfHour]-[StartOfHour])-1}, (l)=>[StartOfHour]+#duration(0,l,0,0))),
del = Table.RemoveColumns(dur,{"Time", "StartOfHour", "i", "j", "NewColumn.StartOfHour"}),
l_expand = Table.ExpandListColumn(del, "StartOfHour_diff"),
rename = Table.RenameColumns(l_expand,{{"StartOfHour_diff", "Time"}}),
reorder = Table.ReorderColumns(rename,{"Time", "Value"})
in
reorder
不爲我工作 - 產出表中沒有遞增小時。 –
@ByronRoss,我已經更新了我的答案,查看它 –