Мой API-вызов для HubSpot в Power Query for Power BI удваивает результаты цикла - PullRequest
0 голосов
/ 16 октября 2019

Мне нужны эти API-вызовы, чтобы вернуть все результаты из моей учетной записи HubSpot. Поскольку HubSpot может возвращать только 250 записей за вызов, мне нужно каждый раз выполнять API-вызов с возвращенным значением смещения, пока я не получу полный список результатов. Но этот код делает вызов с каждым значением смещения дважды, создавая возвращенный список, содержащий дубликаты для каждой записи, и я не могу понять, почему. Я изменил код, чтобы он возвращал значения смещения, полученные из результатов, и заключался в том, что каждое значение смещения появлялось дважды. Я думаю, что, возможно, сбой происходит в "Last_Key = try [WebCall] [#" offset "], иначе 0," но не уверен.

Мой обходной путь - добавить еще один шаг "#" Fjernede dubletter "= Таблица.Distinct (Custom1) ", который удаляет дубликаты, но это не лучшее решение, я думаю.

    let
    Pagination = List.Skip(List.Generate( () => [IsMore = null, Last_Key = 0, 
        Counter = 0], // Start Value
        each [IsMore] <> false,// Whilst this is true, keep going
        each [WebCall = Json.Document(Web.Contents("https://api.hubapi.com" & #"Content Company" & "?hapikey=" & #"APIkey" & #"Company properties" & "&limit=250" & "&offset=" & Text.From([Last_Key]))),// retrieve results per call
            Last_Key = try [WebCall][#"offset"] otherwise 0,
            IsMore = if [Counter] < 1 then null else [WebCall][#"has-more"],
            Counter = [Counter]+1,
            Table = Table.FromValue(WebCall[offset]) // returns every offset value
        ]
    ,each [Table] // selector
    ),1),
    #"Custom1" = Table.Combine(Pagination),
    #"Fjernede dubletter" = Table.Distinct(Custom1)
    in
    #"Fjernede dubletter"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...