Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi,
I'm trying to connect a Shopify store to Power BI but I'm having difficulties with pagination after reviewing every single forum and documentation.
this is the M code I made:
let
// Base URL for the initial request
BaseUrl = "https://{my_store_name}.myshopify.com/admin/api/2024-04/products.json?limit=250",
// Function to recursively fetch all pages of data
GetAllPages = (url as text) as table =>
let
// Perform the web request
Response = Web.Contents(url, [Headers=[#"X-Shopify-Access-Token"={AccessTokenParameter}]]),
Source = Json.Document(Response),
// Extract the products data
Data = Source[products],
// Convert the data list to a table
CurrentPage = if List.IsEmpty(Data) then Table.FromRecords({}) else Table.FromList(Data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
// Retrieve the response headers
ResponseHeaders = Value.Metadata(Response)[Headers],
// Check for the presence of a next page link in the headers
LinkHeader = if Record.HasFields(ResponseHeaders, "Link") then ResponseHeaders[Link] else null,
// Parse the next page link if it exists
NextLink = if LinkHeader <> null and Text.Contains(LinkHeader, "rel="&"\""next\""") then Text.BetweenDelimiters(LinkHeader, "<", ">") else null,
// Recursively fetch the next page if a next link is present
NextPage = if NextLink <> null then GetAllPages(NextLink) else null,
// Combine the current page data with the next page data
Output = if NextPage <> null then Table.Combine({CurrentPage, NextPage}) else CurrentPage
in
Output,
// Initial call to the function with the base URL
Result = GetAllPages(BaseUrl)
in
Result
I would greatly appreciate the help of community members to understand what is wrong with PAGINATION.
thank you
https://learn.microsoft.com/en-us/power-query/handling-paging
Also, please use Web.Contents correctly. Use RelativePath and Query parameters. https://learn.microsoft.com/en-us/powerquery-m/web-contents#example-1