Forum Discussion

Semail's avatar
Semail
Regular Visitor
4 months ago
Solved

Power BI Service: DirectQuery (Kusto) visuals fail online but work fine in Desktop

Hi everyone,

 

I’m facing an issue with a Power BI FinOps dashboard using DirectQuery to Azure Data Explorer (Kusto).

  • The report works perfectly in Power BI Desktop
  • Dataset refresh in the Service succeeds
  • But when loading the report online, visuals fail with inconsistent errors

 

Errors observed

  • Sometimes one visual shows
    “Query has exceeded the available resources / QueryTimeoutExceeded”,
    while others show “Error fetching data for this visual”
  • Other times, all visuals show only
    “Error fetching data for this visual”

 

What I checked

  • Data source timeout → not set
  • Query timeout → not set
  • Visual query limits (Desktop, current file) → not set

So there are no explicit timeout limits configured.

 

Question

Is this a known Power BI Service limitation with DirectQuery + Kusto, especially for larger FinOps datasets and multiple DAX-based visuals?


Any recommendations to avoid this behavior?

 

I’ve attached screenshots of both error messages for reference.

Thanks in advance for any insights or advice!


  • Hi Semail,

     

    Thank you for the detailed response. Here the issue is related to the DirectQuery in the service because of the strict resource and concurrency limits compared to desktop. Since each visual sends its own query, multiple complex visuals running in parallel can exceed those limits and error occurs.

    Since kusto changes are limited in your case, please try the below steps on the power bi side:

    • Reduce the number of visuals per page to limit parallel queries
    • Simplify DAX measures to avoid complex query translation
    • Avoid high cardinality slicers and heavy cross filtering
    • If possible, consider a hybrid model like Import with DirectQuery to reduce the load

     

    Thanks and regards,

    Anjan Kumar Chippa

6 Replies

  • Option 1) Enable query result caching

    In Power BI Service semantic model settings → DirectQuery → enable Query caching. This serves repeated identical queries from cache rather than hitting Kusto every time, dramatically reducing concurrent load.

     

    Option 2) Optimize the KQL queries generated by your DAX measures

    Open DAX Studio, connect to your semantic model, and use Server Timings to capture the KQL queries Power BI sends to Kusto. Long-running or unoptimized KQL is the most common cause of QueryTimeoutExceeded. Simplify measures that generate complex nested KQL, avoid high-cardinality slicers that force full scans, and use pre-aggregated materialized views in Kusto where possible.

     

    Option 3) Consider materialized views or pre-aggregation in Kusto

    For FinOps data that aggregates large cost datasets, create Kusto materialized views that pre-aggregate the most common query patterns. Power BI then hits the materialized view instead of scanning raw data, which reduces both latency and resource consumption significantly.

  • You need pre aggregation of the data or increase the queryexecute time

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

    Hi Semail,

     

    Thank you for reaching out to Microsoft Fabric Community.

     

    Thank you mh2587 and cengizhanarslan for the prompt response.

     

    As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided by the user's for the issue worked? or let us know if you need any further assistance.

     

    Thanks and regards,

    Anjan Kumar Chippa

    • Semail's avatar
      Semail
      Regular Visitor

      Hi everyone v-achippa cengizhanarslan mh2587 ,


      thanks a lot for the feedback so far - really appreciated!

      I’ve verified that there are no query or visual limits configured.

       


      - Regarding query result caching, as far as I understand it, it only works for Import semantic models on Premium/Embedded, while our model is DirectQuery, so I think this doesn’t apply in our case.

      - The pre‑aggregation / materialized views in Kusto approach makes sense, but our Kusto setup is based on a standard FinOps template and is not directly managed by me, so changes there may be limited. At this point, the big question is also which part should be adjusted and how, without breaking the standard setup. 

      That’s why I was hoping for alternative options that don’t require changes in Kusto.

      If Kusto changes are not feasible, are there any Power BI–side optimizations you would recommend for DirectQuery scenarios?

      Thanks again! 🙂

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

        Hi Semail,

         

        Thank you for the detailed response. Here the issue is related to the DirectQuery in the service because of the strict resource and concurrency limits compared to desktop. Since each visual sends its own query, multiple complex visuals running in parallel can exceed those limits and error occurs.

        Since kusto changes are limited in your case, please try the below steps on the power bi side:

        • Reduce the number of visuals per page to limit parallel queries
        • Simplify DAX measures to avoid complex query translation
        • Avoid high cardinality slicers and heavy cross filtering
        • If possible, consider a hybrid model like Import with DirectQuery to reduce the load

         

        Thanks and regards,

        Anjan Kumar Chippa