Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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.
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()
Solved! Go to 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.
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
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.
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.
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
72 | |
72 | |
37 | |
31 | |
26 |
User | Count |
---|---|
95 | |
50 | |
43 | |
40 | |
35 |