如何使用PowerQuery访问与PowerQuery相关的元数据?当一个鼠标悬停在右侧“工作簿查询”列表中的查询上时,会显示此数据,显示“最后刷新”等字段 .
应用程序:我有一个Excel工作簿,汇集了来自不同来源的数十个输入文件,然后由其他下游工作簿使用 . 我想要创建的是此输入工作簿中的一个表,该表显示工作簿中每个输入表的Power Query的元数据,例如上次刷新表时,它有多少记录等,以进行验证 . 例如,如果我知道某个文件预计会有64条记录,那么无论何时遇到更多或更少的记录,我都可以标记 .
我进行了广泛的搜索,包括许多博客,技术委员会,amazon.com以及以下内容:
Introduction to Power Query (informally known as “M”) Formula Language :https://msdn.microsoft.com/en-us/library/mt270235.aspx
Power Query (Informally known as “M”) Formula Reference :https://msdn.microsoft.com/en-us/library/mt211003.aspx
8/31/2016 Update :似乎尚不存在以编程方式访问Power Query元数据的功能 . 我希望最终能够在Power Query表中找到类似于Excel中的PivotTable.RefreshDate属性的东西 . (对于链接表具有该属性也是很好的 . )我已解决的解决方法是向每个Power Query添加一列,如下所示:
#"Added Refresh Date" = Table.AddColumn(Source, "RefreshDate", each DateTime.LocalNow())
然后,我可以从表中的任何记录中的字段RefreshDate中检索查询表的刷新日期 . 我对这种方法的困难在于它增加了计算时间和文件大小 .
1 回答
要查找输入表中有多少条记录,您是否尝试导入excel文件并查看表的行数?
数据>获取和转换>新查询>从文件>从工作簿将为您提供如何使用Excel.Workbook库函数的示例 .
另一方面,我不知道对excel工作簿中的最后刷新细节有任何支持 .
我将.XLSX重命名为.ZIP,并且在
xl\connections.xml
内部有一个带有一些元数据的Microsoft.Mashup.OleDb.1
数据连接,但似乎没有什么是"last refreshed"时间 .您可以在包含工作簿文件的文件夹上使用
Folder.Contents
,并查看整个文件的Data Modified
列,如果这足够了?