Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Error while parsing API response in Power Query

Hi all,

 

I am trying to parse the API response in Power Query and use the response as a table in Power BI. 

The data is paginated, and that's why I am using the List.Generate function along with a custom function that calls the API. I think I have got most of it right, however I am receiving the following error: 

 

 

This is the query I am using:

 

= let
Source = List.Generate(
[Result = Query1("url"),
],
each [Result][next_page_url] <> null,
each [Query1([Result][next_page_url])],
each [Result][results]
)
in
Source

 

 

I have tested the Query1 function with the URL and it returns the following response for a single page:

 

How do I resolve this issue? I think the function is expecting records, whereas the results is of type List.

  • Hey Anonymous, 
    Try this code and let me know if there are any problems.

    let
    Source = List.Generate(
    () => [Result = Query1("url")],
    each [Result] <> null and Record.HasFields([Result], "next_page_url") and [Result][next_page_url] <> null,
    each [Result = Query1([Result][next_page_url])],
    each [Result][results]
    )
    in
    Source

4 Replies


  • Anonymous wrote:

    Hi all,

     

    I am trying to parse the API response in Power Query and use the response as a table in Power BI. 

    The data is paginated, and that's why I am using the List.Generate function along with a custom function that calls the API. I think I have got most of it right, however I am receiving the following error:  GMSocrates

     

     

    This is the query I am using:

     

     

     

    = let
    Source = List.Generate(
    [Result = Query1("url"),
    ],
    each [Result][next_page_url] <> null,
    each [Query1([Result][next_page_url])],
    each [Result][results]
    )
    in
    Source

     

     

     

     

    I have tested the Query1 function with the URL and it returns the following response for a single page:

     

    How do I resolve this issue? I think the function is expecting records, whereas the results is of type List.


    Hello,

    I’m also encountering issues parsing API responses in Power Query. I’m using the List.Generate function for paginated data, but I’m running into errors where the expected record type doesn’t match the actual list type being returned.

    If anyone has insights or solutions, I’d greatly appreciate your help.

     

    Best regards,
    robert245

  • ahadkarimi's avatar
    ahadkarimi
    Solution Specialist

    Hey Anonymous, 
    Try this code and let me know if there are any problems.

    let
    Source = List.Generate(
    () => [Result = Query1("url")],
    each [Result] <> null and Record.HasFields([Result], "next_page_url") and [Result][next_page_url] <> null,
    each [Result = Query1([Result][next_page_url])],
    each [Result][results]
    )
    in
    Source

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi ahadkarimi, Thanks a lot for this. This worked perfectly. Really appreciate the help.

      • ahadkarimi's avatar
        ahadkarimi
        Solution Specialist

        Anonymous You're welcome! I'm glad it worked for you.