2012-06-14 17 views
16

का उपयोग कर ऑपरेशन की तरह एक SUMIF लेना मैं SQL सर्वर रिपोर्ट बिल्डर 3.0 में एक सशर्त राशि उत्पन्न करने का प्रयास कर रहा हूं।एसक्यूएल सर्वर रिपोर्ट बिल्डर

मेरे अभिव्यक्ति इस तरह दिखता है:

=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0)) 

मैं आशा व्यक्त की चाहते हैं कि इस अभिव्यक्ति 2.

दुर्भाग्य प्रकार के सभी परियोजनाओं के kWp की राशि का उत्पादन होता है, यह होने के लिए नहीं है। और मैं क्यों काम नहीं कर सकता क्यों। यह सिर्फ 0 परिणाम देता है, भले ही मुझे पता है कि केडब्ल्यूपी कॉलम में गैर-शून्य मान हैं, और कॉलम में नल शामिल नहीं हैं।

एक सहयोगी

1 * Fields!kWp.Value 

साथ

Fields!kWp.Value 

की जगह एक सकारात्मक परिणाम प्राप्त करने के लिए प्रबंधन कैसे किया लेकिन हम पता नहीं क्यों यह काम करता है, और इसलिए, वास्तव में इस सवाल का जवाब भरोसा नहीं कर सकते ।

मैं ही व्यवहार करने के लिए इस सशर्त योग कैसे मिल सकता है?

+0

क्या आपके पास कॉलम केडब्ल्यूपी में संग्रहीत कोई दशमलव मान है? – praveen

+0

हाँ - वे सब दशमलव मान रहे हैं - मोटे तौर पर श्रृंखला में 0 -! 100 –

+0

तो फिर तुम पूर्णांक योग (IIF (फील्ड्स ProjectTypeID.Value = 2 में मूल्यों कास्ट करने के लिए की जरूरत है, CInt (फील्ड्स FieldkWp.Value), 0) – praveen

उत्तर

22

स्तंभ 'kWp' के डेटा प्रकार दशमलव ताकि आप

SUM(iif(Fields!ProjectTypeID.Value = 2,cdbl(Fields!kWp.Value),0.00)) 
1

प्रकार के सभी परियोजनाओं के kWp की sum पाने के लिए, के रूप में इस अभिव्यक्ति है,

=IIf(Fields!ProjectTypeID.Value=2,sum(Fields!kWp.Value),0) 

मुझे आशा है कि इस यू में मदद मिलेगी।

+0

मेरा उत्तर अद्यतन किया है चिह्नित कर सकते हैं कर सकते हैं तो आप इस वाकई। केवल उन मानों को समेटेगा जिनके लिए यह सच है? इस तरह से लिखा गया है, ऐसा लगता है कि अगर पहले किया जाएगा - और फिर सभी फ़ील्ड का योग वापस कर दें। –

0

सशर्त योग प्राप्त करने के लिए आप इस अभिव्यक्ति की कोशिश कर सकते दोगुना करने के लिए या तो 0.00 करने के लिए डिफ़ॉल्ट मान परिवर्तित या स्तंभ कास्ट करने के लिए की जरूरत है

=sum(IIf(Fields!balance.Value > 0,(Fields!balance.Value),0)) 

यह केवल सकारात्मक संख्याओं को दर्शाता है अन्यथा यह कुल मिलाकर 0 जोड़ता है, आप इसे विपरीत बना सकते हैं।

संबंधित मुद्दे