【发布时间】:2021-02-02 16:24:19
【问题描述】:
此处为 Power BI 初级
如何从 SharePoint 列表中查看每个 Excel 文件并从预定义的单元格中提取内容。
我目前正在访问一些包含 .xlsx 文件的 Intranet Sharepoint 库,并且我正在使用这些文件的元数据进行一些报告。例如,一个库包含 10 个 excel 文件,因此我可以绘制出上传者、上传时间以及分配到的 wat 类别的图表...
但是,Power Query 有没有办法查看每个文件,从 Excel 的单元格 A1 中获取值,然后将其添加为新列“CellA1Content”?即,根据文件内容制作您自己的元数据,并将它们添加到导入的元数据表中。
我发现了一些我可能需要的功能:
File.Contents
Excel.CurrentWorkbook
但是,如果可能的话,我对 Power Query 的了解还不够,无法将它们组合在一起。我将不得不进行某种类型的 foreach 操作。
编辑:解决方案
这行得通。我在 excel 中选择了第一个非隐藏工作表,并且我还制作了函数,以便我可以传递列号和行号。
主要查询:
let
Source = SharePoint.Contents("http://mysharepoint", [Implementation=null, ApiVersion=15]),
... ... ...
//Open each excel and get cell D5
#"AddedColumn1" = Table.AddColumn(#"Filtered Rows", "AddedColumn1", each GetCellContent([Content],4,5))
in
AddedColumn1
Power BI 中的空白查询,称为 GetCellContent:
let
Source = (binaryParameter,col,row) => let
Source = Excel.Workbook(binaryParameter, null, false),
UnhiddenSheets = Table.SelectRows(Source, each if [Hidden]=false and [Kind]="Sheet" then true else false),
Sheet = UnhiddenSheets{0}[Data],
Column = Table.SelectColumns(Sheet,{Text.Combine({"Column",Number.ToText(col)})}),
Cell = Record.Field(Column{row-1}, Text.Combine({"Column",Number.ToText(col)}) )
in
Cell
in
Source
【问题讨论】:
标签: sharepoint powerbi powerquery