برمجة

تقارير PostgreSQL اليومية: حدد يوم العمل قبل تجميع البيانات

فريق فايندو جروب2 دقائق قراءة0 مشاهدة0 تعليقات
مشاركة:
لوحة تقارير تعرض المنطقة الزمنية وحدود يوم العمل في استعلام PostgreSQL

قد يتفق تقرير المبيعات مع قاعدة البيانات ثم يختلف مع فرع آخر، لأن كل جهة تقصد يومًا مختلفًا بكلمة «اليوم». حدث قريب من منتصف الليل قد يقع في تاريخين محليين مختلفين. قبل تعديل الاستعلام، حدد المنطقة الزمنية ليوم العمل، ونوع الوقت المخزن، وحدود الفترة التي سيغطيها التقرير.

اكتب تعريف اليوم على مستوى العمل

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

توضح وثائق PostgreSQL 17 للتاريخ والوقت أن timestamptz يخزن اللحظة داخليًا وفق UTC ثم يعرضها بمنطقة الجلسة، ولا يحتفظ باسم المنطقة الأصلي. أما timestamp without time zone فلا يحدد لحظة عالمية وحده. لذلك راجع عقد الإدخال والمنطقة المقصودة بدل إضافة إزاحة ثابتة إلى كل سجل.

استخدم حد بداية وحد نهاية واضحين

اقتراح عملي هو فترة تشمل البداية وتستبعد بداية اليوم التالي: الحدث أكبر من أو يساوي بداية اليوم، وأصغر من بداية اليوم التالي. احسب الحدين في منطقة العمل ثم قارنهما باللحظات المخزنة. تجنب نهاية مصطنعة مثل 23:59:59 إذا كانت البيانات تحمل كسور الثانية.

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

جهز أربع عينات حدودية

الحدث المصطنعالنتيجة المطلوبة
قبل بداية اليوم مباشرةيظهر في الفترة السابقة فقط
عند بداية اليوم تمامًايظهر في اليوم الحالي
قبل بداية اليوم التالي بكسر ثانيةلا يسقط من التقرير الحالي
عند بداية اليوم التالييظهر في الفترة التالية فقط

شغل التقرير لليومين منفصلين ثم للفترة المجمعة. طابق معرفات الأحداث، لا الإجماليات فقط، فقد يخفي تساوي الأرقام سقوط سجل وتكرار آخر. كرر التجربة بإعداد منطقة جلسة مختلف؛ ينبغي ألا يتغير تقرير محدد المنطقة بسبب إعداد اتصال غير متوقع.

اعرض معنى الفترة مع النتيجة

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

التصنيفات:برمجة
شارك:

التعليقات

لا توجد تعليقات بعد

أضف تعليقك

كن أول من يعلق على هذا المقال

02 · تابع القراءة

مقالات ذات صلة