तिथि सीमा में प्रत्येक तिथि के लिए क्रिस्टल रिपोर्ट कुल योग

यह स्टैक ओवरफ़्लो पर मेरा पहला प्रयास है, इसलिए उम्मीद है कि आप सभी मेरी मदद कर सकते हैं। मुझे यहां योगदान देना शुरू करने में खुशी होगी, यह अतीत में ऐसा उपयोगी टूल रहा है।

ठीक है, इसलिए मैं एक ऐसी रिपोर्ट लिखने की कोशिश कर रहा हूं जो विनिर्माण सुविधा के पिछले पिछले घंटों को चार्ट करता है। मेरे पास टेबल का एक समूह है, जो प्रत्येक विनिर्माण आदेश की सूची देता है और देय तिथि और समाप्ति तिथि देता है। रिपोर्ट चलाने वाला व्यक्ति दिनांक सीमा में प्रवेश करता है और मैं एक्स-अक्ष के साथ तिथियों के साथ एक चार्ट उत्पन्न करना चाहता हूं और वाई-अक्ष पर पिछले घंटों के योग का योग बनाना चाहता हूं। हो सकता है कि मैं तीन-फार्मूले चाल के अनुकरण के साथ कुछ खो रहा हूं, लेकिन मैं इसे काम पर नहीं ला सकता हूं। मैं देय तिथि से समूह कर सकता हूं, लेकिन यह केवल मुझे कुल आदेश देता है जो किसी दिए गए दिनांक पर देय हो जाता है।

मुझे जो कुछ चाहिए वह निम्न जैसा है, जो चार्ट योग्य है:

    For each (date in DateRange) {
       If (Due Date < i) && (Comp Date > i) {
          Past Due Hours = Past Due Hours + manufacturing order Hours
       }
    }

मुझे पता है कि यह क्रिस्टल सिंटेक्स में नहीं है, मैं बस तस्वीर भरने की कोशिश कर रहा था। कोई मदद?

0
जोड़ा संपादित
विचारों: 1

1 उत्तर

इस प्रकार का सवाल नियमित रूप से आता है- अगर मैं सही ढंग से समझ गया हूं। आपके पास ऐसा कुछ है?

OrderNum DueDate  CompएलetedDate
1        01/01/01 01/02/01
2        01/01/01 01/01/01
3        01/02/01 01/03/01
4        01/02/01 01/02/01

अब आपको सबसे पहले जो चीज करने की ज़रूरत है वह उसमें सभी तिथियों के साथ एक टेबल (अन्य समान दृष्टिकोण हैं) प्राप्त करें और अपने डेटासेट में शामिल हों ताकि आप इसके साथ समाप्त हो जाएं:

OrderNum DueDate  CompएलetedDate Date
1        01/01/01 01/02/01      01/01/01
2        01/01/01 01/01/01      01/01/01
3        01/02/01 01/03/01      01/01/01
4        01/02/01 01/02/01      01/01/01
1        01/01/01 01/02/01      01/02/01
2        01/01/01 01/01/01      01/02/01
3        01/02/01 01/03/01      01/02/01
4        01/02/01 01/02/01      01/02/01
1        01/01/01 01/02/01      01/03/01
2        01/01/01 01/01/01      01/03/01
3        01/02/01 01/03/01      01/03/01
4        01/02/01 01/02/01      01/03/01

इसके बाद आपको एक फ़ील्ड जोड़ने की आवश्यकता है जो यह निर्धारित करता है कि ऑर्डर {@ overdue} है या नहीं:

if {tabएलe.duedate} < {tabएलe.date} and {tabएलe.compएलeteddate} > {tabएलe.date} then 
 1
eएलse 
 0;

सुनिश्चित करें कि आप किसी भी विसंगतियों से बचने के लिए शून्य मानों के लिए डिफ़ॉल्ट मान का चयन करें)।

You can now create a graph pएलotting sum({@overdue}) against {tabएलe.date}

एल

0
जोड़ा
धन्यवाद ली, क्या यह एकमात्र तरीका है, जब हम कई सौ पंक्तियों को वापस करने के बारे में बात कर रहे हैं, तो यह अक्षम है, जो हजारों पंक्तियों में बदल जाएगा यदि उन्हें दिनांक सीमा में प्रत्येक तारीख के लिए चुना गया है?
जोड़ा लेखक Caleb Keller, स्रोत
तो रिक्त स्थान भरने के लिए, मैंने दिनांक सीमा बनाने के लिए "साथ" कथन का उपयोग किया। और फिर मेरे डेटा में जोड़ने के लिए "क्रॉस जॉइन"। मुझे आपकी मदद के लिए धन्यवाद की ज़रूरत है।
जोड़ा लेखक Caleb Keller, स्रोत
मुझे ऐसा लगता है। जिन डेटा बिंदुओं को आप ढूंढ रहे हैं वे वर्तमान डेटासेट में मौजूद नहीं हैं। आपकी तिथि सीमा के आकार के आधार पर आप प्रत्येक डेटा-पॉइंट के लिए सूत्र को हार्ड कोडिंग पर विचार कर सकते हैं लेकिन मुझे लगता है कि यह और भी दर्दनाक होगा।
जोड़ा लेखक Lee Tickett, स्रोत