मैंने आपके जवाब पर अपनी टिप्पणी लिखने का फैसला किया, एम अली, मेरे अपने प्रश्न के उत्तर के रूप में, क्योंकि मुझे इसे हल करने का एक तरीका मिला। शायद मैंने अपनी समस्या को पर्याप्त रूप से स्पष्ट नहीं किया। मुझे पता है कि उपरोक्त चीज़ कैसे काम करती है, और एक डेटासेट के आधार पर पैरामीटर कैसे पास करें, SQL के माध्यम से एक और डेटासेट बनाने के लिए, एकाधिक मानों की अनुमति है या नहीं। हालांकि मैं आपके उत्तर की सराहना करता हूं!
मेरे पास समस्या यह है कि क्वेरी जो पैरामीटर के लिए मूल्यों की मेरी सूची को परिभाषित करेगी, और वास्तविक डेटासेट के लिए क्वेरी समान हैं। और यह एक बड़ी क्वेरी है। दूसरे शब्दों में, जहां यह कोड नमूने में 'टेबल' कहता है, मेरे पास कोड की कई सैकड़ों लाइनें हैं। और मेरा लक्ष्य यह नहीं था कि यह पूरी क्वेरी दोनों डेटासेट को परिभाषित करे। अगर मुझे भविष्य में क्वेरी बदलनी है, तो मुझे इसे एक से अधिक स्थानों पर करना होगा। यहां बताया गया है कि मैंने इसे कैसे हल किया:
मैंने मुख्य क्वेरी को अपनी रिपोर्ट में एम्बेड करने के बजाय एक साझा डेटासेट में रखा है। और फिर मैंने अपनी क्वेरी में एक पंक्ति_नंबर फ़ंक्शन जोड़ा जैसे:
SELECT ID, Value, UserID, rn = ROW_NUMBER() OVER(PARTITION BY UserID ORDER BY UserID)
FROM *my huge query*
इसका मतलब है कि प्रति उपयोगकर्ता आईडी केवल एक 'आरएन =1' पंक्ति है। फिर मैं अपनी रिपोर्ट पर वापस गया। मेरा मूल डेटासेट 1 तब साझा किए गए डेटासेट को इंगित करेगा। डेटासेट 2 (पैरामीटर एक) साझा डेटासेट को भी एक अंतर के साथ इंगित करेगा कि मैंने उस डेटासेट में 'आरएन =1' कहकर एक फ़िल्टर जोड़ा है। फिर मैंने 'एकाधिक मानों को अनुमति दें' के साथ एक पैरामीटर बनाया जिसने डेटासेट 2 से अपना मान लिया। और यह एक आकर्षण की तरह काम करता है। इस तरह मैं केवल साझा किए गए डेटासेट पर जा सकता हूं जब मुझे क्वेरी को अपडेट करने की आवश्यकता होती है, और डेटासेट 1 और डेटासेट 2 दोनों को तदनुसार अपडेट किया जाएगा!
सफलता :)
दोबारा, आपके उत्तर के लिए धन्यवाद!