目前在字段中的數據就要這樣9646.88,我的要求是如何解決SSRS格式問題?
刪除小數和千加逗號例如9646
=IIF((RTRIM(Fields!COMPANY_NAME.Value))="VACANT","",Fields!BASE_RENT_PM.Value)
請幫幫忙,我在SSRS一個新手。
目前在字段中的數據就要這樣9646.88,我的要求是如何解決SSRS格式問題?
刪除小數和千加逗號例如9646
=IIF((RTRIM(Fields!COMPANY_NAME.Value))="VACANT","",Fields!BASE_RENT_PM.Value)
請幫幫忙,我在SSRS一個新手。
你試過了嗎?
=FORMAT(IIF((RTRIM(Fields!COMPANY_NAME.Value))="VACANT","",Fields!BASE_RENT_PM.Value),"#,###")
應該解決你的問題。 親切的問候
如果數據帶有varchar數據類型。那麼它會顯示'#,###' – pedram
使用如在表達式窗口顯示的文字和轉換功能,常用功能會給你想要的結果。
對於e.g,
Format(Int(9646.88), "#,###") // try "#,##0" which returns 0 if less than 1
其中Int(9646.88)
返回數字9646
和Format(9646,"#,###")
返回根據包含在一個格式字符串表達式"#,###"
這是一個千個分隔符指示格式化的字符串的整數部分。因此,它會給你「9,646」。
所以,你的情況,試試這個,
=IIF(RTRIM(Fields!COMPANY_NAME.Value)="VACANT", "", Format(Int(Fields!BASE_RENT_PM.Value),"#,###"))
注:
Format(9646.88, "#,###")
將返回一個四捨五入的結果9,647
和
Format("VACANT", "#,###")
回報只是"#,###"
,無其中可能不是你想要的結果。
我正在使用this = IIF((RTRIM(Fields!COMPANY_NAME.Value))=「VACANT」,Nothing,IIF(isNothing(Fields!BASE_RENT_PM.Value),「9」,Format(Int(Fields!BASE_RENT_PM .Value),「#,###」))),但是當#error中的值爲空時需要幫助 –
嘗試檢查'Not(isNothing(Fields!COMPANY_NAME.Value))' – kolunar
要爲數千個人添加逗號,您需要更改表達式。
如果您需要輸出爲9,646
,請在下面嘗試。
=IIF(RTRIM(Fields!COMPANY_NAME.Value)="VACANT","",Format(Convert.ToInt32(Int(Fields!BASE_RENT_PM.Value),"#,0;(#,0)")))
OR
=IIF(RTRIM(Fields!COMPANY_NAME.Value)="VACANT","",Format(CInt(Int(Fields!BASE_RENT_PM.Value),"#,0;(#,0)")))
更新答:
當你要處理空值,以及我建議下面的方式來實現自己的目標。
使用下面的表達式設置文本框的可見性。
=IIF(ISNOTHING(Fields!BASE_RENT_PM.Value),True,False)
因此,如果有空值,那麼它將在ssrs報告中顯示空白。
我正在使用this = IIF ((RTRIM(Fields!COMPANY_NAME.Value))=「VACANT」,Nothing,IIF(isNothing(Fields!BA SE_RENT_PM.Value),「9」,Format(Int(Fields!BASE_RENT_PM.Value),「#,# ##「))),但是當#error中的值爲空時,需要幫助 –
哪個值爲空? – pedram
實際上當它在數據庫中爲空(列值)時,它應該在SSRS中返回空白,否則使用逗號而不帶小數的值 –
'9646.88'與哪個數據類型?的字符串(VARCHAR)? – pedram
是..................... –
@DeepakJain您接受的答案將會返回9,647,而不是您的問題中提到的9,646。請參閱我的答案[這裏](http://stackoverflow.com/questions/37675488/how-to-solve-ssrs-formatting-issue/37677008#answer-37677008) – kolunar