هل هناك طريقة ما لإعادة تدوير مجموعة بيانات Crystal Reports؟

StackOverflow https://stackoverflow.com/questions/8669

سؤال

أحاول كتابة تقرير Crystal الذي يحتوي على إجماليات مجمعة بطريقة مختلفة عن التقرير الرئيسي.الطريقة الوحيدة التي تمكنت من القيام بذلك حتى الآن هي استخدام تقرير فرعي للإجماليات، ولكن هذا يعني الاضطرار إلى الوصول إلى مصدر البيانات مرة أخرى لاسترداد نفس البيانات، وهو ما يبدو وكأنه هراء.إليك مثال مبسط:

       date   name   earnings   source          location
-----------------------------------------------------------
12-AUG-2008   Tom      $50.00   washing cars    uptown
12-AUG-2008   Dick    $100.00   washing cars    downtown     { main report }
12-AUG-2008   Harry    $75.00   mowing lawns    around town

                    total earnings for washing cars: $150.00 { subreport }
                    total earnings for mowing lawns:  $75.00

       date   name   earnings   source          location
-----------------------------------------------------------
13-AUG-2008   John     $95.00   dog walking     downtown
13-AUG-2008   Jane    $105.00   washing cars    around town  { main report }
13-AUG-2008   Dave     $65.00   mowing lawns    around town

                    total earnings for dog walking:   $95.00
                    total earnings for washing cars: $105.00 { subreport }
                    total earnings for mowing lawns:  $65.00

في هذا المثال، يتم تجميع التقرير الرئيسي حسب "التاريخ"، ولكن يتم تجميع الإجماليات بالإضافة إلى ذلك حسب "المصدر".لقد بحثت عن أمثلة لاستخدام الإجماليات الجارية، لكنها لا تفعل ما أحتاج إليه حقًا.أليس هناك طريقة ما لتخزين مجموعة النتائج وجعل التقرير الرئيسي والتقرير الفرعي يشيران إلى نفس البيانات؟

هل كانت مفيدة؟

المحلول

همم...من اللطيف استدعاء العملية المخزنة من التقرير واحتوائها كلها في مكان واحد، لكننا وجدنا (مثلك) أنك وصلت في النهاية إلى نقطة لا يمكنك فيها الحصول على كريستال لتفعل ما تريد حتى مع وجود البيانات هناك.

لقد انتهى بنا الأمر إلى تقديم طبقة أعمال تقع ضمن التقرير، وبدلاً من "سحب" البيانات من التقرير، نقوم "بدفع" مجموعات البيانات إليه وربط البيانات بالتقرير.وتتمثل الميزة في أنه يمكنك معالجة البيانات الموجودة في التعليمات البرمجية في مجموعات البيانات أو الكائنات قبل أن تصل إلى التقرير ثم تقوم ببساطة بربط البيانات بالتقرير.

هذا المقال يحتوي على مقدمة لطيفة حول كيفية إعداد دفع البيانات إلى التقارير.أدرك أن قيود الوقت/العمل لديك قد لا تسمح لك بالقيام بذلك، ولكن إذا كان ذلك ممكنًا على الإطلاق، فأنا أوصي به بشدة لأنه يعني أنه يمكننا إزالة جميع "الترميز" من تقاريرنا إلى التعليمات البرمجية المُدارة والتي تكون دائمًا شيء جيد.

نصائح أخرى

الطريقة الوحيدة التي يمكنني التفكير بها للقيام بذلك دون إجراء عملية ثانية عبر البيانات هي إنشاء بعض الصيغ للقيام بإجماليات التشغيل لكل مجموعة.المشكلة التي أفترض أنك تواجهها مع الإجماليات الجارية الحالية هي أنها تهدف إلى متابعة كل مجموعة من المجموعات التي تجمعها.نظرًا لأنك تريد أن تتبع المجاميع الفرعية بعد جميع البيانات "الأولية"، فلن ينجح هذا.

إذا قمت بإنشاء صيغ خاصة بك لكل مجموعة تضيف ببساطة إلى الإجمالي من تلك الصفوف المطابقة للمجموعة، فيجب أن تكون قادرًا على وضعها في نهاية التقرير.الجانب السلبي لهذا النهج هو أن المجاميع الفرعية الناتجة لن تكون ديناميكية فيما يتعلق بالمجموعات.بمعنى آخر، إذا كان لديك "مصدر" جديد، فلن يظهر في الإجماليات الفرعية حتى تضيفه أو إذا لم يكن لديك بيانات "تمشيه الكلاب"، فسيظل لديك إجمالي فرعي له.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top