Реших да напиша коментара си за вашия отговор, M.Ali, като отговор на моя собствен въпрос, тъй като намерих начин да разреша това. Може би не съм обяснил проблема си достатъчно точно. Наясно съм как работи горното нещо и как да предам параметри, базирани на един набор от данни, надолу през SQL, за да създам друг набор от данни, разрешени или не множество стойности. Все пак оценявам отговора ви!
Проблемът, който имам, е, че заявката, която ще дефинира списъка ми със стойности за параметъра, и заявката за действителния набор от данни са едни и същи. И това е ОГРОМНО запитване. С други думи, където пише „ТАБЛИЦА“ в примерния код, имам няколко стотици реда код. И моята цел беше цялата тази заявка да не дефинира и двата набора от данни. Ако в бъдеще трябва да променя заявката, ще трябва да го направя на повече от едно място. Ето как го реших:
Поставих основната заявка в споделен набор от данни, вместо да я вградя в моя отчет. След това добавих функция row_number към моята заявка така:
SELECT ID, Value, UserID, rn = ROW_NUMBER() OVER(PARTITION BY UserID ORDER BY UserID)
FROM *my huge query*
Това означава, че има само един ред „rn =1“ за всеки UserID. След това се върнах към доклада си. Тогава моят оригинален DataSet1 просто ще сочи към споделения набор от данни. DataSet2 (параметърът one) също ще сочи към споделения набор от данни с единствената разлика, че добавих филтър към този набор от данни, казващ „rn =1“. След това направих параметър с „разрешаване на множество стойности“, който взе своите стойности от DataSet2. И работи като чар. По този начин мога просто да отида до споделения набор от данни, когато трябва да актуализирам заявката, и DataSet1 и DataSet2 ще бъдат актуализирани съответно!
Успех :)
Отново благодаря за отговора!