傳回某個項目在指定之範圍內上一個執行個體的值或指定的彙總值。
注意
您可以在報表產生器以及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每種撰寫環境都會提供不同的方式來建立、開啟和儲存報表與相關的項目。 如需詳細資訊,請參閱在網路上 microsoft.com 在 報表設計師 和 Report Builder (SSRS) 中設計報表。
語法
Previous(expression, scope)
參數
expression
(Variant
或 Binary
) 用來識別資料及擷取資料上一個值的運算式,例如,Fields!Fieldname.Value
或 Sum(Fields!Fieldname.Value)
。
範圍 (scope)
(String
) 選擇性。 Visual Basic) 中群組或資料區的名稱,或 null (Nothing
,指定要從中擷取 運算式所指定先前值的範圍。
傳回類型
傳回 Variant
或 Binary
。
備註
Previous
函數會在套用過所有的排序和篩選之後,針對在指定範圍內評估的運算式傳回上一個值。
如果 expression 不包含匯總,函 Previous
式會預設為報表專案的目前範圍。
在詳細資料群組中,請使用 Previous
來指定上一個詳細資料列執行個體中欄位參考的值。
注意
函 Previous
式僅支援詳細資料群組中的欄位參考。 例如,在詳細資料群組的文字方塊中, =Previous(Fields!Quantity.Value)
會從上一個資料列傳回 Quantity
欄位的資料。 在第一個資料列中,此運算式會在 Visual Basic) 中傳回 null (Nothing
。
如果 expression 包含使用預設範圍的彙總函式, Previous
則會匯總彙總函式調用中所指定之範圍先前實例內的資料。
如果 expression 包含指定預設範圍以外的範圍的彙總函式 ,則Previous
函式的範圍參數必須是彙總函式調用中所指定範圍的包含範圍。
函式 Level
、 InScope
Aggregate
和 Previous
不能用在 運算式參數中。 不支援為任何彙總函式指定 recursive 參數。
如需詳細資訊,請參閱彙總函式參考 (報表產生器和 SSRS) 與總計、彙總與內建集合的運算式範圍 (報表產生器和 SSRS)。
範例
描述
下列程式碼範例如果置於資料區域的預設資料列中,會為上一個資料列的 LineTotal
欄位提供值。
程式碼
=Previous(Fields!LineTotal.Value)
描述
下列程式碼範例顯示的運算式會計算月中特定日的銷售總和,以及該日在去年度的上一個值。 運算式會加到屬於子群組 GroupbyDay
的資料列中的資料格。 該群組的父群組為 GroupbyMonth
,這個群組的父群組又為 GroupbyYear
。 運算式會顯示 GroupbyDay (預設範圍) 的結果,然後再顯示 GroupbyYear
(GroupbyDay 父群組 GroupbyMonth
的父代) 的結果。
例如,如果資料區域具有名為 Year
的父群組,而其子群組名為 Month
,該子群組的子群組又名為 Day
(3 個巢狀層級)。 與群組 =Previous(Sum(Fields!Sales.Value,"Day"),"Year")
相關資料列中的運算式 Day
會針對去年度的同一日期和月份傳回銷售值。
程式碼
=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")
另請參閱
報表中的運算式用法 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
運算式中的資料類型 (報表產生器及 SSRS)
總計、彙總與內建集合的運算式範圍 (報表產生器及 SSRS)