2013-08-13 5 views
5

मुझे एसएसआरएस में किसी सेल के मान के साथ आने में परेशानी हो रही है, जो कि विशिष्ट मानों का योग होना चाहिए।विशिष्ट मानों को समेटने का प्रयास कर रहे हैं SQL

enter image description here

मैं मुसीबत लाल ($ 11.25) में मूल्य प्राप्त हो रही है: मैं एक SSRS रिपोर्ट है कि नीचे स्क्रीनशॉट के समान दिखता है। मुझे मूल ट्रैकिंग # एस के आधार पर मूल रूप से जहाज लागत को जोड़ना होगा। तो दो अलग-अलग ट्रैकिंग #s हैं, एक $ 5.25 की शिप लागत और अन्य $ 6.00 के साथ, इसलिए लाल रंग में प्रदर्शित कुल 11.25 डॉलर होना चाहिए। लेकिन मैं इसे एसएसआरएस में प्राप्त नहीं कर सकता और इसे SQL क्वेरी में भी समझ नहीं सकता।

मैं की तरह एक सबक्वेरी में सोच रहा हूँ (और मैं नीचे पता मान्य नहीं है एसक्यूएल):

(SELECT SUM([Ship Cost]) WHERE [Tracking #] IS DISTINCT) AS [Ship Cost] 

लेकिन मैं यह कैसे लिखने के लिए पता नहीं है। मैं इस अनुशंसा नहीं करते हैं,

SELECT SUM(distinct [Ship Cost]) . . . 

लेकिन:

उत्तर

5

आप निम्न कार्य कर सकते हैं। आपके पास एक ही लागत के साथ दो आइटम हो सकते हैं और केवल एक गिना जाएगा।

select SUM(case when seqnum = 1 then [Ship Cost] end) 
from (select t.*, 
      row_number() over (partition by [Order #], [Tracking #] 
           order by (select NULL) 
           ) as seqnum 
     . . . 
    ) t 
+0

हाय @ गॉर्डन लिनॉफ़, आपको एक अच्छा समाधान प्रतीत होता है। मुझे आपके द्वारा सही तरीके से काम करने के लिए दी गई क्वेरी नहीं मिल सका, लेकिन मैंने ROW_NUMBER फ़ंक्शन का उपयोग करके ऐसा कुछ किया। अब मेरी रिपोर्ट पर एक नया आउटपुट है। स्क्रीनशॉट में लाल रंग में मानों को एसएसआरएस में निम्नलिखित अभिव्यक्ति का उपयोग करके गणना की जाती है: = एसयूएम (आईआईएफ (फ़ील्ड! रोवम्बर.वैल्यू = 1, फ़ील्ड्स! वेइट। वैल्यू, 0)) हालांकि, यह उन ऑर्डर के लिए एक त्रुटि देता है जो अधिक से अधिक है 1 समान। अभी भी मुझे समझ में नहीं आता है। क्या आप जानते हैं कि अभिव्यक्ति को कैसे संशोधित किया जा सकता है ताकि रिपोर्ट आउटपुट सही हो? –

+1

@ kyle_13। । । मुझे लगता है कि आपको नमूना डेटा और अपेक्षित परिणामों के बारे में जानकारी प्रदान करने के लिए एक और प्रश्न पूछना चाहिए। –

+0

धन्यवाद @ गॉर्डन लिनॉफ, यही वह है जो मैंने किया है, यहां समाधान मिला है http://stackoverflow.com/questions/18236373/expression-in-ssrs-not-working-as-expected। रिपोर्ट पर डेटा रूपांतरण मुद्दा था। –

12

अलग सूची पहले प्राप्त करें ...

SELECT SUM(SQ.COST) 
FROM 
(SELECT DISTINCT [Tracking #] as TRACK,[Ship Cost] as COST FROM YourTable) SQ 
0

 

select sum(shipcost) from 
(select distinct tracking#, shipcost from table) 
की तरह कुछ प्रयास करें:

बेहतर तरीका प्रत्येक Tracking # के लिए एक मूल्य का चयन करने के row_number() समारोह का उपयोग कर रहा है

चीयर्स

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

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