次の方法で共有


Previous 関数 (レポート ビルダ 2.0)

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

構文

Previous(expression, scope)

パラメーター

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

  • scope
    (String) 省略可。expression で指定された直前の値を取得する対象となるスコープを示すグループやデータ領域の名前、または NULL (Visual Basic では Nothing) です。scope パラメータの詳細については、「式での組み込みのレポート関数と集計関数の使用 (レポート ビルダ 2.0)」を参照してください。

戻り値の型

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

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

コード

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