Quantcast
Viewing all articles
Browse latest Browse all 5028

Power Query (M) pulling multiple pages

This PowerQuery/M code automatically grabs multiple pages of dreamfactory JSON recursively. The column will still need to be expanded, etc, as usual.

Improvements welcome, I'm by no means a powerquery expert, but I wanted to get dreamfactory working with PowerBI and Excel. While this is tailored to dreamfactory, it should work with any paged api.

let getDFUrl = (url as text, optional previousResult) =>
        let
			Res = Json.Document(Web.Contents(url)),
			offset = 
                            try Res[meta][next]
                            otherwise 0,
			combination = if (previousResult <> null) then
				Table.Combine({
					previousResult,
					Table.FromList(Res[resource], Splitter.SplitByNothing(), null, null, ExtraValues.Error)
				})
			else
				Table.FromList(Res[resource], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
			
			Result = 
                            if (offset <> null) then
                                if (offset > 0) then 
					@getDFUrl(url & "&offset=" & Number.ToText(offset), combination) 
				else 
					combination
                            else
                                "nothing..."
        in Result
in getDFUrl("your_dreamfactory_url_with_filters_and_api_key_and_stuff")

Viewing all articles
Browse latest Browse all 5028

Trending Articles