Visual Basic 函數

SunSystems Reporting Services 內您可以使用一系列的 Visual Basic (VB) 函數。以下只是可用函數類型的一個示例:

  • 常規
  • 日期
  • 決策

常規函數

常用的常規函數和運算符有:

常規 VB 函數 描述
ABS(表達式) 返回表達式的絕對值。
MOD 可以使用表達式 RowNumber(Nothing)MOD 2 來確定數據集的奇數和偶數行。
MID, LEFT, RIGHT, LEN 和 TRIM 以下是管理文本數據的字符串函數。
LCASE, UCASE 將字符串值轉換成大寫或小寫。
FORMAT(表達式, "標準") 將數字字符串的格式設為標準數字格式。
CSTR, CDATE, CDBL 將表達式轉化為字符串、日期或雙精度數字。
注意:可能經常需要通過在 CDBL 函數中包含 IF 語句,轉換能返回數字值的複雜 IF 語句。
ME.Value 該表達式返回文本框的當前值,該表達式在〔可視性或條件格式〕表達式中很有用,其中條件取決於文本框值。

數據函數

最常使用的日期函數有:

數據函數 描述
DAY(日期) 返回 1 到 31 的一個整數值,表示一月的第幾天。
MONTH(日期) 返回 1 到 12 的整數值,表示月份。
MONTHNAME(日期) 返回月份的名稱,例如:九月。
WEEKDAY(日期) 返回 1(表示星期日)到 7(表示星期六)的整數值。
WEEKDAYNAME(日期) 返回工作日的名稱,例如:星期二。
YEAR(日期) 返回 1 到 9999 的整數值,表示指定日期所在的年份。
DATEPART(“間隔”,日期) 返回包含給定〔日期〕值的指定組件的整數值,其中間隔為:
  • d:天(每月的)
  • y:天(每年的)
  • h:小時
  • n:分鐘
  • m:月份
  • q:季度
  • s:秒
  • w:周幾(每週的星期幾)
  • ww:工作周(每年的周,1 - 53)
  • yyyy:年份
DATEADD(“間隔”、數字、日期) 返回包含日期和時間值的〔日期〕值,已向其添加指定的時間間隔為:
  • d:天;被截斷為整數值
  • y:天(每年的);被截斷為整數值
  • h:小時;捨入為最接近的毫秒
  • n:分鐘;捨入為最接近的毫秒
  • m:月份;被截斷為整數值
  • q:季度;被截斷為整數值
  • s:秒;捨入為最接近的毫秒
  • w:天(每週的);被截斷為整數值
  • ww:周(每年的);被截斷為整數值
  • yyyy:年份;被截斷為整數值
DATEDIFF("間隔", Date1, Date2) 返回一個〔長〕值,表示〔日期 2〕和〔日期 1〕在時間間隔單位上的區別,其中間隔為:
  • d:天
  • y:天(每年的,處理方法同〔天〕)
  • h:小時
  • n:分鐘
  • m:月份
  • q:季度
  • s:秒
  • w:周
  • ww:每年的工作周(使用一周的第一天)
DATESERIAL(年,月,日) 其中
  • 〔年〕為必填。是從 1 到 9999 的整數表達式。但也可以接受低於此範圍的值。如果〔年〕在 0 到 99 之間,則被解析為 1930 到 2029。如果〔年〕小於 1,從當前年份中減去。
  • 〔月〕為必填。是從 1 到 12 的整數表達式。但也可以接受此範圍之外的值。〔月〕的值被 1 抵消,應用到被計算年的一月。換句話說,(月份 - 1)被添加到一月。如果需要可以重新計算年。下面的結果說明了該影響:
    • 如果〔月〕為 1,則結果是被計算年的一月。
    • 如果〔月〕為 0,則結果是前一年的十二月。
    • 如果〔月〕為 -1,則結果是前一年的十一月。
    • 如果〔月〕為 13,則結果是下一年的一月。
  • 〔日〕為必填。是從 1 到 31 的整數表達式。但也可以接受此範圍之外的值。〔月〕的值被 1 抵消,應用到被計算年的一月。換句話說,(日 - 1)被添加到每月的第一天。如果需要,可以重新計算月和年。下面的結果說明了該影響:
    • 如果〔月〕為 1,則結果是被計算年的一月。
    • 如果〔日〕為 0, 則結果是前一個月的最後一天。
    • 如果〔日〕為 -1, 則結果是前一個月的倒數第二天。
    • 如果〔日〕超過了當前月的月末,則結果為下個月的相應日期。例如:如果〔月〕是 4,〔日〕是 31,則結果是 5 月 1 日。

下面的表達式也基於〔標記〕值返回三個值之一,但使用的是 Switch 函數,會返回與被評估為〔真〕的系列中第一個表達式相關聯的值:

=Switch(Fields!Marker.Value >= 7, "Green", Fields!Marker.Value >= 5, "Amber", Fields!Marker.Value < 5, "Red")

使用帶有計數器的表達式

〔報表計數器〕功能允許您在開始運行報表時使用表達式指定一個起始數字,並在處理每個文檔時遞增該數字。指定起始號碼是在運行時作為參數輸入,還是從數據字段值中檢索。

可以根據字段值的改變遞增計數器,並指定只有在運行時應用了指定篩選器時才能應用。

創建了計數器之後,就可以將它添加到報表。選擇視圖>特殊字段可在特殊字段瀏覽器中顯示可用的計數器,然後將所需的計數器拖放到報表上。