使用Power Query检索Power Query表元数据(Excel 2016)

时间:2016-08-25 00:15:04

标签: excel metadata powerquery excel-2016 m

如何使用PowerQuery访问与PowerQuery相关联的元数据?当一个人悬停在右侧“工作簿查询”列表中的查询时,会显示此数据,显示“最后刷新”等字段。

应用程序:我有一个Excel工作簿,汇集了来自不同来源的数十个输入文件,然后由其他下游工作簿使用。我想要创建的是此输入工作簿中的一个表,它显示工作簿中每个输入表的Power Query的元数据,例如上次刷新表时,它有多少记录等,以进行验证。例如,如果我知道某个文件预计会有64条记录,那么无论何时遇到更多或更少的记录,我都可以标记。

我进行了广泛的搜索,包括众多博客,技术委员会,amazon.com以及以下内容:

Power Query简介(非正式称为“M”)公式语言https://msdn.microsoft.com/en-us/library/mt270235.aspx

电源查询(非正式名称为“M”)公式参考https://msdn.microsoft.com/en-us/library/mt211003.aspx

2016年8月31日更新:似乎尚不存在以编程方式访问Power Query元数据的功能。我希望最终能够在Power Query表中找到类似于Excel中的PivotTable.RefreshDate属性的东西。 (对于链接表来说,拥有该属性也是很好的。)我已解决的解决方法是按照以下方式为每个Power Query添加一列:

#"Added Refresh Date" = Table.AddColumn(Source, "RefreshDate", each DateTime.LocalNow())

然后,我可以从表中的任何记录中的字段RefreshDate中检索查询表的刷新日期。我对这种方法的困难在于它增加了计算时间和文件大小。

1 个答案:

答案 0 :(得分:1)

要查找输入表中有多少条记录,您是否尝试导入excel文件并查看表的行数?

数据>得到&变换>新查询>来自档案>从工作簿中将给出一个如何使用Excel.Workbook库函数的示例。

另一方面,我不知道对excel工作簿中的最后刷新细节有任何支持。

我将.XLSX重命名为.ZIP,并在xl\connections.xml内部有一个带有一些元数据的Microsoft.Mashup.OleDb.1数据连接,但似乎没有什么是“最后刷新”的时间。

您可以在包含工作簿文件的文件夹上使用Folder.Contents,并查看整个文件的Data Modified列,如果这足够了吗?