मैं एक ही सवाल है और अधिक था, और हालांकि इस सूत्र पुराना है, यह अभी भी सारांश SSRS 2008R2 के लिए मैंने पाया में एक अच्छा एक है, इसलिए ...
हालात
- आप डेटा को देखने के लिए किसी URL से एक मूल्य का उपयोग करना चाहते
- आप एक रिपोर्ट
- आप एक अन्य रिपोर्ट के लिए एक रिपोर्ट से एक पैरामीटर पास करना चाहते हैं में किसी URL से एक पैरामीटर प्रदर्शित करना चाहते हैं
क्रिया
यदि लागू हो, रिपोर्ट/पृष्ठ/Report.aspx? ItemPath =ReportServer साथ बदलने के लिए सुनिश्चित हो?। इसके बजाय इस की:
http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName
उपयोग इस वाक्य: दूसरे शब्दों में
http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName
रिपोर्ट के पैरामीटर (रों) जोड़ें और के रूप में छिपा (या दिखाई दे, तो उपयोगकर्ता कार्रवाई की अनुमति है, हालांकि में रखना ध्यान रखें कि जब रिपोर्ट पैरामीटर बदल जाएगा, यूआरएल अपडेटेड एंट्री के आधार पर परिवर्तन नहीं करेगा)।
मापदंडों संलग्न & ParameterName = मूल्य के साथ URL पर
पैरामीटर संदर्भित किया जा सकता या @ParameterName का उपयोग कर रिपोर्ट में प्रदर्शित हैं, चाहे वे रिपोर्ट में या यूआरएल
उपकरण पट्टी जहां छिपाने के लिए में सेट कर रहे हैं मापदंडों प्रदर्शित किए जाते हैं, & rc जोड़ें: टूलबार = यूआरएल के लिए झूठी (reference)
लाना है कि सभी को एक साथ, आप एम्बेडेड मूल्यों के साथ एक यूआरएल चला सकते हैं, या एक रिपोर्ट से एक कार्रवाई के रूप में इस फोन और एक अन्य रिपोर्ट में लिखा है:
http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false
रिपोर्ट डाटासेट गुण क्वेरी में: देखने से चयन सामान जहाँ उपयोगकर्ता = @UserID
रिपोर्ट में, करने के लिए [UserID] (या = फील्ड्स UserID.Value!)
रखें सेट अभिव्यक्ति मूल्य ध्यान रखें कि यदि किसी रिपोर्ट में एकाधिक पैरामीटर हैं, तो आपको डेटासेट क्वेरी कैसे लिखी जाती है, इस पर निर्भर करते हुए, आपको URL में सभी पैरामीटर शामिल करने की आवश्यकता हो सकती है, भले ही रिक्त हो।
कार्रवाई का उपयोग कर एक पैरामीटर पास करने के लिए = URL पर जाएं करने के लिए अभिव्यक्ति सेट: (एक लाइन ब्रेक है पर्याप्त नहीं है)
="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID="
&Fields!UserID.Value
&"&rc:Toolbar=false"
&"&rs:ClearSession=True"
एक अभिव्यक्ति के बाद एक स्थान की अगर & के बाद सुनिश्चित करें। अभिव्यक्ति से पहले कोई स्थान आवश्यक नहीं है। यह विधि पैरामीटर को पास कर सकती है लेकिन इसे छिपाने में नहीं है क्योंकि यह यूआरएल में दिखाई दे रही है।
यदि आप & आरएस शामिल नहीं करते हैं: ClearSession = True तो जब तक ब्राउज़र सत्र कैश साफ़ नहीं हो जाता है तब तक रिपोर्ट रीफ्रेश नहीं होगी।
कार्रवाई का उपयोग कर एक पैरामीटर पास करने के लिए = रिपोर्ट पर जाएँ:
- रिपोर्ट निर्दिष्ट
- रिपोर्ट चलाने के लिए
- पैरामीटर (रों) जोड़े पैरामीटर (रों) जोड़े आप पारित करने के लिए चाहते हैं (पैरामीटर को गंतव्य रिपोर्ट में परिभाषित करने की आवश्यकता है, इसलिए मेरे ज्ञान के लिए आप इस विधि का उपयोग कर आरआर: टूलबार जैसे यूआरएल-विशिष्ट कमांड का उपयोग नहीं कर सकते हैं); हालांकि, मैं इसे के रूप में रिपोर्ट में रिपोर्टिंग Sever मानकों में देखा, कस्टम कोड के माध्यम से पढ़ने के लिए या उपयोगकर्ता को संकेत चेकबॉक्स सेट करने के लिए, संभव हो जाएगा लगता है।)
संदर्भ के लिए, / = %2f
समस्या एक 'स्थिर' यूआरएल के माध्यम से रिपोर्ट तक पहुँचने का प्रयास के रूप में आईडब्ल्यू था,: वहाँ अधिक विस्तृत जानकारी के इस
&<parameter>=<value>
की तरह अपने parmaters संलग्न एक रिपोर्ट पहले से जेनरेट की गई है, यह 'गतिशील' रिपोर्ट पीढ़ी नहीं करती है - अगर आप इसे चाहते हैं तो आपको 'http: // /ReportServer/Pages/ReportViewer.aspx ...' जैसे यूआरएल का उपयोग करना होगा। जैसा कि नीचे बताया गया है। –
AwkwardCoder