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

如何使用PowerQuery访问与PowerQuery关联的元数据? 当您将鼠标hover在右侧“工作簿查询”列表的查询上时,会显示此数据,显示“上次刷新”等字段。

应用程序:我有一个Excel工作簿,汇集了来自不同来源的几十个input文件,然后由其他下游工作簿使用。 我想创build的是这个input工作簿中的一个表格,用于在工作簿中显示每个input表的Power Query的元数据,例如表格最后刷新的时间,具有多less条logging等等,用于validation目的。 例如,如果我知道某个文件预计只有64条logging,则只要遇到更多或更less的logging,就可以标记该文件。

我已经广泛search,包括众多的博客,技术委员会,amazon.com和以下内容:

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

Power Query(非正式地称为“M”)公式参考 : https : //msdn.microsoft.com/en-us/library/mt211003.aspx

8/31/2016更新 :似乎以编程方式访问Power Query元数据的function尚不存在。 我希望最终能够得到Power Query表的派克类似于Excel中的PivotTable.RefreshDate属性。 (对于链接表也有这个属性也是很好的。)我已经解决的变通方法是沿着向每个Power Query添加一列的方式,如下所示:

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

然后,我可以从表中的任何logging的字段RefreshDate中检索查询表的刷新date。 我用这种方法的困难是增加了计算时间和文件大小。

要查找input表中有多less条logging,是否尝试导入excel文件并查看表的行数?

数据>获取和转换>新查询>从文件>从工作簿将给你一个如何使用Excel.Workbook库函数的例子。


另一方面,我不知道对excel工作簿中上次刷新细节的支持。

我将.XLSX重命名为.ZIP,在xl\connections.xml有一个包含一些元数据的Microsoft.Mashup.OleDb.1数据连接,但似乎没有任何“最后刷新”时间。

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