मैं AS400 में एक कॉलम वाली क्वेरी से डेटासेट बनाने के लिए SSRS का उपयोग कर रहा हूं जिसमें महीने की संख्या है जो मुझे एक शर्त के आधार पर मिलती है। मैं महीने की संख्या प्राप्त करने में सक्षम हूं। लेकिन जब मैं महीने का नाम प्राप्त करने का प्रयास करता हूं तो एसएसआरएस क्वेरी स्वीकार नहीं करता है। हालांकि अगर मैं एएस 400 पर एक ही क्वेरी चलाता हूं तो क्वेरी सफलतापूर्वक चलती है

मेरी क्वेरी का परीक्षण करने के लिए मैंने इसे MONTHNAME (MONTH) का उपयोग करके AS400 में चलाया, यह सफलतापूर्वक चलता है हालांकि SSRS उसी क्वेरी को सही के रूप में स्वीकार नहीं करता है। नीचे मेरी क्वेरी है।

SELECT DISTINCT SLMONTH, MONTHNAME(SLMONTH) AS Expr1
FROM            VEHICLE.VHTSALSUM
WHERE        (SLMGCD = ?) AND (SLMODLCD = ?) AND (SLMODLYR = ?) AND (SLYEAR = ?)
0
krishna 12 फरवरी 2019, 12:02

1 उत्तर

सबसे बढ़िया उत्तर

सर्वर पर ऐसा करने के बजाय, आप केवल महीने की संख्या एसएसआरएस को वापस कर सकते हैं और इसे महीने के नाम में बदलने के लिए एक अभिव्यक्ति का उपयोग कर सकते हैं।

अभिव्यक्ति बस होगी

=MonthName(Fields!SLMONTH.Value)

यह मान लेता है कि AS/400 महीने की संख्या 1 - 12 लौटाता है

व्यक्तिगत रूप से मुझे लगता है कि यह वैसे भी एक बेहतर तरीका है क्योंकि इसका मतलब है कि आपके पास क्रमबद्ध करने के लिए महीने की संख्या है। आमतौर पर अपनी प्रस्तुति रिपोर्ट में ही करना बेहतर होता है।

प्रतिक्रिया के आधार पर संपादित करें: पैरामीटर में उपयोग के लिए ऐसा करने के लिए ..

  1. एक डेटासेट बनाएं जो सिर्फ आपके महीने के नंबर लौटाए।
  2. डेटासेट नाम पर राइट-क्लिक करें और प्रॉपर्टीज पर जाएं
  3. उदाहरण के लिए, फ़ील्ड टैब पर, एक नया फ़ील्ड जोड़ें जिसे मंथनाम कहा जाता है
  4. फ़ील्ड स्रोत के लिए फ़ंक्शन बटन पर क्लिक करें =MONTHNAME(Fields!MonthID.Value) व्यंजक टाइप करें
  5. फिर आपके पैरामीटर में उपयोग के लिए महीने का नाम सीधे आपके डेटासेट में उपलब्ध होगा
1
Alan Schofield 13 फरवरी 2019, 16:41