cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Gateways and using Azure Analysis as an import source

I've got a couple of scenarios where I have used Azure Analysis services as an import source alongside some other sources.  Everything works great in models designed in Power BI Desktop, or in Visual Studio.  When I publish these models into either Power BI or into a respective Azure Analysis Services model, processing fails giving a credential error.  We use direct connections to Azure Analysis Services in reports and there is no problem there.

 

For Power BI, the gateway section under "Schedule Refresh" identifies that the source doesn't require a gateway, but that I could add one optionally.  For an Azure Analysis Services model, it requires a gateway be used and won't even being to process until I link one.  In both cases it gives the same credential failure when the processing actually occurs.

 

In the tests I've performed, an Azure Analysis Services entry is not actually present.  I've tried to add one, but it always complains about credentials.  The error states that credentials are required if an interface is not provided.  This error comes up despite providing credentials.  I've tried both "<Domain>\<Username>" as well as <Username>@<company>.com
When publishing a model from Visual Studio, only "Organisational" is accepted.  I can also get visual studio to perform the processing of the model as part of the deployment.  The failure occurs if it has to process under its own steam, of which is use SSMS to achieve this.

Anyone else had to do something similar to what I've described and had any success?  I'm curious if there is something I am doing wrong, or if Azure Analysis Services just can't be used as an import source.

5 REPLIES 5
venal
Memorable Member
Memorable Member

@Anonymous 

Have you applied any RLS from Azure SSAS side?

If yes, please refer the support page link to know the known issues.

If not, please share below details.

1. Is it Tabular Model / Multidimensional Model

2. Is that user have the admin access for Azure SSAS.

3. Is Gateway latest version and enabled the settings in Power Bi Service >> Manage Gateways>> first 2 options 

Gateway-Settings-PBIS.JPG

4. same credentials, Privacy levels used in Power BI Desktop and Service.

 

If you have any error message, please share it with us.

 

If this post helps, then please consider Accept it as the solution to help the other members find it more

If this post was helpful may I ask you to mark it as solution and give it some kudos?

Anonymous
Not applicable

  • Tabular Model
  • A "Read Only" role was created, but no RLS.  I've removed this role entirely with no change to the result.
  • Username is the Analysis Services Admin
  • Gateway version is only a couple of months behind (3000.8.452 August 2019) but the problem has existed for a while.  
  • First two options are selected as per your screenshot
  • Same credentials and privacy levels used in the Power BI version and in Visual Studio

Error Message

 

Failed to save modifications to the server. Error returned: 'An error occurred during On-Premise Gateway related activity. Additional error details: DM_GWPipeline_Gateway_InvalidConnectionCredentials
Received error payload from gateway service with ID 101479: Async operation fc80b817-3dfa-4ab7-9417-0d0a87b004bd is faulted with [0]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.MashupDataAccessCredentialException: Missing or invalid credentials for data source. Reason = '<pi>CredentialInvalid</pi>', DataSource = '<pi><pi>AnalysisServices/asazure://westeurope.asazure.windows.net/alsolutionsbiasprod;Life Sciences APAC Velocity</pi></pi>', DataSourceReference = '', DataSourceOrigin = '', DataSourceReferenceOrigin = ''.

