次の方法で共有


レポート ビルダー関数 - ページ分割されたレポートの Previous 関数 (レポート ビルダー)

適用対象: Microsoft レポート ビルダー (SSRS) Power BI Report Builder SQL Server Data Tools のレポート デザイナー

アイテムの、指定されたスコープ内の直前のインスタンスに対応する値または指定された集計値を、ページ分割されたレポートで返します。

Note

ページ分割されたレポートの定義ファイル (.rdl) は、Microsoft レポート ビルダー、Power BI レポート ビルダー、または SQL Server Data Tools のレポート デザイナーを使用して作成および変更できます。

構文

  
Previous(expression, scope)  

パラメーター

式 (expression)
(Variant または Binary) データを識別し、直前の値を取得するための式 ( Fields!Fieldname.ValueSum(Fields!Fieldname.Value)など) です。

スコープ (scope)
(文字列) 省略可。 expression で指定された直前の値を取得する対象となるスコープを示すグループやデータ領域の名前、または null (Visual Basic では Nothing) です。

戻り値の型

Variant または Binaryを返します。

解説

Previous 関数は、すべての並べ替えおよびフィルター処理が適用された後、指定されたスコープで評価された式の直前の値を返します。

expression に集計が含まれていない場合、 Previous 関数では、レポート アイテムの現在のスコープが既定になります。

詳細グループで、直前の詳細行のフィールド参照の値を指定するには Previous を使用します。

Note

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 (親グループ GroupbyMonthの親) の結果が表示されます。

たとえば、親グループが Year、その子グループが Month、そのまた子グループが Day という名前のデータ領域 (入れ子レベル 3) の場合、 グループ =Previous(Sum(Fields!Sales.Value,"Day"),"Year") に関連付けられた行内の式 Day は、前年の同じ月日の売上高の値を返します。

コード

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