報表產生器函數 - 編頁報告中的 Previous 函數 (報表產生器)

適用於:Microsoft 報表產生器 (SSRS) Power BI Report Builder SQL Server Data Tools 中的報表設計師

傳回某個項目在指定範圍內上一個執行個體的值或指定的彙總值。

注意

您可以在 Microsoft 報表產生器、Power BI Report Builder,以及 SQL Server Data Tools 的報表設計師中,建立及修改編頁報告定義 (.rdl) 檔案。

語法

  
Previous(expression, scope)  

參數

expression
(VariantBinary) 用來識別資料及擷取資料上一個值的運算式;例如, Fields!Fieldname.ValueSum(Fields!Fieldname.Value)

範圍 (scope)
(字串) 選擇性。 群組或資料區域的名稱,或者為 null (在 Visual Basic 中為 Nothing),其會指定範圍,以從該範圍中擷取 expression 所指定的上一個值。

傳回類型

傳回 VariantBinary

備註

Previous 函數會在套用過所有的排序和篩選之後,針對在指定範圍內評估的運算式傳回上一個值。

如果 expression 未包含彙總,則 Previous 函數會預設為報表項目的目前範圍。

在詳細資料群組中,請使用 Previous 來指定上一個詳細資料列執行個體中欄位參考的值。

注意

Previous 函數只支援詳細資料群組中的欄位參考。 例如,在詳細資料群組的文字方塊中, =Previous(Fields!Quantity.Value) 會從上一個資料列傳回 Quantity 欄位的資料。 在第一個資料列中,此運算式會傳回 null (在 Visual Basic 中為 Nothing)。

如果 expression 包含使用預設範圍的彙總函式,則 Previous 會將彙總函式呼叫所指定範圍的上一個執行個體內的資料加以彙總。

如果 expression 包含的彙總函式指定預設外的範圍,則 Previous 函數的 scope 參數的範圍必須包含彙總函式呼叫所指定的範圍。

LevelInScopeAggregatePrevious 函數不得用於 expression 參數中。 不支援為任何彙總函式指定 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)