web-dev-qa-db-ja.com

SSRSカスタム番号形式

SSRSからExcelファイルを生成します。

数字をこのようにフォーマットしたい...

  • 15は15として表示されます

  • 14.3453453は14.35として表示されます

  • 12.1は12.1として表示されます

  • 0は0として表示されます

  • 1は1として表示されます

これをExcelで適用できますが、SSRSで適用できません

[= 0] 0; [= 1] 1; 0。##

ssrs error message

誰かが私に別の方法を提案できますか?ありがとう!

18
K.C

あなたはSSRSで数字をフォーマットする方法を知りたいと仮定しています

単に_right click_書式設定を適用するTextBoxを、そのexpressionに移動します。

その表現が以下のようなものであると仮定します

_=Fields!myField.Value
_

その後、これを行います

_=Format(Fields!myField.Value,"##.##") 
_

または

_=Format(Fields!myFields.Value,"00.00")
_

2つの違いは、前者は4を4とし、後者は4を04.00にすることです。

これはあなたにアイデアを与えるはずです。

また、フィールドを数値フィールドに変換する必要がある場合があります。つまり.

_  =Format(CDbl(Fields!myFields.Value),"00.00")
_

そのため、フォーマット式の0は、数値が存在しない場合は0を、#は数値が存在しない場合はそのままにすることを意味します。番号が存在する場合、それらは両方とも同じように機能します。両方とも45.6567は45.65になります。

更新:

行の値に基づいて同じ列に変数の書式設定を適用する場合、つまりmyFieldに10進数値がない場合は書式設定をせず、10進数がある場合は倍精度で書式設定する場合。 (そうするべきではありませんが)

適切なテキストボックスに移動し、その式に移動して、これを行います:

_=IIF((Fields!myField.Value - CInt(Fields!myField.Value)) > 0, 
    Format(Fields!myField.Value, "##.##"),Fields!myField.Value)
_

したがって、基本的にSSRSのIIF(condition, true,false)演算子を使用しています。ur条件は、数値に10進数値があるかどうかをチェックし、ある場合はフォーマットを適用し、ない場合はそのままにします。

これにより、変数のフォーマットを処理する方法がわかります。

30
Manish Mishra

カスタム形式で試してみました"#,##0.##"

15
vonbalaji

使用できます

 =Format(Fields!myField.Value,"F2") 
1