SSRS 数值和日期格式
2011-05-30 10:42 假面Wilson 阅读(3668) 评论(0) 编辑 收藏 举报需要注意的是,若是文字方塊內輸入的是數字或是日期,此時可以利用格式化字
串的方式來更新文字方塊的 「Format」 屬性,以轉換為指定為數字或日期的
格式,想必各位並不陌生,因為之前的範例中已經利用「C0」格式字串來調整
銷售金額的顯示格式了,以下我們會針對格式字串更更深入的介紹,首先介紹數
值常用的格式字串。
格式化字串 說明
C 或 c 顯示作業系統中地區選項所設定地區之貨幣格式,包含
千分位以及小數點。
D 或 d 顯示十進位數字,不包括千分號。位數不足前方補零,
只支援整數格式。
E 或 e 以科學記號顯示數字,可指定小數位數
F 或 f 顯示十進位數字,不包括千分號,可以指定小數位數長
度,不足者補零。
G 或 g 以科學記號顯示數字,不可指定小數位數
N 或 n 數字,包含千分位符號
P 或 p 百分比,可指定小數位數,含千分位
X 或 x 十六位數字,只支援整數資料
表4.7:數值常用的格式字串列表
除了少數像是D、G 或者是X 這類只支援整數格式的格式字串之外,大多數的
格式字串同時可以指定小數點的精確位數。指定小數位數的方法很簡單,只需要
在格式字串後直接接上欲指定的小數位數即可。舉例來說,我們希望數值變成小
數下兩位的貨幣格式,那麼就只要將Format 屬性設為C2 即可。
關於數值格式的設定,可以參考圖4.64 的範例結果:
圖4.64:數值格式化字串
除了以上的常用格式字串之外,也可以自訂格式化字串,
自定數值格式字串 格式
# 代表數值位數
0 代表數值固定位數
. 小數點
, 千分號
% 百分比符號
表4.8:自定數值格式字串列表
舉例來說,如果我們希望數值保更千分位符號,且小數點下兩位,則此時就要在
Format 屬性中填入=”#,###.##”,此時,原來數值「1234.567」就會被格式化為
「1,234.57」。格式化字串「#」與「0」之間最大的差別在於,如果使用「#」,
當位數不足時,並不會自動補齊,而如果使用「0」,則會在不足位數之處補零。
舉例來說數值「1234.5」的Format 設為=”#,###.###”時,則呈現結果為「1,234.5」;
但若是Format 設為=”0,000.000”時,則呈現結果為「1,234.500」。此外要注意
的是,如果是使用預設的常見格式字串時,只要直接在Format 屬性輸入格式自
串即可,但是如果是使用客製化格式字串時,必頇開頭加上等號,同時格式字串
前後加上雙引號。
日期的格式化就顯的更加複雜,因為涉及到以符號顯示還是以文字顯示的問題。
以下是預設常用的日期格式字串。
日期格式化字串 說明
d 簡短日期
D 完整日期(出現該語系完整年月日)
t 簡短時間(時分)
T 完整時間(時分秒)
f 完整日期/時間(出現該語系完整年月日)
F 完整日期/時間(出現該語系完整年月日,時間到時分
秒)
g 一般日期/時間
G 一般日期/時間 (時間到時分秒)
R 或 r RFC1123 模式
表4.9:日期格式字串列表
參考範例4.5.2-日期格式化字串,設定後呈現結果如圖4.66:
圖4.65:日期格式化字串
除了使用基本的日期格式化字串之外,還可以使用自訂日期格式字串來呈現客製
化的時間格式。
自定日期格式字串 格式
D 日期
Dd 日期,不足二位數者前方補零
Ddd 星期幾
Dddd 星期幾完整名稱
M 月份
MM 月份,不足二位數者補零
MMM 完整月份名
Y 年份
Yyyy 完整西元年份
表4.10:自定日期格式字串列表
舉例來說,我們希望日期格式呈現「2004-01-01」的話,就只要在Format 屬性
處撰寫=”yyyy-MM-dd”即可。如果要呈現的是「2004/1/1」,則要將Format 的運
算式改寫為=”yyyy/M/d”。
除此之外還更兩個文字方塊屬性會影響到日期格式的呈現,那就是Calendar 以
及Language。Calendar 屬性是會自動將日期轉換成指定國家曆法的對應年份。
基本上,Calendar 屬性的預設曆法為Gregorian(羅馬舊教曆法,就是目前通
用的西元曆法),如果我們希望將西元曆法換算為民國紀元,那只需要將
Calendar 的屬性指定為Taiwan 即可。舉例來說,如果希望日期呈現「民國93
年1 月1 日」格式的話,那只要做以下設定即可:
Calendar =Taiwan
Format=D
而Language 影響的範圍則是複寫使用者作業系統的地區設定,來呈現地區客製
化的格式呈現。舉例來說,當Language 屬性設為「中文(台灣)」時,數值格式
字串C 前方呈現。
格式字串 Language「中文(台灣)」 Language「英文(美國)」
C NT$ $
MMM 一月 Jan
Ddd 星期一 Mon
Dddd 星期一 Monday
表4.11:Language 設定
請注意,Calendar 的設定項會受到Language 所影響。舉例來說,當Language
設為「中文(台灣)」時,Calendar 屬性就不得設為「Japan」。如果您希望設境
特殊國家的曆法時,必頇事先將Language 設定為正確的語系。
基本上SSRS 的格式字串原則與Visual Basic .NET 完全相同,如果更開發
VB .NET 經驗的人一定覺得很熟悉,事實上,格式字串的規則相當複雜,在此
只是列出一些比較常用的部份,如果各位更興趣的話還可以自行參考坊間介紹
VB .NET 程式撰寫的書籍。
在新增「文字方塊」時,我們會發現,預設的大小是固定的,若想改變「文字方
塊」的大小,可直接拖拉「文字方塊」的邊框來調整,或是利用屬性視窗的「Size」
屬性的「Width」與「Height」來設定,使用屬性設定比較可以確保文字方塊的
大小以便排列整齊。
當文字方塊內呈現的是資料庫欄位內容或計算後產生的結果)時,通常都無法預
期資料內容的長度是否會超過「文字方塊」的大小,這時可將「CanGrow」屬
性設定為「True」,「文字方塊」會隨著其中的內容橫向延展,而高度將會保持原
狀不會改變。相反的,也更可能顯示的文字內容小於「文字方塊」,大部分的情
況下,都會讓「文字方塊」維持原狀,但如果在特別的情況下,將「CanShrink」
屬性設為「True」,可達到自動縮小「文字方塊」寬度的效果
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ddff2004/archive/2010/05/26/5626321.aspx