powerquery - 遍历 Power Query 中列中的每个单元格
问题描述
我创建了一个名为 Table3 的表,其中包含两个名为 URL 的列,该列是空的,而 Value 则包含一个网站列表。以下查询从存储在表 3 中的网站中检索数据。
let
Parameter = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
URL= Parameter{1}[Value],
Source = Web.Page(Web.Contents(URL)),
Data0 = Source{0}[Data],
#"Changed Type" = Table.TransformColumnTypes(Data0,{{"Date", type date}, {"Open", type number}, {"High", type number}, {"Low", type number}, {"Close", type number}, {"Volume", type number}, {"Market Cap", type number}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Market Cap", "Open", "High", "Low"}),
#"Sorted Rows" = Table.Sort(#"Removed Columns",{{"Date", Order.Ascending}})
in
#"Sorted Rows"
第二行运行对 Value 列中第一个网站的查询。
是否可以引入一个循环来运行所有网站的查询?
如果不是,是否可以通过手动粘贴上述代码并更改每个网站括号中的数字来按顺序运行所有网站的查询?
如果有可能我假设它会将内容加载到同一张表中,有没有办法为每次迭代将内容加载到不同的表中?
感谢您阅读我的问题。
解决方案
循环在 Power Query 中并不是真正的东西,但你仍然可以做你想做的事。我不知道您从哪些 URL 中提取,所以让我举一个使用公开可用 URL 的示例。
假设我Table3
的如下:
URL
--------
https://finance.yahoo.com/quote/AAPL?p=AAPL
https://finance.yahoo.com/quote/AAPL?p=GOOG
我可以将它加载到查询编辑器中,并创建一个自定义列来读取每个 URL 的网页。
= Web.Page(Web.Contents([URL])){0}[Data]
(我想要的表是第一个(因此是{0}
行索引)并且在[Data]
列中。)
现在我有一个像这样的表格,底部表格是我选择的单元格的预览。
单击箭头图标以展开表格。
从这里您可以筛选Column1
以选择您感兴趣的值(比如说Ask
、Bid
、Open
和Volume
),然后旋转该列(变换 > 透视列)。选择Column2
作为值列并在高级选项下选择“不聚合”。
结果应该是您在数据透视对话框上方看到的表格。
这是高级编辑器中显示的查询的完整 M 代码
let
Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"URL", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Web.Page(Web.Contents([URL])){0}[Data]),
#"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Column1", "Column2"}, {"Column1", "Column2"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Custom", each ([Column1] = "Ask" or [Column1] = "Bid" or [Column1] = "Open" or [Column1] = "Volume")),
#"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Column1]), "Column1", "Column2")
in
#"Pivoted Column"
推荐阅读
- wordpress - 有没有办法在已完成的订单电子邮件模板中自动插入每个订单的发货跟踪号
- excel - 将任何日期添加到相应单元格时,如何编写公式以删除excel中单元格中的值
- python-3.x - 如何使用 tf.gather 从第一个轴切片值?
- c - GStreamer C 库在 Xubuntu 上无法正常工作
- java - 实施 Runnable 未显示正确结果
- r - 绘制变量是否唯一
- json - 如何将 JSON 对象中的字符串列表转换为 Spring Boot 中实体上的列表?
- r - 根据输出以不同长度分割折线
- xamarin - Xamarin iOS 实现 Gelf4Net
- google-apps-script - 如何修改使用 Google 表格中的脚本创建的选项卡中的单元格内容