Excel power 查询中的时间序列数据。我希望返回前一天的值
Posted
技术标签:
【中文标题】Excel power 查询中的时间序列数据。我希望返回前一天的值【英文标题】:Time series data in Excel power query. I wish to return a value from the previous day 【发布时间】:2021-08-05 04:11:15 【问题描述】:我有时间序列数据正在通过电源查询导入到 Excel 表中。 数据是多个进程的每日数据,这些进程被标识为正在运行或未运行。因此,我的数据告诉我进程是否正在运行 - 但是我希望确定进程是否昨天正在运行。
其实。具体来说,我希望确定每天关闭的进程(即昨天正在运行但今天没有)和每天重新启动的进程(即昨天没有运行但今天正在运行)。有了这个在 excel 表中(从 powerquery 返回),我可以在 excel 中显示今天(或本周或本月)关闭的进程和今天(或本周或本月)重新启动的进程。
我希望这是有道理的。以下是示例数据。我是澳大利亚人,所以我的日期是 d/m/yyyy。为了清楚起见,我只展示了两个流程,但我的数据有数百个,所以我希望有一个通用的解决方案。
您可以在下面看到 aaa 在 2020 年 3 月 1 日下线,并在 2020 年 6 月 1 日重新上线。 bbb 于 2020 年 4 月 1 日下线,并于 2020 年 5 月 1 日回来。我想创建一个标识该事实的列。在excel中这很容易。我将创建一个名为 isOnlineYesterday 的虚拟列,将进程与日期连接起来,然后创建 index(isonline,match(procecss+(date-1),isOnlineYesterday,0))。但是我希望在 powerquery 中执行此操作。
我希望我的问题很清楚。谢谢你的聪明。
Date Process IsOnline
1/1/2020 aaa true
1/1/2020 bbb true
2/1/2020 aaa true
2/1/2020 bbb true
3/1/2020 aaa false
3/1/2020 bbb true
4/1/2020 aaa false
4/1/2020 bbb false
5/1/2020 aaa false
5/1/2020 bbb true
6/1/2020 aaa true
6/1/2020 bbb true
【问题讨论】:
【参考方案1】:最简单的方法是添加一个返回 date-1 的自定义列
= Date.AddDays([Date],-1)
然后合并表本身,匹配昨天日期和进程进程
将 IsOnline 列展开为 IsOnlineYesterday
然后,您可以将 IsOnline 与 IsOnlineYest 进行比较,以使用另一个自定义列做任何您想做的事情
示例代码
let Source = Excel.CurrentWorkbook()[Name="Table1"][Content],
#"Changed Type" = Table.TransformColumnTypes(Source,"Date", type date, "Process", type text, "IsOnline", type logical),
#"Added Custom" = Table.AddColumn(#"Changed Type", "yesterday", each Date.AddDays([Date],-1), type date),
#"Merged Queries" = Table.NestedJoin(#"Added Custom","Process", "yesterday",#"Added Custom","Process", "Date","Added Custom",JoinKind.LeftOuter),
#"Expanded Added Custom" = Table.ExpandTableColumn(#"Merged Queries", "Added Custom", "IsOnline", "IsOnlineYest"),
#"Removed Columns" = Table.RemoveColumns(#"Expanded Added Custom","yesterday")
in #"Removed Columns"
【讨论】:
以上是关于Excel power 查询中的时间序列数据。我希望返回前一天的值的主要内容,如果未能解决你的问题,请参考以下文章
通过 Power Query 在 Excel 中的 Smartsheet 数据
从 Excel 数据模型/Power Query 查询单个数据点(获取和转换数据)
Excel 2016 Power Query - 从 Oracle 数据字典中获取数据
Excel Power Query:工序产出数据的整合与提取