2017-04-07 18 views
0

%を検索しようとしているレポートを作成しています。最初は私のコードは次のようになります:SSRS式でゼロ除算を避ける

= (Fields!Margin.Value)/(Fields!TotalSales.Value) * 100 

しかし、問題はいくつかのシナリオではTotalSales = 0.00だから、これは私にエラーを与えています。私はVBSに堪能ではありません。これを避けるためにNULLIF型関数を実行するにはどうすればよいですか?

+0

は、この記事をチェックアウト - 記事の http://www.sqlservercentral.com/articles/Report+Development/121619/ –

+0

感謝を。私は、テキストフィールドの値を単純に変更するのではなく、使用されている式がゼロにならないようにする必要があるため、これは機能しないと思います。これはちょうど出力を変更し、計算の前に値を変更しません。書き込みを正しく理解していれば –

+0

これは何度も尋ねられています。私の好きな解決策は 'IIf'の代わりに' If'を使うことです。 http://stackoverflow.com/q/5471817/2033717 http://stackoverflow.com/q/10432714/2033717 http://stackoverflow.com/q/19189132/2033717 – StevenWhite

答えて

3

これがnullのために働く必要があると0

=IIF(Fields!TotalSales.Value <> 0 , (Fields!Margin.Value)/(Fields!TotalSales.Value) * 100 , 0)