2012-11-09 13 views
8

में संक्षेप समूह आइटम मैं क्या मुझे लगता है कि एक अत्यंत साधारण समस्या है है, लेकिन के लिए मुझे के जीवन को समझ नहीं सकता कैसे करना है यह (SSRS 2008 R2)। के रूप में मैं विस्तार से डेटा (न सिर्फ एकत्रित करता है)SSRS 2008 R2

मैं डेटा की पंक्तियों (शिपिंग लागत) है और नौकरी लागत वितरण प्रदर्शित करने के लिए की जरूरत है मैं एक tablix उपयोग कर रहा हूँ,

(संक्षिप्त) रिपोर्ट में डेटा

है
 
TrackNo  ShipCost NoJobs   JobNo  Job Cost 
T1    10.00  1    J1   10.00 
T2    10.00  3    J2   3.33 
T2    10.00  3    J3   3.33 
T2    10.00  3    J4   3.33 

तो, TrackNo टी 1 1 यह और TrackNo टी 2 के साथ जुड़े नौकरी 3 जुड़े नौकरियों हो सकता है हो सकता है। मैं फिर नौकरियों में लागत को प्रो-रता करता हूं। प्रत्येक शिपमेंट लागत $ 10 हैं: कोई T1 नज़र रखने के लिए

  • , नौकरी नहीं J1 $ 10.00
  • कोई टी 2, रोजगार J2 नज़र रखने के लिए मिल जाएगा, जे 3 & जे 4 प्रत्येक $ 3,33

मैं चाहता हूँ मिल जाएगा

 
TrackNo  Ship Total   No. Jobs   Job No    Job Total 
+ T1   10.00    1 
                J1     10.00 
+ T2   10.00    2               
                J2     3.33 
                J3     3.33 
                J4     3.33 

मेरी रिपोर्ट में, समूह 1 कोई ट्रैक कर रहा है;: इस तरह एक रिपोर्ट ड्रिल नीचे है समूह 2 (बाल समूह) नौकरी संख्या है।

 
TrackNo 
    JobNo 

शिप कुल रिपोर्ट पर First(Fields!ShipTotal.Value)

है मैं पूरी रिपोर्ट के लिए ShipTotal योग करने के लिए चाहते हैं (काम योग योग नहीं, इन राउंडिंग त्रुटियाँ हैं के रूप में: जैसे 3,33 * 3 = 9,99)

मैं समूह 1 (First(Fields!ShipTotal.Value)) के विरुद्ध दिखाए गए मानों को कैसे समेट सकता हूं? मुझे लगता है कि स्कोप रास्ता है, लेकिन मैं खो गया हूँ।

उत्तर

17

अक्सर यह प्रश्न एसएसआरएस के पुराने संस्करणों के लिए पूछा जाता है, इसलिए हाल के संस्करण का उत्तर देना अच्छा होता है जो आपको आवश्यक सुविधा का समर्थन करता है। एसएसआरएस 2008 आर 2 ने समेकन के योग के लिए समर्थन प्रस्तुत किया।

रिपोर्ट के लिए अपने कुल बॉक्स में अभिव्यक्ति सेट होने के लिए:

=SUM(MAX(Fields!ShipTotal.Value, "TrackNo"), "DataSetName") 

आप उल्लेख किया है, स्कोप इस का एक महत्वपूर्ण हिस्सा है। अभिव्यक्ति ऊपर इंगित करता है कि SSRS प्रत्येक "TrackNo" समूह के लिए सबसे पहले ShipTotal लेना चाहिए, और उन डेटासेट में हर TrackNo समूह के लिए जोड़ें। keep track of the aggregate को

  • उपयोग एंबेडेड कोड:

    दो अन्य दो तरीकों (स्थानापन्न अपने डेटा वहाँ में स्थापित नाम, बेशक।) इस परिणाम प्राप्त करने के लिए भी SSRS के पुराने संस्करणों में काम करते हैं और साथ ही होगा।

  • अपनी क्वेरी में गणित करें, परिणाम को एक अलग डेटासेट के साथ, या प्रत्येक पंक्ति के साथ एक नया फ़ील्ड के रूप में वापस करें।
+0

SSRS 2005 में काम करता है? जब मैंने कोशिश की तो मुझे त्रुटि मिलती है "कुल कार्यों को अन्य कुल कार्यों के अंदर घोंसला नहीं जा सकता"। – FistOfFury

+3

नहीं, यह कार्यक्षमता SSRS 2008R2 के साथ जोड़ा गया है। वहाँ कस्टम कोड उपयोग कर रहा है एक चल कुल स्टोर करने के लिए, और केवल प्रति समूह एक बार इसे करने के लिए जोड़ने के लिए इस लागू करने के लिए कुछ तरीके सबसे आम की 2005 एक में हैं। कुछ इस तरह: http://devshed.us/Blogs/tabid/227/EntryId/552/SSRS-How-to-get-a-running-total।aspx –

+1

मेरी तरह आप समूह पाद लेख में राशि की जरूरत है, तो आप डाटासेट निर्दिष्ट करने की आवश्यकता नहीं है: '= जोड़ (! मैक्स (फील्ड्स ShipTotal.Value," TrackNo "))' पर्याप्त है – Johann

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