Forum Discussion

Hieudao's avatar
Hieudao
Frequent Visitor
9 months ago
Solved

Power BI Custom Visual: Error fetchMoreData() not working when redirecting to page + drill-up

Hi everyone, I am developing a custom visual and have a serious error that only occurs in the following scenario: Error description: I am getting an error when I drill up in a custom visual with a...
  • v-menakakota's avatar
    9 months ago

    Hi Hieudao ,

    Thanks for reaching out to the Microsoft fabric community forum. 

    This looks like a tricky scenario related to how the fetchMoreData() API behaves after a drill-up when a new updateId is generated. From your description, it seems that during drill-up or page navigation, Power BI might be triggering a new data load session internally, which resets the updateId and breaks the continuation token for incremental data retrieval. Once this happens, the visual can no longer fetch more data because the old data segment reference becomes invalid.

    Try the below workaround:

    Check if dataView.metadata.segment is null after drill-up if so, it means Power BI has reset the dataset session.

    Reset your internal data state (like cached rows or flags) whenever a new updateId is detected. That ensures the visual starts a new data load process instead of continuing the old one.

    Make sure the dataReductionAlgorithm (e.g., window.count) and fetchMoreData() calls are tied to the new session and not to the previous state.

    Please go through the below document:

    https://learn.microsoft.com/en-us/power-bi/developer/visuals/fetch-more-data

    Visual API for Power BI Visuals - Power BI | Microsoft Learn

     

    This articles explains how the API Power BI visuals API supports large datasets (via fetchMoreData()), how to configure dataReductionAlgorithm.window.count, how to detect dataView.metadata.segment, and how to handle incremental vs aggregated segments.

     

    If I misunderstand your needs or you still have problems on it, please feel free to let us know. 

    Best Regards, 
    Community Support Team