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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register 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

5 REPLIES 5
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.

 

 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.