Port Microsoft SQL SELECT CASE إلى Crystal Reports 11
-
28-09-2019 - |
سؤال
لدي استعلام Microsoft SQL:
SELECT case
when ReHired Is Null Then HireDate
else ReHired
end CheckDate
FROM
Employees
هذا بالطبع ينشئ عمودًا-checkDate-باستخدام إما requendate أو reireddate.
كيف يمكنني تنفيذ هذه الوظيفة نفسها للتقارير الكريستالية؟
المحلول
كنت أعرف قبل أن أسأل ذلك أن حقول تعبير SQL في CR تبدو وكأنها تبدو كما أردت ، لكنني جربت بعض الأشياء ولم أستطع تشغيلها.
أخيرًا ، تمكنت من ذلك .. فقط إنشاء حقل تعبير SQL ، قم بتوصيل حالة Select Expression -عند إعادة تعيينها ، ثم يتم تعيينها في نهاية المطاف المتكررة -.
ثم ، ما عليك سوى الرجوع إلى هذا على أنه {٪ checkDate} داخل صيغ وتعبيرات CR. سهل للغاية ، قوي جدا ، بالضبط ما أردت.
آمل أن يساعد هذا شخصًا آخر في المستقبل.
نصائح أخرى
في CR ، قم بإنشاء صيغة مسماة CheckDate مع المحتوى التالي:
if isnull({Employees.ReHired})
then {Employees.HireDate}
else {Employees.ReHired}
واستخدام هذه الصيغة في التقرير. لاحظ أنه عندما يكون تقريرك "تحويل القيم الخالية إلى" مجموعة الخيارات الافتراضية "، تحتاج إلى تغيير السطر الأول إلى ما يشبه بعضًا:
if {Employees.ReHired}=<your db default value for ReHired column>
قم بتأطير استعلام "القاعدة" الخاص بك إما بمثابة عرض على خادم SQL ، ثم السماح لـ Crystal بتصفيةه ، أو كجدول يعيد الإجراء أو الدالة المخزنة المعلمة على خادم SQL ولديه تمرير الكريستال المعلمات. في كلتا الحالتين بما في ذلك حقل "المحسوب" الخاص بك في مجموعة النتائج