Я пытаюсь использовать функцию VSTS.Feed () в Power BI для чтения данных WorkItemSnapshot. Есть несколько проблем. Если я соберу весь URL-адрес в одну строку и при этом вызову VSTS.Feed (), я получу правильную информацию на рабочем столе Power BI, но она не будет обновляться в Power BI онлайн. Мне сказали использовать (недокументированный) параметр Query, как показано ниже, но ясно, что этот параметр игнорируется. Я вижу, что параметр select игнорируется в небольших проектах, потому что возвращаются все столбцы. Я вижу, что параметр фильтра игнорируется, потому что запрос не выполняется в более крупных проектах.
У кого-нибудь есть рабочий пример использования параметра Query с VSTS.Feed ()?
let
BaseURL = "https://server.analytics.visualstudio.com/DefaultCollection/project/_odata/WorkItemSnapshot",
Select = "DateSK,WorkItemId,State,WorkItemType",
Filter = "WorkItemType eq Bug and State ne Closed and State ne Removed and DateSK ge 20180517 and DateSK le 20180615",
Source = VSTS.Feed(BaseURL, [Query=[select=#"Select",filter=#"Filter"]])
in
Source
Обновление:
С запросом выше, сообщение, которое я получаю, показано ниже. Как я уже говорил ранее, он явно не использует параметр Filter, и я предполагаю, что он также не использует параметр Select. Я не могу запросить все, потому что данных слишком много, и я не могу использовать фильтр, потому что я не могу найти способ заставить параметр Options работать. С VSTS.AccountContents параметр options работает хорошо, но эти конечные точки API не используют $ в именах параметров.
Ошибка: результат запроса содержит 36 788 023 строки и превышает максимально допустимый размер 300 000. Пожалуйста, уменьшите количество записей, применяя дополнительные фильтры
Подробности:
DataSourceKind = Visual Studio Team Services
= 881f7988-9863-4e03-8375-0489028f28f3 ID действия
URL = https://server.analytics.visualstudio.com/DefaultCollection/Project/_odata/WorkItemSnapshot
ошибка = Запись
Запрос, который запустил всю эту строку опроса, это просто запрос с переменной для начальной даты.
let
startDate = DateTimeZone.ToText (Date.AddDays(DateTimeZone.UtcNow(), -45), "yyyyMMdd"),
URL = "https://server.analytics.visualstudio.com/DefaultCollection/project/_odata/WorkItemSnapshot?$select=DateSK,WorkItemId,State,WorkItemType&$filter=WorkItemType eq 'Bug' and State ne 'Closed' and State ne 'Removed' and DateSK gt " & startDate,
Source = VSTS.Feed(URL)
in
Source
Хотя этот запрос в основном работает на рабочем столе Power BI (предложение select игнорируется), сообщение, которое я получаю при обновлении источника данных в сети, выглядит следующим образом:
Невозможно запланировать обновление для этого набора данных, поскольку один или несколько источников в настоящее время не поддерживают обновление.
Обнаружение источников данных
Запрос содержит неизвестные или неподдерживаемые источники данных.
Документация для VSTS.Feed () противоречит самой себе, говоря, что оба
Функция VSTS.Feed имеет те же параметры, параметры и формат возвращаемого значения, что и OData.Feed.
и
«VSTS.Feed» предоставляет подмножество аргументов и опций, доступных через «OData.Feed».
Подводя итог, я знаю, что не могу объединить источники данных в Power BI. Поддерживает ли VSTS.Feed () параметр options? Если так, как я могу передать ему предложение Filter and Select?