共用方式為


上一個功能 (報表設計師 (Report Builder) 與 SSRS)

傳回指定範圍內專案上一個實例的值或指定的匯總值。

備註

您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計

語法

  
Previous(expression, scope)  

參數

表示式
VariantBinary) 用來識別數據並擷取先前值的運算式,例如 Fields!Fieldname.ValueSum(Fields!Fieldname.Value)

範圍
String) 選擇性。 群組或數據區的名稱,或 Null(Nothing 在 Visual Basic 中),指定要從中擷取 expression 所指定先前值的範圍。

返回類型

返回 VariantBinary

備註

指定範圍內,所有排序和篩選套用後,函數 Previous 傳回該表達式的先前值。

如果 expression 不包含匯總,此 Previous 函式會預設為報表專案的目前範圍。

在詳細數據群組中,使用 Previous 來指定上一個詳細數據列實例中字段參考的值。

備註

Previous 式僅支持詳細資料組中的欄位參考。 例如,在詳細數據群組的文字框中, =Previous(Fields!Quantity.Value) 傳回上一列欄位 Quantity 的數據。 在第一個數據列中,此表達式會傳回 null (Nothing 在 Visual Basic 中)。

如果 expression 包含使用預設範圍的聚合函數, Previous 則匯總聚合函數調用中所指定範圍上一個實例內的數據。

如果 expression 包含指定預設值以外的範圍的聚合函數,則函數Previous的範圍參數必須是聚合函數調用中所指定範圍的包含範圍。

Level函式、 InScopeAggregatePrevious 不能用在運算式參數中。 不支援指定任何聚合函數的 遞歸 參數。

如需詳細資訊,請參閱聚合函數參考(報表產生器及 SSRS)總計、匯總和內建集合的運算式範圍(報表產生器及 SSRS)。

範例

說明

下列程式代碼範例會在放置於數據區的預設數據列時,提供上一個數據列中欄位 LineTotal 的值。

程式碼

=Previous(Fields!LineTotal.Value)  

說明

下列範例顯示表達式,其會計算當月特定日的銷售總和,以及前一年當月當天的上一個值。 表達式會加入至屬於子群組 GroupbyDay 的行中的儲存格。 其父群組為 GroupbyMonth,其具有父群組 GroupbyYear。 表達式會顯示 GroupbyDay 的結果(預設範圍),然後顯示 GroupbyYear [父群組的父代 GroupbyMonth]。

例如,針對具有名為 Year之父群組的數據區,其子群組名為 Month,以及名為 Day 的子群組(3 個巢狀層級)。 與群組Day相關聯的數據列中的表達式=Previous(Sum(Fields!Sales.Value,"Day"),"Year")會傳回前一年同一天和月份的銷售值。

程式碼

=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")  

另請參閱

報表中的運算式用法 (報表產生器及 SSRS)
運算式範例 (報表產生器及 SSRS)
運算式中的資料類型 (報表產生器及 SSRS)
總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)