Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
drreese
New Member

Error with Composite Model with DirectQuery to Analysis Service for B2B user

We trying to test Power BI Desktop access to a semantic model in the Power BI service using Direct Query with Premium Per User licensing.   We are currently using the shared Power BI service and do not have a Fabric Power BI SKU. The user is using B2B collaboration to access our AD tenant.
The model is in a workspace to which the user has "Read, Reshare, Build" permissions on the model.
The user does not have any permission to the workspace where the model is located only permissions on the model.  We cannot give them permission to modify the model at this time.
We can setup a report in Power BI Desktop with an Analysis Service connection and that works as expected.

We have verified we have the correct values in our Power BI Admin settings highlighted in the section "Managing composite models on Power BI semantic models"  Managing composite models on Power BI semantic model (https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-composite-models#managing-composi..." href="https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-composite-models#managing-composi...)
The error pictured below is what we are getting when trying to convert the Analysis Services connection over to a Direct Query connection.

drreese_0-1752008513900.pngdrreese_1-1752008524972.png

Feedback Type:
Frown (Error)

Timestamp:
2025-07-08T20:52:30.1041509Z

Local Time:
2025-07-08T16:52:30.1041509-04:00

Session ID:
944f463e-b8e8-43af-b7e8-533bf161346f

Release:
June 2025

Product Version:
2.144.1378.0 (25.06)+cba1e61f16ea36d44901f06fa446299040122394 (x64)

Error Message:
Expected tenantId to be a valid guid

Stack Trace:
System.InvalidOperationException
at Microsoft.PowerBI.Client.Shared.Contracts.FailCore(String msg)
at Microsoft.PowerBI.Client.Windows.PowerBIService.AuthenticationManager.<GetAuthResultForGuestTenantAsync>d__81.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Authentication.AccessTokenProvider.<GetAccessTokenForGuestTenantAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.AnalysisServices.AnalysisServicesCallbackHelper.<AddPowerBIServiceCredentialsToConnectionStringIfRequired>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.AnalysisServices.QueryEvaluator.ProxyModelEvaluator.<GetConnectionStringBuilder>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.AnalysisServices.QueryEvaluator.ProxyModelEvaluator.<EvaluateProxyModelQuery>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.AnalysisServices.QueryEvaluator.ProxyModelEvaluator.<>c__DisplayClass16_0.<<EvaluateForLoadAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Modeling.Engine.Evaluation.LoadToModelQueryEvaluationService.<EvaluateForLoadAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.ModelingTelemetryService.<>c__DisplayClass12_0`1.<<RunInAsyncActivity>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.ModelingTelemetryService.<RunInAsyncActivity>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.ModelingTelemetryService.<RunInAsyncActivity>d__12`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Modeling.Engine.Loader.LoadToReportFlow.<EvaluateQueries>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Modeling.Engine.Loader.LoadToReportFlow.<ExecuteInternal>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Modeling.Engine.Loader.LoadToReportFlow.<Execute>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.ModelingTelemetryService.<>c__DisplayClass12_0`1.<<RunInAsyncActivity>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.ModelingTelemetryService.<RunInAsyncActivity>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.ModelingTelemetryService.<RunInAsyncActivity>d__12`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.DesktopModelingHost.<>c__DisplayClass17_0.<<LoadToModel>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Modeling.Engine.Authoring.AsyncModelAuthoringService.<>c__DisplayClass10_0.<<RunExtendedModelChangeAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Modeling.Engine.Authoring.AsyncModelAuthoringService.<ContinueWithAsyncOperation>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.Modeling.Hosting.DesktopModelingHost.<LoadToModel>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.PowerBI.Client.Windows.FloatingDialog.KoLoadToReportDialog.<>c__DisplayClass44_0.<<StartLoadToReportFlow>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Mashup.Client.UI.Shared.IExceptionHandlerExtensions.<HandleAwaitableAsyncExceptions>d__1.MoveNext()

 

 

1 ACCEPTED SOLUTION

Thanks for the suggestion. In our case, we maintain the primary model and so the customer would need to connect directly to it so when we make changes, they would get those as well.  I talked to Microsoft support and what are trying to do is not possible because of restrictions placed on between tenants. We are going to try to create another user in the tenant with the published model to see if that works. Support indicated that others have requested the ability to do what we were trying to do and that it is possible this capability may be added later.

View solution in original post

5 REPLIES 5
v-pgoloju
Community Support
Community Support

Hi @drreese,

 

Thank you for reaching out to the Microsoft Fabric Forum Community, and special thanks to @rajendraongole1  for their prompt and helpful responses.

 

Just following up to see if the solutions provided by community members were helpful in addressing the issue.

If one of the responses helped resolve your query, please consider marking it as the Accepted Solution. Feel free to reach out if you need any further clarification or assistance.

 

Best regards,
Prasanna Kumar

rajendraongole1
Super User
Super User

Hi @drreese  -Export the semantic model as a .pbix file and publish it in a workspace accessible to the B2B user. This avoids tenant hopping.

Or, consider creating a composite model in a separate workspace with imported or dual-mode tables that reference the original model (though B2B access will still be a challenge here).

some reference links:

Use composite models in Power BI Desktop - Power BI | Microsoft Learn

 

Try reproducing the same scenario using a user within your tenant. If this works, it confirms the issue is specific to B2B tenant resolution or permissions.

 

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





Thanks for the suggestion. In our case, we maintain the primary model and so the customer would need to connect directly to it so when we make changes, they would get those as well.  I talked to Microsoft support and what are trying to do is not possible because of restrictions placed on between tenants. We are going to try to create another user in the tenant with the published model to see if that works. Support indicated that others have requested the ability to do what we were trying to do and that it is possible this capability may be added later.

Hi @drreese,

 

Thanks for the update earlier. Just wanted to check were you able to create the new user in the tenant with the published model? Did that help fix the issue?

If you found any other solution or workaround, please do share it here so it can help others facing the same problem. Also, if you haven’t already, consider upvoting the related feature request in the Fabric Community to help Microsoft prioritize it.

 

Thanks & Regards,

Prasanna Kumar

We did create a user in the tenant and we were able to create a composite model using Direct Query. I was able to publish it to another workspace by placing the new data in OneDrive and adding it by choosing Web as the data source. Once published, the connection to the model broke because of user permissions, but I was able to edit it in the service and update credentials to get the published version working. 

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.