我做了以下查询,但我想将日期更改为变量,该变量相对于当前时间而变化。 因此,如果我在某个时刻调用 API,我需要当前时间(例如 24 小时前)的数据。 这可能吗?
提前谢谢大家! :)
let
Source = Json.Document(Web.Contents("SOMEURL&fromDate=2024-11-18+16%3A42%3A01&toDate=2024-11-18+18%3A42%3A01&fields=",
[Timeout=#duration(0, 0, 12, 0),
Headers=[Authorization="Bearer API TOKEN",
Accept="application/json"]])),
JsonResponse = Json.Document(Source),
Data = JsonResponse,
Table = Table.FromRecords(Data)
in
Table
也许:
let
To = DateTime.ToText(DateTime.FixedLocalNow(),"yyyy-MM-dd+hh\%3Amm\%3Ass"),
From = Text.ReplaceRange(To,8,2,Number.ToText(Number.From(Text.Range(To,8,2)) - 1,"00")),
URL = "SOMEURL&fromDate=" & From & "&toDate=" & To & "fields=",
Source = Json.Document(Web.Contents(URL,
[Timeout=#duration(0, 0, 12, 0),
Headers=[Authorization="Bearer API TOKEN",
Accept="application/json"]])),
JsonResponse = Json.Document(Source),
Data = JsonResponse,
Table = Table.FromRecords(Data)
in
Table
请注意,我们使用基于文本的数学来转换第二次时间,以便不必处理对
DateTime.FixedLocalNow()
函数的不同调用之间的任何时间差。尽管差异可能只有几分之一秒,但如果差异落在从一秒到下一秒的过渡上,则可能会导致返回不同的时间。