سؤال

لدي استعلام 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 ولديه تمرير الكريستال المعلمات. في كلتا الحالتين بما في ذلك حقل "المحسوب" الخاص بك في مجموعة النتائج

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