معلمات ديناميكية لاستخدامها مع Data Explorer

لدي تقرير مستكشف البيانات يستخدم معلمتين للتاريخ بقيم افتراضية ثابتة.

-- [params]
-- date :start_date  = 2024-12-01
-- date :end_date    = 2025-01-01

تعمل القيم الافتراضية الثابتة لمعظم أنواع المعلمات، ولكن بالنسبة لمعلمات التاريخ، أتمنى أن نتمكن من تعيين قيم ديناميكية، مثل يوم الاثنين من الأسبوع الحالي كتاريخ بدء، ويوم الجمعة من الأسبوع الحالي كتاريخ انتهاء:

-- [params]
-- date :start_date  = cast(date_trunc('week', current_date) as date) + 0
-- date :end_date    = cast(date_trunc('week', current_date) as date) + 4

^ هذا بالطبع لم ينجح.

أود بشدة الاحتفاظ بنفس التقرير مع معلمات التاريخ المكشوفة هذه حتى أتمكن من الاستمرار في تشغيل التقرير يدويًا لتواريخ مختلفة إذا احتجت إلى ذلك. ولكني أريد أيضًا استخدام نفس التقرير مع المكون الإضافي للأتمتة للنشر المتكرر حول موضوع ما باستخدام “جدولة منشور في موضوع بنتائج مستكشف البيانات”.

أي اقتراحات حول كيفية تحقيق ذلك؟

3 إعجابات

أعتقد أنك ستحتاج إلى “نسخ” التقرير، وأن يكون لديك تقرير محدد يتم تعويضه بشكل صحيح بناءً على التاريخ الحالي لمستكشف البيانات، ثم تقرير ثانٍ للاستخدام اليدوي.
أعلم أن وجود نسخ أمر مزعج بعض الشيء، ولكنه يبدو الحل الأبسط.

إعجاب واحد (1)

شكرًا سام، هذا بالضبط ما كنت آمل أن أتجنبه. لكنه حل على أي حال :slight_smile:

أتوقع أنني سأقوم بإنشاء الكثير من التقارير في الأشهر القادمة. سنرى مدى إزعاج صيانة هذه “التفرعات”. :wink:

إعجاب واحد (1)

إذا أصبح الرقم مرتفعًا، فنهج رائع هو استخدام واجهة برمجة تطبيقات النقاش (discourse API) لتكوينه والحفاظ على المصدر في GitHub. وبهذه الطريقة، يمكنك أيضًا الاحتفاظ بالتاريخ وتجنب النسخ اليدوي.

إعجابَين (2)

هل سيعمل ذلك على نقل القيم الافتراضية إلى الاستعلام واستخدامها طالما لم يتم تحديد تاريخ؟ إذن، شيء كهذا:

-- [params]
-- null date :start_date
-- null date :end_date

SELECT id as topic_id, created_at
FROM topics
WHERE created_at > COALESCE(:start_date, CAST(date_trunc('week', current_date) AS DATE))
AND created_at < COALESCE(:end_date, CAST(date_trunc('week', current_date) AS DATE)+4)
3 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.