This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreDid you hear? There's a new SQL AI Developer certification (DP-800). Start preparing now and be one of the first to get certified. Register now
Hi all,
Using Office M365 and SSMS 12.0.2269.0
I created and tested a Stored Procedure in AdventureWorksDW2017 - works great
Now I am trying to pass a parameter to the Stored Procedure in Excel through Power Query
I created a Table named "param" and entered the parameter
I then opened the Advanced Editor in Power Query and entered this code
let
DepartmentName=Excel.CurrentWorkbook(){[Name=”param”]}[Content]{0}[#”DepartmentName”],
Source = Sql.Database("PCName\SQL2017INSTANCE2", "AdventureWorksDW2017",
[Query="exec usp_SelectEmployees '"
& DepartmentName
&"'"])
in
Source
But I am receiving an Expression.SyntaxError:Invalid identifier
Do you see anything that looks incorrect?
I've been staring at it for an hour now.
Thanks
Solved! Go to Solution.
Hi @UncleLewis ,
The & is used to connet the string, you could refer to @edhans 's suggestions to use ' ' ' in query. By the way, did you want to pass multiple parameters? If so, I think you could change your store prcedured like below(split_string is a split stored procedure)
create proc testp @a varchar(20) as
select * from test1
where name in (select value from Split_String(@a, ','))
Then change your M code like below(use " as Escape Characters )
let
Source = Sql.Database("localhost", "newsql", [Query="exec testp '"¶&"'"])
in
Source
Best Regards,
Zoe Zhi
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
I don't know how your stored procedure works, but the last thing you are passing is this:
"'"
That single quote doesn't look right.
For a full overview of stored procedures and parameters from Power Query, see this article.
DAX is for Analysis. Power Query is for Data Modeling
Proud to be a Super User!
MCSA: BI ReportingThanks,
Doesn't the ampersand concatenate the different strings together?
So really everything between {} one continuous string broken over multiple lines?
Thanks
Hi @UncleLewis ,
The & is used to connet the string, you could refer to @edhans 's suggestions to use ' ' ' in query. By the way, did you want to pass multiple parameters? If so, I think you could change your store prcedured like below(split_string is a split stored procedure)
create proc testp @a varchar(20) as
select * from test1
where name in (select value from Split_String(@a, ','))
Then change your M code like below(use " as Escape Characters )
let
Source = Sql.Database("localhost", "newsql", [Query="exec testp '"¶&"'"])
in
Source
Best Regards,
Zoe Zhi
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 7 | |
| 5 | |
| 4 | |
| 3 | |
| 3 |