2017-11-16 5 views
1

私は誰かが私を助けてくれることを願っています。私はSSRSのモーゲージ支払いを計算するためにPMT関数を使用しています。私は次の式を使用しています。SSRS PMT機能#ERRORを生成する

=IIF(Note = "Present",-PMT(Rate/12,Term,Balance,0,DueDate.EndOfPeriod),Nothing)) 

Note = Presentの場合、数式は完全に機能します。しかし、他のすべてのローンでは#ERRORを生成しています。なぜこれが起こっているのか分かりません。

ノートが存在しない場合にセルを空白のままにする必要がある他のエラー処理がありますか?

答えて

0

あなたのコードには何もありません。

+0

何もないのは、空の結果または空の結果がほしいということだけです。私は0のあなたの提案を試みて、まだ#ERRORを生成しています – BIEMER19

1

私はPMTに精通していませんが、Noteが「Present」でないローンに対してPMTに渡される値が無効である可能性があります。これが当てはまる場合は、代わりにSWITCHステートメントを使用します。 SWITCHは、Trueと評価される最初の式で停止しますが、IIFは使用されない式であってもすべての式を評価します。

は、ノートが「現在」でないならば、何も返さないし、それがされている場合にのみ、「現在の」PMTの機能を評価し、その値を返し、この方法で

=SWITCH(
     Note <> "Present", Nothing, 
     True, -PMT(Rate/12,Term,Balance,0,DueDate.EndOfPeriod) 
     ) 

。これを試してみてください。 Trueは、elseのように動作し、第2の条件のためにNote = "Present"を書いています。

1

SSRSは最初のパラメータブールテストの結果が何であっても常に条件式の両辺を評価します。このことは、

-PMT(Rate/12,Term,Balance,0,DueDate.EndOfPeriod)

あなたは、式のエラーになりますNote <> "Present"同様または行に有効な計算でなければなりません。このシナリオでは、他のフィールドの一部に適切な「ダミー」値が設定されていない可能性があります。

関連する問題