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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
RichardJ
Responsive Resident
Responsive Resident

Help with Syntax for TSQL Query Parameter

Hi,

I have a query which works ok

 

 

Declare @WorkflowName NVARCHAR(100)
Set @WorkflowName = 'Design Alpha'
--Set @WorkflowName = '" & Workflow_Names & "'

Select 
WorkflowID,
@WorkflowName

From Workflows w Where Name = 'Design Alpha' 
--From Workflows w Where Name = @WorkflowName

 

 

 

Hard Coded Query ResultHard Coded Query Result

 

When I try to use the parameter value in the query

 

 

 

Set @WorkflowName = '" & Workflow_Names & "'

 

 

 

instead of 'Design Alpha' then the parameter value which is passed through is as shown

 

Parameter Value when used in query.PNG

I'd expected the Yellow Value to be 'Design Alpha' as this is what the current Parameter Value is

 

Parameter definition.PNG

However the query doesn't work as the & Workflow Names & is passed through as the value instead of the expected 'Design Alpha'

 

I've used Parameter values without any issue in the past but they have always been numeric values so am wondering if i'm going wrong with my TSQL syntax.

Hopefully i've made a typo or something silly but i've gone snow blind looking at it.


Can anyone advise how I can successfully pass in the dynamic parameter ?

 

Thanks,

Richard

1 ACCEPTED SOLUTION
RichardJ
Responsive Resident
Responsive Resident

Thanks for the response @lbendlin - I managed to figure it out.

let
    Source = Sql.Database(Server_Name, Database_Name, [Query="
    
   SELECT
   Workflows.Name as 'Workflow Name',
   Workflows.Description as 'Workflow Description',
   Workflows.InitialTransitionID as 'Workflow TransitionID',
   Status.Name as 'Workflow Status Name'

   FROM Workflows 

   Left Outer Join Status on Status.WorkflowID = Workflows.WorkflowID   
   
   Where Workflows.Name = '" & Workflow_Choice & "' and Status.Name = 'Work In Progress'
   

"])
in
    Source

I'd mistakenly set the storage mode of the table to Import when it should have been DirectQuery for the parameter to populate ok.

 

DirectQuery.PNG

Appreciate you responding to the question.

Thanks,

Richard

View solution in original post

2 REPLIES 2
lbendlin
Super User
Super User

Please show more of the Power Query code.  Your example is missing the beginning and end of the query string.

RichardJ
Responsive Resident
Responsive Resident

Thanks for the response @lbendlin - I managed to figure it out.

let
    Source = Sql.Database(Server_Name, Database_Name, [Query="
    
   SELECT
   Workflows.Name as 'Workflow Name',
   Workflows.Description as 'Workflow Description',
   Workflows.InitialTransitionID as 'Workflow TransitionID',
   Status.Name as 'Workflow Status Name'

   FROM Workflows 

   Left Outer Join Status on Status.WorkflowID = Workflows.WorkflowID   
   
   Where Workflows.Name = '" & Workflow_Choice & "' and Status.Name = 'Work In Progress'
   

"])
in
    Source

I'd mistakenly set the storage mode of the table to Import when it should have been DirectQuery for the parameter to populate ok.

 

DirectQuery.PNG

Appreciate you responding to the question.

Thanks,

Richard

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.