共用方式為


在運算式中使用參數

新增: 2006 年 7 月 17 日

本主題提供要在運算式中加入報表參數的參考時,所需要的許多語法範例。報表參數是您可以從運算式參考的其中一個全域集合。如需詳細資訊,請參閱<在運算式中使用全域集合 (Reporting Services)>。

處理報表時會評估參數。可以在提供 (Fx) 或 <運算式> 選項的報表項目屬性或文字方塊屬性中的任何地方使用運算式。如需可以使用運算式之位置的範例,請參閱<Reporting Services 中的運算式範例>。

報表參數可以是以下其中一個類型:布林、日期時間、整數、浮點數或字串。報表參數可以是單一值,也可以是多重值。除了布林以外,您可以設定所有類型的多重值屬性。多重值參數是以零為基底的數值陣列。如需有關設定報表屬性的詳細資訊,請參閱<建立報表參數及設定報表參數屬性>。

單一值參數

下表提供在運算式中使用單一值參數的範例。

在運算式中使用單一值參數

下表顯示當您在運算式中加入任何資料類型之單一值參數的參考時,所要使用的語法範例。

範例 描述

=Parameters!<ParameterName>.IsMultiValue

會傳回 False。

檢查參數是否為多重值。如果為 True,表示參數為多重值,且為物件的集合。如果為 False,表示參數為單一值,且為單一物件。

=Parameters!<ParameterName>.Count

會傳回整數值 1。如果是單一值參數,此計數一定會是 1。

=Parameters!<ParameterName>.Label

會傳回參數標籤,經常當做可用值下拉式清單中的顯示名稱。

=Parameters!<ParameterName>.Value

會傳回參數值。如果尚未設定標籤屬性,這個值會出現在可用值下拉式清單中。

=CStr(Parameters! <ParameterName>.Value)

會傳回字串形式的參數值。

=Fields(Parameters!<ParameterName>.Value).Value

會傳回與參數同名之欄位的值。

使用單一值參數設定篩選

設定篩選的方式是使用資料集、資料區域或資料群組之屬性頁面上的 [篩選] 索引標籤。您可以在 [篩選] 索引標籤上的篩選方格內輸入值,以定義篩選運算式。下表代表篩選方格,下列範例假設 Fields!EmployeeID.Value 和 Parameters!EmployeeID.Value 的值具有相同資料類型。

(篩選) 運算式 運算子 及/或

= Fields!<FieldName>.Value

將某個值與另一個值比較的運算子。例如:

=

>=

<

=Parameters!<ParameterName>.Value

當您輸入一個以上的運算式時,啟用的預設值。

多重值參數

下表提供在運算式中使用多重值參數的範例。

在運算式中使用多重值參數

可以在提供 (Fx) 或 <運算式> 選項的報表項目屬性或文字方塊屬性中的任何地方使用運算式。

範例 描述

=Parameters!<MultivalueParameterName>.IsMultiValue

會傳回 True 或 False。

檢查參數是否為多重值。如果為 True,表示參數為多重值,且為物件的集合。如果為 False,表示參數為單一值,且為單一物件。

=Parameters!<MultivalueParameterName>.Count

會傳回整數值。

代表值的數目。如果是單一值參數,此計數一定是 1;如果是多重值參數,此計數一定是 0 或 0 以上。

=Parameters!<MultivalueParameterName>.Value(0)

會傳回多重值參數中的第一個值。

=Parameters!<MultivalueParameterName>.Value(Parameters!<MultivalueParameterName>.Count-1)

會傳回多重值參數中的最後一個值。

=Split("Value1,Value2,Value3",",")

會傳回數值的陣列。

針對多重值的字串參數建立數值陣列。您可以在第二個參數中使用任何分隔符號來分隔。這個運算式可用來設定多重值參數的預設值或是建立多重值參數,以傳送至子報表或鑽研報表。

=Join(Parameters!<MultivalueParameterName>.Value,", ")

會傳回一個字串,此字串是由多重值參數中以逗號分隔的值清單所組成。您可以在第二個參數中使用任何分隔符號來聯結。

使用多重值參數設定篩選

設定篩選的方式是使用資料集、資料區域或資料群組之屬性頁面上的 [篩選] 索引標籤。下列範例假設 Fields!EmployeeID.Value 和 Parameters!EmployeeID.Value 的值具有相同資料類型。多重值參數只能出現在 [值] 欄中。

運算式 運算子 及/或

= Fields!<FieldName>.Value

測試組合包含的運算子。唯一可用的選項為:IN

=Parameters!<MultivalueParameterName>.Value

當您輸入一個以上的運算式時,所設定的預設值。

從自訂程式碼參考參數的範例

您可以透過報表定義之程式碼區塊內或您所提供之自訂組件內的自訂程式碼,參考全域參數集合。此參數集合是唯讀的,而且沒有任何公用 Iterator。您不能使用 Visual Basic For Each 建構來逐步執行此集合。您必須先知道報表定義中所定義的參數名稱,才可以在程式碼中參考它。但是,您可以逐一查看多重值參數的所有值。如需詳細資訊,請參閱<在運算式中使用自訂程式碼參考 (Reporting Services)>。

描述 運算式中的參考 自訂程式碼定義

將整個全域參數集合傳遞給自訂程式碼。這個函數會傳回特定報表參數 MyParameter 的值。

=Code.DisplayAParameterValue(Parameters)

Public Function DisplayAParameterValue(

ByVal parameters as Parameters) as Object

Return parameters("MyParameter").Value

End Function

將個別參數傳遞給自訂程式碼。這個範例會傳回所傳入的參數值。如果該參數為多重值參數,則傳回字串會是所有值的串連。

=Code.ShowParametersValues(Parameters!DayOfTheWeek)

Public Function ShowParameterValues(ByVal parameter as Parameter)
 as String
   Dim s as String 
   If parameter.IsMultiValue then
      s = "Multivalue: " 
      For i as integer = 0 to parameter.Count-1
         s = s + CStr(parameter.Value(i)) + " " 
      Next
   Else
      s = "Single value: " + CStr(parameter.Value)
   End If
   Return s
End Function

請參閱

工作

如何:加入、編輯或刪除報表參數 (報表設計師)

參考

Reporting Services 中的運算式範例

概念

使用單一值和多重值參數

其他資源

Using Custom Assemblies with Reports
教學課程:在基本表格式報表中加入參數
教學課程:使用參數的進階功能

說明及資訊

取得 SQL Server 2005 協助