-
Notifications
You must be signed in to change notification settings - Fork 76
Filter a dataset with a multiple value parameter
Anthony edited this page Jan 15, 2025
·
1 revision
Problem: Passing a multiple value parameter to a report source
Solution 1: You can pass the parameter as a comma separated string and then split it in the where clause.
CREATE PROC [dbo].[example_procedure]
(
@CheckDateFrom DATE = NULL
, @CheckDateTo DATE = NULL
, @BankCode VARCHAR(MAX) = NULL
)
AS
BEGIN
SELECT
[c].[BANK_CODE]
, [c].[CHECK_DATE]
, [c].[CHECK_NUM]
FROM [dbo].[APT_CHECK] AS [c]
WHERE
1 = 1
AND [c].[CHECK_DATE] BETWEEN @CheckDateFrom AND @CheckDateTo
AND [c].[BANK_CODE] IN
(
SELECT
value
FROM STRING_SPLIT(@BankCode, ',')
WHERE RTRIM(value) != ''
);
END;
Solution 2: You can do a Boolean filter in the dataset.
=IIF(InStr(("'" + Join(Parameters!BankCode.Value, "', '") + "'"), ("'" + Trim(Fields!BANK_CODE.Value) + "'") ) > 0, True, False)