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

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
snowstar
Frequent Visitor

Dynamic Parameter m Error with text value including -

Hello!

 

My Dynamic Parameter m is giving an error when the text value from a list of plain parameter has a hyphen (-) in it.

 

Like 312-34

 

Not sure why, I defined as text.

 

I get this error:

 

DataSource.Error: Microsoft SQL: Statement(s) could not be prepared.
Incorrect syntax near '-'.
Details:
DataSourceKind=SQL
DataSourcePath=mtlsql01;Reco_DEF
Message=Statement(s) could not be prepared.
Incorrect syntax near '-'.
ErrorCode=-2146232060
Number=8180
Class=16

 

Can anyone help?

 

I spent the whole day trying to figure it out.

 

Thanks!

 

2 ACCEPTED SOLUTIONS

Thanks for your help! (Not sure if I replied at the right spot)

 

This is the Query Code:

 

= Sql.Database("MTLSQL01", "Reco_DEF", [Query="SELECT *#(lf)FROM OPENQUERY ([MTLSQL01],#(lf)'EXEC Reco_DEF.dbo.DEF_Customer_Detail_NoDuplication_pbi " & ParamCustomer & ",
" & ParamCustomerLocation & " , " & Division & " ') " ])

 

This is the parameter code:

"2705-10" meta [IsParameterQuery=true, ExpressionIdentifier=CustomerLocation, Type="Text", IsParameterQueryRequired=true]

 

If I put the parameter in quotes in current value:  "2705-10" It works.

"""2705-10""" meta [IsParameterQuery=true, ExpressionIdentifier=CustomerLocation, Type="Text", IsParameterQueryRequired=true]

 

 

 

Thaks in advance.

 

 

View solution in original post

I fixed the issue.

After running profiler, I copied and pasted statement that was sent and ran it in sql.

It failed.

I added brackets to my parameter in sql and it worked.

I then added brackets in m:

[" & ParamCustomerLocation & "]

and it worked!

Maybe I need to do this because I am using OPENQUERY?

 

In any case thanks for your help watkinnc.

 

View solution in original post

6 REPLIES 6
Anonymous
Not applicable

So it looks like the parameter is named CustomerLocation; any reason why you use ParamCustomerLocation instead of just CustomerLocation?

I fixed the issue.

After running profiler, I copied and pasted statement that was sent and ran it in sql.

It failed.

I added brackets to my parameter in sql and it worked.

I then added brackets in m:

[" & ParamCustomerLocation & "]

and it worked!

Maybe I need to do this because I am using OPENQUERY?

 

In any case thanks for your help watkinnc.

 

Hi watkinnc,

 

THe parameter is ParamCustomerLocation and it takes the data from a list query called CustomerLocation.

Anonymous
Not applicable

Can we see some of your code, plus the parameter code?

Thanks for your help! (Not sure if I replied at the right spot)

 

This is the Query Code:

 

= Sql.Database("MTLSQL01", "Reco_DEF", [Query="SELECT *#(lf)FROM OPENQUERY ([MTLSQL01],#(lf)'EXEC Reco_DEF.dbo.DEF_Customer_Detail_NoDuplication_pbi " & ParamCustomer & ",
" & ParamCustomerLocation & " , " & Division & " ') " ])

 

This is the parameter code:

"2705-10" meta [IsParameterQuery=true, ExpressionIdentifier=CustomerLocation, Type="Text", IsParameterQueryRequired=true]

 

If I put the parameter in quotes in current value:  "2705-10" It works.

"""2705-10""" meta [IsParameterQuery=true, ExpressionIdentifier=CustomerLocation, Type="Text", IsParameterQueryRequired=true]

 

 

 

Thaks in advance.

 

 

Hi there.

 

I know that this is late and i hope that you found a solution. 

 

I have not cofriemd this but I bet that you need to use escapre characters aroudn the hyphen. Here is a great article: https://blog.crossjoin.co.uk/2018/03/05/character-escape-sequences-in-m/

Helpful resources

Announcements
September Power BI Update Carousel

Power BI Monthly Update - September 2025

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