6

私は Visual Studio を使用してレポートを作成しており、次の 3 つの式を使用しようとしました。

=IIF(Fields!A.Value = 0 or Fields!B.Value = 0, 0,SUM(Fields!A.Value)/SUM(Fields!A.Value)

=IIF(SUM(Fields!A.Value) = 0 or SUM(Fields!B.Value =0),0,SUM(Fields!A.Value)/SUM(Fields!A.Value)

=Replace(Round((((SUM(Fields!A.Value)/SUM(Fields!B.Value)))*100),0),"NaN","0")+"%"

最初の 2 つは % として 0 しか与えず、最後の 1 つは Infinity を取り除きませんが、NaN を取り除きます。

これらの両方の式を一緒に使用でき、上位2つまたは最後の1つを使用すると0%と無限大しか得られない場所を誰かが助けてくれますか?

4

2 に答える 2

1

0% と NaN を取得している場合は、フィールドのデータ型を確認してください。少なくとも 1 つの非整数が必要で、両方とも数値である必要があります。まだ 1 が表示されることを期待していますが、これは 0% と NaN からの開始です。チェックに関しては、計算エラーを回避するために分母のみをチェックする必要があります。試す:

=IIF(Sum(Fields!B.Value) <> 0 , Sum(Fields!A.Value) / Sum(Fields!B.Value), 0 )

テキスト ボックスの [書式] プロパティまたは数式番号のプロパティを使用して、プレゼンテーション (小数点以下の桁数、% 記号など) を制御します。

于 2012-12-24T19:18:54.627 に答える