Forum Discussion

jishnubhattacha's avatar
5 months ago
Solved

Power BI Direct Query (Live connection)

We had a requirement to migrate tableau  reports into power BI for which  we are doing the analysis. Our most of the reports in Tableau have used live connection because user needs real time data. Now after checking at several video tutorials we found that Power BI recommends Import option rather than direct query for slowness and performance. But we have few reports where user needs real time data  and they are rigid on to their requirements. So in this situation we have analyzed one report where 7 to 8  tables are used and one table is main table and rrest tables are child table so there is a parent child relationship. we have created the report and from desktop when we open the report it takes almost 8 mins time to load data. we also check the record counts. child tables mostly we used DB views. Now what is the guideline if real time data is really needed then how to proceed with Power BI. please guide me step by step so that we can do  our analysis and  prepare the document accordingly.

  • Hii jishnubhattacha 

     

    If real-time data is truly required, use DirectQuery (or Live Connection to a semantic model), but first validate that “real-time” means seconds/minutes not hourly. Power BI Import mode is recommended for performance; if near real-time is acceptable, use Import with Incremental Refresh + Hybrid Tables instead. For strict real-time, keep DirectQuery but optimize the source: use a proper star schema (avoid complex parent-child joins in views), reduce columns, ensure indexed keys on fact tables, push transformations to the database, avoid bi-directional relationships, and use aggregations where possible. The 8-minute load indicates source/query inefficiency, not a Power BI limitation. So guideline: use Import for performance; use DirectQuery only when real-time is mandatory and the database is well-tuned.

  • Hi jishnubhattacha ,

    Thanks for reaching out to the Microsoft fabric community forum. 

     

    I would also take a moment to thank  rohit1991 and cengizhanarslan  , for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.

    I hope the above details help you fix the issue. If you still have any questions or need more help, feel free to reach out. We’re always here to support you 

       

    Best Regards, 
    Community Support Team  

7 Replies

  • Hii jishnubhattacha 

     

    If real-time data is truly required, use DirectQuery (or Live Connection to a semantic model), but first validate that “real-time” means seconds/minutes not hourly. Power BI Import mode is recommended for performance; if near real-time is acceptable, use Import with Incremental Refresh + Hybrid Tables instead. For strict real-time, keep DirectQuery but optimize the source: use a proper star schema (avoid complex parent-child joins in views), reduce columns, ensure indexed keys on fact tables, push transformations to the database, avoid bi-directional relationships, and use aggregations where possible. The 8-minute load indicates source/query inefficiency, not a Power BI limitation. So guideline: use Import for performance; use DirectQuery only when real-time is mandatory and the database is well-tuned.

    • v-menakakota's avatar
      v-menakakota
      Community Support

      Hi jishnubhattacha ,

      Thanks for reaching out to the Microsoft fabric community forum. 

       

      I would also take a moment to thank  rohit1991 and cengizhanarslan  , for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.

      I hope the above details help you fix the issue. If you still have any questions or need more help, feel free to reach out. We’re always here to support you 

         

      Best Regards, 
      Community Support Team  

  • 1) If they can accept 5–15 minutes latency, Import with Incremental Refresh (or Fabric) is usually best. If they truly need “right now”, continue with DirectQuery, but optimize heavily.

     

    2) Use star schema (one fact + dimensions). Snowflake / normalized model, which is expensive especially inDirectQuery.

     

    3) DirectQuery will generate SQL on top of your view, and SQL Server/Postgres/etc. may produce terrible plans.

    • Prefer base tables or “materialized”/indexed views

    • Ensure join keys are indexed

    • Avoid functions on join/filter columns

    • Avoid SELECT *

    4) Power BI supports Aggregations with a composite model:

    • An Import aggregation table for fast visuals (e.g., daily/hourly totals)

    • DirectQuery detail table for drillthrough

    Users get near-instant interaction for most pages, while still having “live” detail when needed.

     

    5) In Power BI Desktop:

    • Options → Query reduction → enable Apply button for slicers

    • Limit visuals per page

    • Avoid visuals that force large intermediate results (table with many columns, high granularity)

     

    These are the most important thing that comes up to my mind. Also you could consider using DirectLake mode for a better performance if you have physical tables on Fabric. But Imports is always the most performable option in any case as I know.

    • v-menakakota's avatar
      v-menakakota
      Community Support

      Hi jishnubhattacha ,

      Could you please confirm whether the issue has been resolved? If you are still facing any issues, please feel free to contact us here.

      Thank you.

      • v-menakakota's avatar
        v-menakakota
        Community Support

        Hi jishnubhattacha ,

        Could you please confirm whether the issue has been resolved? If you are still facing any issues, please feel free to contact us here.

        Thank you.