Forum Discussion

Flypigeon0929's avatar
Flypigeon0929
Regular Visitor
3 days ago

Composite model Refresh issue

Hi guys,
I wanted to consolidate 3 power bi reports into one, following it i used the live connection semantic model top get data, after that adding another report, it converted the live connection to direct query storage mode, i was able to create the consolidated report after publishing it on the service the refresh took 1 second finding out that the report isnt refreshing its showing the older data, 
any solution for this, I used the power bi Workspace apps to show the report as i needed only one page from each report(Summary Page) but the business denied it bevcause they want to see the 3 reports in scrolling 

4 Replies

  • Hi Flypigeon0929​,

    When you connect to an existing semantic model and then add another data source, Power BI creates a composite model. The important thing to understand is that refreshing the consolidated report doesn't automatically refresh the data in the original semantic models.

    I’d check the refresh history of each of the three original semantic models in the Power BI Service first. If they use Import mode, their refresh schedules still need to run independently. The consolidated report will query the data available in those models.

    Also, check the storage mode of the tables in your composite model and make sure the connections and credentials are configured correctly. A refresh completing in one second doesn't necessarily mean anything is wrong; it may simply not be refreshing the underlying imported data.

    For your scrolling requirement, the composite model approach can work. You can keep the three summary pages in one report without rebuilding everything, provided the model connections are configured correctly.

  • Checking the refresh history every report takes a avg of 10 min to refresh and its refreshing every morning and i independtly again refreshed each semantic model thinking that the cosnolidated report will be refreshed, but i foound that the consolidated report created its own semantic model and that semantic model was refreshing in one second, on the desktop i refreshed manually still there was stale data. which meant that the composite model is storing the data which i loaded today,

  • Hi, this is expected with composite models.

    When you add another source to a live connection, the tables from the published model become DirectQuery to that model. Your report's refresh only reloads the extra imported table, that's why it finishes in a second.

    So the old data is coming from the source semantic model. A few things to check:
    - Is the source model's scheduled refresh running and succeeding?
    - Are credentials set for the extra source in the new model?
    - Any calculated tables based on the remote tables? Those only update on your refresh.

    Also, if the extra data can be added to the source model, you could skip the composite model and build one report on a live connection with a taller page.

  • jubinsoni's avatar
    jubinsoni
    Icon for Solution Sage rankSolution Sage

    Hi Flypigeon0929​,

    ShahRukhSameer's explanation fits what you see: the composite model has nothing of its own to import from those sources, so its refresh finishes in about a second, and the data you see depends on the three original semantic models.

    To find out why the numbers look old, I'd check three places in this order:

    1. Each original semantic model -> Refresh history: when did the last refresh finish?
    2. The composite model's settings -> Query caching: is it set to On? If so, switch to Off (or refresh) and retest
    3. Report in the app -> hard-refresh the browser; check the app is updated to the latest published report

    Also, your business requirement (all three summary pages scrolling in one report) doesn't need a composite model if the three reports use the same semantic model. In that case, one report pointing at that single model with the three summary layouts on one tall page works, and there's nothing to refresh separately. If they are three different models, the composite approach you built is the right one, and you can make the freshness visible by showing the last-refresh time of each source on the page:

    Last Refresh Source A =
    FORMAT( MAX( 'Refresh Log A'[RefreshedAtUtc] ), "yyyy-mm-dd HH:mm" ) & " UTC"

    That needs a small log or date table that each source model keeps, but it saves a lot of "why is the report old?" questions from the business.

    So my overall approach would be:

    Check source model refresh history first (composite refresh time is not the data age)
    Turn off/refresh query caching on the composite model
    Same model for all 3 reports? -> one report, no composite needed
    Different models -> keep composite, show last-refresh times on the page

    AI-assisted drafting: AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.