2017-03-01 13 views
0

私の列グループのStDevを計算する必要があります。問題は、計算でNULL値をとることです。 私はこれを使用します。列グループからNULL値を除外してSSRSのStDevを計算する方法は?

=IIF(Fields!estNumerique.Value = 0, "n/a",Replace(Format(StDev(cDec(Replace(IIF(Fields!estNumerique.Value = 0, nothing, Fields!result.Value) ,",","."))) ,"0.000") ,".",",")) 

をそして、私はこの結果を得る:私は方法以下の平均wihtを計算しますが、標準偏差のために、私は解決策を見つけるcannnot result

を:

=IIf(Fields!SomeField.Value = 0, 0, Fields!SomeOtherField.Value/IIf(Fields!SomeField.Value = 0, 1, Fields!SomeField.Value)) 

をいただき、ありがとうございますあなたの助け!

答えて

1

StDev関数は、NULLの値を無視します。あなたは0をNULLに変換することで良い結果を出しています。問題は、あなたのCDec機能がNULLを0に戻しているということです。ただそれを削除してください。

EDIT:

はこのお試しください:数値でないデータの数値の集計機能:こんにちは

=IIF(Fields!estNumerique.Value = 0, "n/a",Replace(Format(StDev(Replace(IIF(Fields!estNumerique.Value = 0, Nothing, CDec(Fields!result.Value)) ,",",".")) ,"0.000") ,".",",")) 
+0

を、StevenWhiteが、私はCDECを削除した場合、それはエラーを返します。私は結果に文字列値を取得し、数値かどうかを判断する必要があります。だから、私はこのCdecを私の表現の中に入れなければなりません。あなたは他の解決策を提案できますか? –

+0

ええ、 'CDec'を' IIf'文の中のフィールド名のまわりに移動するだけです。そのようにして、0を無視する前に型変換を行います。 – StevenWhite

+0

残念ながら、私の場合は動作しません。結果として、数値のみを返すクエリに列を追加し、式を変更しました。 = IIF(Fields!estNumerique.Value = 0、 "n/a"、Format(StDev(Fields!result_num) .Value)、 "0.000")) –

関連する問題