首页 文章

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

提问于
浏览
1

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

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

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

Introduction to Power Query (informally known as “M”) Formula Languagehttps://msdn.microsoft.com/en-us/library/mt270235.aspx

Power Query (Informally known as “M”) Formula Referencehttps://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 回答

  • 1

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

    数据>获取和转换>新查询>从文件>从工作簿将为您提供如何使用Excel.Workbook库函数的示例 .


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

    我将.XLSX重命名为.ZIP,并且在 xl\connections.xml 内部有一个带有一些元数据的 Microsoft.Mashup.OleDb.1 数据连接,但似乎没有什么是"last refreshed"时间 .

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

相关问题