GatewayPipelineErrorCode=DM_GWPipeline_Gateway_InvalidConnectionCredentials
GatewayVersion=3000.8.452
Reason=<pi>CredentialInvalid</pi>
DataSource=<pi><pi>AnalysisServices/asazure://westeurope.asazure.windows.net/alsolutionsbiasprod;Life Sciences APAC Velocity</pi></pi>
DataSourceReference=
DataSourceOrigin=
DataSourceReferenceOrigin= --->
[1]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.GatewayPipelineWrapperException: Substituted: MashupCredentialException:<pi>Microsoft.Data.Mashup.MashupCredentialException (0x80004005): The credentials provided cannot be used for the AnalysisServices source. (Source at asazure://westeurope.asazure.windows.net/alsolutionsbiasprod;Life Sciences APAC Velocity.)
   at Microsoft.Data.Mashup.ProviderCommon.MashupResource.<>c__DisplayClass44_2`1.<StartEvaluationAndGetResultSource>b__0()
   at Microsoft.Mashup.Security.Impersonation.RunAsProcessUser[T](Func`1 func)
   at Microsoft.Data.Mashup.MashupCommand.EvaluateAndGetSource[T](String commandText, CommandType commandType, Int32 commandTimeout, MashupParameterCollection parameters, String resultTransform, Boolean forColumnInfo, Boolean executeAction)
   at Microsoft.Data.Mashup.MashupCommand.ExecuteReader(CommandBehavior commandBehavior, MashupCommandBehavior mashupCommandBehavior)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessorUtils.MashupExecuteReaderAsync(DbCommand command, ExecuteQueryRequest queryRequest, Guid activityId)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass4_3.<<ExecuteAdoQuery>b__2>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.DataMovement.Pipeline.GatewayPipelineTelemetry.PipelineTelemetryService.<ExecuteInActivity>d__7`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.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass4_0.<<ExecuteAdoQuery>b__0>d.MoveNext()</pi>

GatewayPipelineErrorCode=DM_GWPipeline_UnknownError
GatewayVersion=
InnerType=MashupCredentialException
InnerMessage=<pi>The credentials provided cannot be used for the AnalysisServices source. (Source at asazure://westeurope.asazure.windows.net/alsolutionsbiasprod;Life Sciences APAC Velocity.)</pi>
InnerToString=<pi>Microsoft.Data.Mashup.MashupCredentialException (0x80004005): The credentials provided cannot be used for the AnalysisServices source. (Source at asazure://westeurope.asazure.windows.net/alsolutionsbiasprod;Life Sciences APAC Velocity.)
   at Microsoft.Data.Mashup.ProviderCommon.MashupResource.<>c__DisplayClass44_2`1.<StartEvaluationAndGetResultSource>b__0()
   at Microsoft.Mashup.Security.Impersonation.RunAsProcessUser[T](Func`1 func)
   at Microsoft.Data.Mashup.MashupCommand.EvaluateAndGetSource[T](String commandText, CommandType commandType, Int32 commandTimeout, MashupParameterCollection parameters, String resultTransform, Boolean forColumnInfo, Boolean executeAction)
   at Microsoft.Data.Mashup.MashupCommand.ExecuteReader(CommandBehavior commandBehavior, MashupCommandBehavior mashupCommandBehavior)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessorUtils.MashupExecuteReaderAsync(DbCommand command, ExecuteQueryRequest queryRequest, Guid activityId)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass4_3.<<ExecuteAdoQuery>b__2>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.DataMovement.Pipeline.GatewayPipelineTelemetry.PipelineTelemetryService.<ExecuteInActivity>d__7`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.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass4_0.<<ExecuteAdoQuery>b__0>d.MoveNext()</pi>
InnerCallStack=   at Microsoft.Data.Mashup.ProviderCommon.MashupResource.<>c__DisplayClass44_2`1.<StartEvaluationAndGetResultSource>b__0()
   at Microsoft.Mashup.Security.Impersonation.RunAsProcessUser[T](Func`1 func)
   at Microsoft.Data.Mashup.MashupCommand.EvaluateAndGetSource[T](String commandText, CommandType commandType, Int32 commandTimeout, MashupParameterCollection parameters, String resultTransform, Boolean forColumnInfo, Boolean executeAction)
   at Microsoft.Data.Mashup.MashupCommand.ExecuteReader(CommandBehavior commandBehavior, MashupCommandBehavior mashupCommandBehavior)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessorUtils.MashupExecuteReaderAsync(DbCommand command, ExecuteQueryRequest queryRequest, Guid activityId)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass4_3.<<ExecuteAdoQuery>b__2>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.DataMovement.Pipeline.GatewayPipelineTelemetry.PipelineTelemetryService.<ExecuteInActivity>d__7`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.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass4_0.<<ExecuteAdoQuery>b__0>d.MoveNext()
  ([1]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.GatewayPipelineWrapperException.StackTrace:)
   at Microsoft.Data.Mashup.ProviderCommon.MashupResource.<>c__DisplayClass44_2`1.<StartEvaluationAndGetResultSource>b__0()
   at Microsoft.Mashup.Security.Impersonation.RunAsProcessUser[T](Func`1 func)
   at Microsoft.Data.Mashup.MashupCommand.EvaluateAndGetSource[T](String commandText, CommandType commandType, Int32 commandTimeout, MashupParameterCollection parameters, String resultTransform, Boolean forColumnInfo, Boolean executeAction)
   at Microsoft.Data.Mashup.MashupCommand.ExecuteReader(CommandBehavior commandBehavior, MashupCommandBehavior mashupCommandBehavior)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessorUtils.MashupExecuteReaderAsync(DbCommand command, ExecuteQueryRequest queryRequest, Guid activityId)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass4_3.<<ExecuteAdoQuery>b__2>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 ta

Technical Details:
RootActivityId: 5be3a4d0-fd55-4d7a-a64a-b17a7d2436c2
Date (UTC): 10/30/2019 5:25:02 AM
'.

 

 

@Anonymous 

Thanks for the reply.

Seeing that the error message - 

The credentials provided cannot be used for the AnalysisServices source.

 Can you please try to give admin access for this account to testing purpose and try to re-pro the issue.

 

If the issue is persists, please submit a support ticket to investigate with the error details.

Anonymous
Not applicable

They already do, that's the problem.  That account runs the processing fine inside Visual Studio, and while it processes as part of the deployment.  Once its refreshed directly by SSMS, which uses the stored credentials in the deployed bim file, that's when the Gateway gets involved and the error presents itself.  To make this even stranger, I've managed to publish and then straight after run SSMS and have it work.  If I initiate a refresh at a later date, the original failure occurs.  If I had to guess, the token used as part of the deployment is stored in the BIM file and it only lasts a short period before becoming invalid.  So the model, when processing, doesn't reauthenticate but passes a token via the gateway.

 

 

This source can't be listed in the gateway either, as the Gateway throws its own credential error.  This happens no matter what credentials are entered here.

 

Capture.PNG

@Anonymous 

Please submit a ticket to investigate.

Helpful resources

Announcements
Carousel_PBI_Wave1

2023 Release Wave 1 Plans

Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.

Power BI Summit Carousel 2

Global Power BI Training

Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!

BizApps LATAM 2023

Business Application LATAM Summit 2023

Join the biggest FREE Business Applications Event in LATAM this February.

Power Platform Bootcamp

Global Power Platform Bootcamp

In this bootcamp we will deep-dive into Microsoft’s Power Platform stack with hands-on sessions and labs, delivered to you by experts and community leaders.

Top Solution Authors
Top Kudoed Authors