Forum Discussion

Perfecta's avatar
Perfecta
Frequent Visitor
1 year ago
Solved

Power BI-Incremental Refresh Issue

Hi,

 

I’m facing an issue related to query folding and data refresh, and would appreciate your guidance.


I'm currently using Power BI Pro (not Premium). In Power BI Desktop, I’m getting a query folding warning. But when I publish the report to the Power BI Service, the refresh fails completely.

I'm suspecting the issue is related to query folding, but I’m not sure how to resolve it under the limitations of the Pro license. I'm happy to share the M code if needed.

Can  help guide me on how to fix this issue or work around it? Any support would be appreciated!

Thank you.

 

#Mcode:

let
    StartDate = DateTime.ToText(RangeStart, "yyyy-MM-dd"),
    EndDate = DateTime.ToText(RangeEnd, "yyyy-MM-dd"),
    APIKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
    PageSize = 100,
    MaxPages = 2000,
    DelaySeconds = 1,
    GetPage = (PageNum as number) =>
        let
            Response = Json.Document(
                Web.Contents("xxxxxxxxxxxxxx", [
                    RelativePath = "xxxxxxxxxxxx",
                    Query = [
                        page = Text.From(PageNum),
                        limit = Text.From(PageSize),
                        created_at_min = StartDate,
                        created_at_max = EndDate
                    ],
                    Headers = [#"xxxxxxxxxxx" = APIKey],
                    ManualStatusHandling = {429}
                ])
            ),
            Status = Value.Metadata(Response)[Response.Status]?,
            Result = if Status = 429 then error "Too Many Requests" else Response,
            Orders = Result[orders],
            Delayed = Function.InvokeAfter(() => Orders, #duration(0, 0, 0, DelaySeconds))
        in
            Delayed,
    PageNumbers = List.Numbers(0, MaxPages),
    AllPages = List.Transform(PageNumbers, each try GetPage(_) otherwise null),
    FilteredPages = List.RemoveNulls(AllPages),
    Combined = List.Combine(FilteredPages),
    ToTable = Table.FromList(Combined, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    Expanded = Table.ExpandRecordColumn(ToTable, "Column1", Record.FieldNames(Combined{0})),
    ExpandedWithDate = Table.TransformColumnTypes(Expanded, {{"created_at", type datetimezone}}),
    AdjustedCreatedAt = Table.AddColumn(ExpandedWithDate, "created_at_adjusted", each DateTimeZone.RemoveZone([created_at]), type datetime),
    FilteredRows = Table.SelectRows(AdjustedCreatedAt, each [created_at_adjusted] >= RangeStart and [created_at_adjusted] < RangeEnd)
in
    FilteredRows

 

 

 

5 Replies