Share via


Previous 函數 (Reporting Services)

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

語法

Previous(expression, scope)

參數

  • expression
    (Variant 或 Binary) 用來識別資料及擷取資料上一個値的運算式,例如,Fields!Fieldname.Value 或 Sum(Fields!Fieldname.Value)。

  • scope
    (String) 選擇性。 群組或資料區域的名稱,或為 Null (在 Visual Basic 中為 Nothing),指定範圍以從其擷取 expression 所指定的上一個値。 如需有關 scope 參數的詳細資訊,請參閱<使用運算式中的內建報表和彙總函式 (Reporting Services)>。

傳回類型

傳回 Variant 或 Binary。

備註

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

如果 expression 未包含彙總,則 Previous 函數會預設為報表項目的目前範圍。 如果是詳細資料群組中的文字方塊,則 =Previous(Fields!Quantity.Value) 會從上一個資料列傳回 Quantity 欄位的資料。 第一個資料列中的這個運算式會傳回 Null (在 Visual Basic 中為 Nothing)。

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

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

Level、InScope、Aggregate 和 Previous 函數不可用於 expression 參數。 不支援為任何彙總函數指定 recursive 參數。

範例

描述

下列程式碼範例如果置於資料區域的預設資料列中,會為上一個資料列的 LineTotal 欄位提供値。

程式碼

=Previous(Fields!LineTotal.Value)

描述

下列程式碼範例顯示的運算式會計算月中特定日的銷售總和,以及該日在去年度的上一個值。 運算式會加到屬於子群組 GroupbyDay 的資料列中的儲存格。 該群組的父群組為 GroupbyMonth,這個群組的父群組又為 GroupbyYear。 運算式會顯示 GroupbyDay (預設範圍) 的結果,然後再顯示 GroupbyYear (GroupbyDay 父群組 GroupbyMonth 的父代) 的結果。

例如,如果資料區域具有名為 Year 的父群組,而其子群組名為 Month,該子群組的子群組又名為 Day (3 個巢狀層級)。 與群組 Day 相關資料列中的運算式 =Previous(Sum(Fields!Sales.Value,"Day"),"Year") 會針對去年度的同一日期和月份傳回銷售值。

程式碼

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

請參閱

概念

使用運算式 (Reporting Services)

使用運算式中的內建報表和彙總函式 (Reporting Services)