لماذا لا يتم تقييم بيان IIF الخاص بي عندما يكون الشرط صحيحًا؟
-
26-09-2019 - |
سؤال
هذا هو بياني:
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" أو مجرد سلسلة فارغة عندما يكون المقسوم صفرًا ، رغم ذلك)
لا تنتمي إلى StackOverflow