2016-08-25 8 views
1

Как получить доступ к метаданным, связанным с PowerQuery с помощью PowerQuery? Эти данные появляются, когда один наводится на запрос в правой части списка «Журналы запросов», отображая такие поля, как «Last Refreshhed» и т. Д.Получение метаданных таблицы запросов электропитания с использованием запроса мощности (Excel 2016)

Приложение: У меня есть книга Excel, в которой собрано несколько десятков входных файлов из различных источники, которые затем используются другими рабочими книгами ниже по течению. То, что я хотел бы создать, - это таблица в этой рабочей книге ввода, которая отображает метаданные для Power Query каждой входной таблицы в рабочей книге, например, когда последняя таблица обновилась, сколько записей она имеет и т. Д. Для целей проверки. Например, если я знаю, что в определенном файле должно быть ровно 64 запися, я могу указать каждый раз, когда он сталкивается с большим или меньшим количеством записей.

Я искал широко, в том числе многочисленных блогах, технических советов, amazon.com и следующее:

Введение к власти Query (неофициально известный как «М») Формула языка: https://msdn.microsoft.com/en-us/library/mt270235.aspx

Мощность запроса (неформально известный как «M») Формула Reference: https://msdn.microsoft.com/en-us/library/mt211003.aspx

8/31/2016 Update: Похоже, что т его функциональность для программного доступа к метаданным Power Query еще не существует. То, что я надеюсь, в конечном итоге сходит на щуку для таблиц Power Query, похоже на свойство PivotTable.RefreshDate в Excel. (Было бы неплохо иметь эту собственность для связанных таблиц.) Работа вокруг, на которой я остановился вдоль линий добавления столбца в каждую мощности запрос следующим образом:

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

я могу затем получить дату обновления таблицы запросов из поля RefreshDate из любой записи в таблице. Трудность, с которой я сталкиваюсь с этим методом, заключается в том, что он увеличивает время вычисления и размер файла.

ответ

1

Чтобы узнать, сколько записей находится во входной таблице, попытались ли вы импортировать файл excel и посмотреть на таблицу строк таблицы?

Данные> Get & Трансформация> Новый запрос> Из файла> Из рабочей книги дадут вам пример использования функции библиотеки Excel.Workbook.


С другой стороны, я не знаю никакой поддержки последних деталей обновления в книгах Excel.

Я переименовал .XLSX в .ZIP и внутри xl\connections.xml есть соединение данных с некоторыми метаданными Microsoft.Mashup.OleDb.1, но ничто не кажется «последним обновленным» временем.

Вы можете использовать Folder.Contents в папке, содержащей файл рабочей книги, и увидеть столбец Data Modified всего файла, если этого достаточно?

+0

Спасибо, @Carl. Некоторые хорошие предложения. Однако я пытаюсь настроить некоторые элементы проверки, касающиеся самих запросов Power Query, то есть когда последний запрос обновлялся, сколько столбцов запрашивал запрос, сколько записей было возвращено и т. Д., Которые я затем может сравниться с ожидаемыми значениями для этих элементов, например установить предупреждающий флаг, когда последняя обновленная дата больше шести месяцев назад и т. д.Поскольку Last Refreshed появляется во всплывающем окне, когда кто-то наводится на имя запроса на вкладке «Запросы книги на правой стороне», я решил, что должен быть способ доступа к этим данным. – XLT

+0

@XLT Согласен, данные должны быть в рабочей книге или в папке с кешем. С другой стороны, это, вероятно, не документированные или поддерживаемые метаданные. Даже если вы можете найти способ извлечь Last Refreshed, который может сломаться в будущем ... –

+0

Возможно, мне следует уйти от края кровотечения. Среди прочего, то, что я ищу, является версией M свойства [PivotTable.RefreshDate] (https://msdn.microsoft.com/en-us/library/office/ff834610.aspx), но ваша точка хорошо взята , – XLT

 Смежные вопросы

  • Нет связанных вопросов^_^