रिपोर्ट में प्रदर्शन पैरामीटर (बहु-मूल्य)


81

क्या कोई मुझे बता सकता है कि SSRS रिपोर्ट में मेरे बहु मूल्य पैरामीटर के सभी चयनित मूल्य कैसे प्रदर्शित करें। parameter.valueविकल्प देते समय यह त्रुटि देता है।


1
यह जोइन फ़ंक्शन का उपयोग करने का तरीका है, मल्टीवाल्यू मापदंडों पर एक बड़े ब्लॉग के हिस्से के रूप में: wiseowl.co.uk/blog/s187/multivalue-report-builder.htm
एंडी ब्राउन

जवाबों:


155

आप इस तरह से लेबल्स की एक स्ट्रिंग बनाने के लिए "जॉइन" फंक्शन का उपयोग कर सकते हैं:

=Join(Parameters!Product.Label, ",")

यदि वह हेडर में शामिल होने वाले एक्सप्र में जोड़ रहा है, तो यह रिपोर्ट नहीं के शरीर पर परिणाम बढ़ने का कारण होगा?
मिर्ज़स

एक शानदार जवाब देने के लिए धन्यवाद, इससे पहले कि मैं अपने बालों को फाड़ कर बाहर निकलता!
पल्सहेड

3
या=Join(Parameters!Product.Value, ",")
डौग_विसन

यदि आपके पास प्रत्येक उत्पाद पर पृष्ठ विराम है तो क्या होगा? क्या प्रति पृष्ठ एक उत्पाद प्रदर्शित करना संभव है?
पेप्स

12

= नई लाइन के लिए (पैरामीटर्स! Product.Label, vbcrfl) से जुड़ें


1
@nadiObi: इसके बजाय vbCrLf होना चाहिए ।
पेट

6

मैं समारोह में शामिल होने के बारे में नहीं जानता था - अच्छा! मैंने एक फ़ंक्शन लिखा था जिसे मैंने कोड सेक्शन में रखा था (रिपोर्ट गुण-> कोड टैब:

Public Function ShowParmValues(ByVal parm as Parameter) as string
   Dim s as String 

      For i as integer = 0 to parm.Count-1
         s &= CStr(parm.value(i)) & IIF( i < parm.Count-1, ", ","")
      Next
  Return s
End Function  

+1 यह एक रिपोर्ट हेडर में काम करता है जहाँ "जॉइन" सॉल्यूशन के लिए एक टेबल की आवश्यकता होती है (जो रिपोर्ट हेडर में नहीं जा सकता)।
जेफ

0

उम्मीद है कि किसी और को यह उपयोगी लगता है:

मल्टी-वैल्यू पैरामीटर का उपयोग करने के लिए जॉइन का उपयोग करना सबसे अच्छा तरीका है। लेकिन क्या होगा अगर आप एक कुशल 'सिलेक्ट ऑल' चाहते हैं? यदि 100s + हैं, तो क्वेरी बहुत अक्षम होगी।

SQL क्वेरी का उपयोग करने के बजाय इसे हल करने के लिए, इसे अभिव्यक्ति का उपयोग करके बदलें (Fx बटन शीर्ष दाईं ओर क्लिक करें) फिर अपनी क्वेरी कुछ इस तरह बनाएं (भाषण चिह्न आवश्यक हैं):

= "Select * from tProducts Where 1 = 1 " 
IIF(Parameters!ProductID.Value(0)=-1,Nothing," And ProductID In (" & Join(Parameters!ProductID.Value,"','") & ")")

अपने पैरामीटर में निम्न कार्य करें:

    SELECT -1 As ProductID, 'All' as ProductName Union All
    Select  
    tProducts.ProductID,tProducts.ProductName
    FROM
    tProducts

क्वेरी को एक अभिव्यक्ति के रूप में बनाने का मतलब है कि आप एसक्यूएल स्टेटमेंट को अधिक कुशल बना सकते हैं लेकिन एसक्यूएल सर्वर को 'इन' स्टेटमेंट में मानों को संभालने में कठिनाई का सामना करना पड़ता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.