私はビジュアルスタジオで式を合計しようとしていて、#エラーが発生し続けていますが、これが初めて式を合計しようとした理由がわからず、以前は単一のフィールドでしか実行していませんでした. 助言がありますか!!!
=IIf(Fields!STATUS.value = "Completed" AND Fields!DONOTINVOICE.value = True, Fields!ORDERCOST.Value, "")
私はビジュアルスタジオで式を合計しようとしていて、#エラーが発生し続けていますが、これが初めて式を合計しようとした理由がわからず、以前は単一のフィールドでしか実行していませんでした. 助言がありますか!!!
=IIf(Fields!STATUS.value = "Completed" AND Fields!DONOTINVOICE.value = True, Fields!ORDERCOST.Value, "")
条件が false の場合、IIf() の値は文字列 ("") に評価されます。文字列を合計することはできません。代わりに 0 を使用してみてください。
このような意味ですか、それを試してみただけで、何かを合計すると0になります:(
=Sum(IIf(Fields!STATUS.value = "Completed" AND Fields!DONOTINVOICE.value = 1, Fields!ORDERCOST.Value, 0))
=Sum(IIf(Fields!STATUS.value = "Completed" AND Fields!DONOTINVOICE.value = 1.0, Fields!ORDERCOST.Value, 0.0))
値の最後に「.0」を使用する必要があります。これにより、if 式の戻り値が文字列ではないことが確認されます。
式の合計を計算できなかったので、新しいデータセットで case ステートメントを使用して合計機能を構築しました。以下の例では、これは内部クエリであり、メイン ビットで合計を実行しました。他の誰かがこの問題に遭遇した場合に備えて、これが私が解決した方法です。
CASE WHEN TBL_REPAIR_ORDER.STATUS = 'Completed' AND TBL_REPAIR_ORDER.DONOTINVOICE = 1 THEN TBL_REPAIR_ORDER.ORDERCOST ELSE 0 END AS Completed