Thank you mister.magoo
Below is working code....
I'll follow back up when/if i can get this working in my ssrs report.
I'll create a datset set called cities in my report setting its source to
DECLARE @ParametersTVP AS testType
INSERT INTO @ParametersTVP (Parameter,ParameterType,ParameterValue)
SELECT 'param2','Main','param1' UNION
SELECT 'param2','Country',@Country --@Country will refer to a previously set parameter.
EXEC dbo.uspMasterParameters @ParametersTVP
I'll create a ssrs parameter called @Cities setting its source to the dataset cities.
Ideally I'll have consolidated logic for ssrs parameter reuse.
--sample data
CREATE TABLE Cities
(
City varchar(20),
Country varchar(20)
)
INSERT INTO Cities
SELECT 'Mexico City', 'Mexico' UNION
SELECT 'Juarez', 'Mexico' UNION
SELECT 'Vancouver', 'Canada'
CREATE TYPE testType AS TABLE
(
Parameter varchar(40),
ParameterType varchar(40),
ParameterValue varchar(100)
);
ALTER PROCEDURE dbo.uspMasterParameters
@TVP testType READONLY
AS
DECLARE @ParametersTVP AS testType
DECLARE @Parameter varchar(40)
DECLARE @ParameterType varchar(40)
DECLARE @ParameterValue varchar(100)
SET @Parameter = (SELECT Parameter FROM @TVP WHERE ParameterType = 'Main')
PRINT @Parameter
IF @Parameter = 'param1'
BEGIN
SELECT 'True' AS TrueFalse
UNION
SELECT 'False' AS ParameterValue
END
IF @Parameter = 'param2'
DECLARE @Country varchar(20)
SET @Country = (SELECT ParameterValue FROM @TVP WHERE ParameterType = 'Country')
BEGIN
SELECT City FROM Cities WHERE Country = @Country
END
DECLARE @ParametersTVP AS testType
INSERT INTO @ParametersTVP (Parameter,ParameterType,ParameterValue)
SELECT 'param1','Main','param1'
EXEC dbo.uspMasterParameters @ParametersTVP
DECLARE @ParametersTVP AS testType
INSERT INTO @ParametersTVP (Parameter,ParameterType,ParameterValue)
SELECT 'param2','Main','param1' UNION
SELECT 'param2','Country','Mexico'
EXEC dbo.uspMasterParameters @ParametersTVP
This works as expected. I can set the ssrs dataset query properties by declaring the table valued parameter, populating it with previously set ssrs parameters if needed, and then passing it to my master parameter procedure.
Viewing 5 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply