Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon'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.
Hello everyone,
I am trying to create parameters within PowerBI so that I can pass the values to the parameters of a stored procedure.
This is the code for the procedure, which uses the AdventureWorksDW2019 database:
CREATE OR ALTER PROCEDURE [dbo].[TestProcWithParameters]
@CustomerKey INT
, @GeographyKey INT
AS
BEGIN
SELECT
[DC].[CustomerKey]
, [DC].[FirstName] + [DC].[LastName] AS [CustomerName]
, [DC].[GeographyKey]
, [DG].[EnglishCountryRegionName]
FROM [dbo].[DimCustomer] [DC]
INNER JOIN [dbo].[DimGeography] [DG]
ON [DC].[GeographyKey] = [DG].[GeographyKey]
WHERE
[DC].[CustomerKey] = @CustomerKey
AND [DC].[GeographyKey] = @GeographyKey;
END;
I'm attaching screenshots of the parameters to this post.
I followed the advice of this post, but I get an error:
let
Source = Sql.Database("localhost", "AdventureWorksDW2019", [Query="EXECUTE TestProcWithParameters " & CustomerKey & ", " & GeographyKey])
in
Source
Expression.Error: We cannot apply operator & to types Text and Number.
Details:
Operator=&
Left=EXECUTE TestProcWithParameters
Right=1
Solved! Go to Solution.
The error tells you exactly what the issue is.
If you want IDs as part of your query string, they need to be in text format. So you have two options
"EXECUTE TestProcWithParameters " & Text.From(CustomerKey) & ", " & Text.From(GeographyKey)
The error tells you exactly what the issue is.
If you want IDs as part of your query string, they need to be in text format. So you have two options
"EXECUTE TestProcWithParameters " & Text.From(CustomerKey) & ", " & Text.From(GeographyKey)
Thanks. I actually didn't need to change the parameters. Just adding "Text.From" got it to work. I'll see if I need to change them as I build the visuals.
Sorry if I wasn't clear. I gave two options that you could pick from. You don't need to do both. Just go with whatever makes more sense in your use case.
Ah, ok. Not a problem. The other solution may come in handy at some point in the future.