Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Power Query(Excel 2016)检索Power Query表元数据_Excel_Metadata_Powerquery_Excel 2016_M - Fatal编程技术网

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

使用Power Query(Excel 2016)检索Power Query表元数据,excel,metadata,powerquery,excel-2016,m,Excel,Metadata,Powerquery,Excel 2016,M,如何使用PowerQuery访问与PowerQuery关联的元数据?当您将鼠标悬停在右侧“工作簿查询”列表中的查询上时,会显示此数据,其中显示“上次刷新”等字段 应用:我有一个Excel工作簿,它汇集了来自不同来源的几十个输入文件,然后被其他下游工作簿使用。我想在此输入工作簿中创建一个表,该表显示工作簿中每个输入表的Power查询的元数据,例如上次刷新该表的时间、有多少条记录等,以进行验证。例如,如果我知道某个文件预期正好有64条记录,那么每当它遇到更多或更少的记录时,我就可以标记它 我进行了广

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

应用:我有一个Excel工作簿,它汇集了来自不同来源的几十个输入文件,然后被其他下游工作簿使用。我想在此输入工作簿中创建一个表,该表显示工作簿中每个输入表的Power查询的元数据,例如上次刷新该表的时间、有多少条记录等,以进行验证。例如,如果我知道某个文件预期正好有64条记录,那么每当它遇到更多或更少的记录时,我就可以标记它

我进行了广泛的搜索,包括许多博客、技术板、amazon.com和以下内容:

电源查询(非正式称为“M”)公式语言简介

幂查询(非正式称为“M”)公式参考

8/31/2016更新:以编程方式访问Power Query元数据的功能似乎还不存在。对于Power查询表,我希望最终得到的是类似于Excel中的PivotTable.RefreshDate属性的东西。(为链接表提供该属性也很好。)我解决的问题是在每个Power查询中添加一列,如下所示:

#“Added Refresh Date”=Table.AddColumn(源代码,“Refresh Date”,每个DateTime.LocalNow())


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

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

数据>获取和转换>新建查询>来自文件>来自工作簿将为您提供一个如何使用库函数的示例


另一方面,我不知道excel工作簿中是否支持上次刷新的详细信息

我将.XLSX重命名为.ZIP,并且在
xl\connections.xml
中有一个
Microsoft.Mashup.OleDb.1
数据连接,其中包含一些元数据,但似乎没有“上次刷新”的时间


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

谢谢,@Carl。一些好的建议。但是,我想做的是专门围绕Power Query查询本身设置一些验证内容,即上次刷新查询的时间、检索到的查询列数、返回的记录数等,然后将这些内容与这些项目的预期值进行比较,例如,当上次刷新日期大于六个月前时设置警告标志,等等。由于上次刷新显示在弹出按钮上,当鼠标悬停在右侧“工作簿查询”选项卡中的查询名称上时,我想一定有办法访问该数据。@XLT同意,数据必须在工作簿或缓存文件夹中。另一方面,这可能是没有文档记录或支持的元数据。即使你能找到一些方法来提取最后一个可能在未来被打破的刷新…也许我应该远离前沿。除此之外,我正在寻找的是一个M版本的财产,但你的观点是正确的。它是2021年,来这里寻找答案。似乎MSFT没有添加任何帮助。@谢里夫,我不确定是否有MSFT的员工在看这个。你可以试着在你最喜欢的Excel论坛上提问;如果你发现了什么,请告诉我们!