لماذا لا يتم تقييم بيان IIF الخاص بي عندما يكون الشرط صحيحًا؟

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

سؤال

هذا هو بياني:

iif(sum(Fields!myfield1.Value) = 0, 0, sum(Fields!myField2.Value)/sum(Fields!myField1.Value))

أي اقتراحات؟

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

المحلول

على الأرجح هو التقييم صحيح. كما هو مذكور في التعليقات الأخرى ، ستحصل على خطأ على أي حال لأن IIF () يقوم بتقييم جميع تعبيرات المعلمات بغض النظر عن نتيجة الاختبار.

يمكن تجنب الخطأ عن طريق إضافة IIF () آخر في المقسوم.

iif(
    sum(Fields!myfield1.Value) = 0,
    0,
    sum(Fields!myField2.Value) / iif(
                                     sum(Fields!myfield1.Value) = 0,
                                     1,
                                     sum(Fields!myField1.Value)
                                 )
)

الآن ستحصل على صفر إذا كان MyField1 صفرًا ولم يتم طرح أي خطأ.

(ربما يجب عليك إظهار "n/a" أو مجرد سلسلة فارغة عندما يكون المقسوم صفرًا ، رغم ذلك)

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