Forguncy 10 オンラインヘルプ
アプリの開発 / 外部連携と入出力 / レポート / / 共通の関数 / 集計
このトピックで
    集計
    このトピックで

    レポートに集計値を含めるために、集計関数を使用します。CumulativeTotalを除くすべての集計関数には、集計に使用するデータの範囲を決定するscopeパラメーターがありますが、これは省略可能です(通常は省略して使用します)。scopeパラメーターには、次のいずれかの値を指定できます。ただし、scopeパラメーターには、関数を設定するレポートアイテムよりも外側のグループしか指定できません。

    scopeパラメーターを省略した場合、集計関数を設定したレポートアイテムに合わせてそのスコープが決定されます。たとえば、Tableデータ領域のグループフッタ上のTextBoxコントロールに「{Sum(unitsInStock)}」を設定している場合、scopeパラメーターは省略されています。この場合、自動的に集計の範囲がグループとなります。また、同じ値のTableデータ領域のヘッダにあるTextBoxコントロールに設定した場合、集計の範囲はTableデータ領域全体になります。

    AggregateIf

    ブール値に基づいて、集計の対象とするかどうかを決定します。

    構文

    AggregateIf(condition, aggregate, expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲のSalesAmountフィールド値の合計を返すことができます。結果には、1,000を超えるSalesAmountの値のみが含まれます。

     
    
    {AggregateIf(SalesAmount > 1000, "Sum", SalesAmount)}
    
    

    Avg

    式で返されたNULL以外のすべての数値の平均を、指定された集計範囲で計算して返します。

    構文

    Avg(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲のSalesAmountフィールド値の平均を返すことができます。

     
    
    {Avg(SalesCount)}
    
    

    Count

    式で返されたNULL以外の値の数を、指定された集計範囲で評価して返します。

    構文

    Count(expression, [scope])

    引数

    例:

    次の式を使用して、ProductsTableデータ領域内のUnitsOnOrderフィールド値の数を返すことができます。

     
    
    {Count(UnitsOnOrder, "ProductsTable")}
    
    

    CountDistinct

    式で指定されたNULL以外の一意の値の数を、指定された集計範囲で評価して返します。

    構文

    CountDistinct(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内の一意のCustomerIdフィールド値の数を返すことができます。

     
    
    {CountDistinct(CustomerId)}
    
    

    CountRows

    指定した集計範囲内の行数を返します。

    構文

    CountRows([scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内の行数を返すことができます。

     
    
    {CountRows()}
    
    

    CrossAggregate

    指定された行グループと列グループで、指定された値を指定された集計方法でクロス集計します。

    構文

    CrossAggregate(expression, functionName, columnGroupName, rowGroupName)

    引数

    CumulativeTotal

    式に返された現在と以前のページのグループ内の集計を表示します。 集計対象のグループは、レポートの[グループ]でグループ化したものとなります。

    構文

    CountRows(aggregate, expression)

    引数

    例:

    次の式を使用して、レポートのグループ内のOrderIDの数を返すことができます。

     
    
    {CumulativeTotal(OrderID, Count)}
    
    

    DistinctSum

    式で指定されたNULL以外の一意の値の合計を、指定された集計範囲で評価して返します。

    構文

    DistinctSum(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内の一意のSizeフィールド値の合計を返すことができます。

     
    
    {DistinctSum(Size)}
    
    

    First

    指定した式の最初の値を、指定された集計範囲で評価して返します。

    構文

    First(expression, [scope])

    引数

    例:

    次の式を使用して、ProductsTableデータ領域のProductNameフィールドの最初の値を返すことができます。

     
    
    {First(ProductName, "ProductsTable")}
    
    

    Last

    指定した式の最後の値を、指定された集計範囲で評価して返します。

    構文

    Last(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲のSalesAmountフィールドの最後の値を返すことができます。

     
    
    {Last(SalesAmount)}
    
    

    Max

    式で指定されたNull以外の数値の最大値を、指定された集計範囲で評価して返します。

    構文

    Max(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のSizeフィールド値の最大値を返すことができます。

     
    
    {Max(Size)}
    
    

    Median

    式で指定されたNull以外の数値の中央値を、指定された集計範囲で評価して返します。集計対象の値の内、半分はこの値より大きく、残りの半分はこの値より小さくなります。

    構文

    Median(expression, [scope])

    引数

    例:

    次の式を使用して、Salesデータ領域内のSalesAmountフィールド値の中央値を返すことができます。

     
    
    {Median(SalesAmount, "Sales")}
    
    

    Min

    式で指定されたNull以外の数値の最小値を、指定された集計範囲で評価して返します。

    構文

    Min(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のSizeフィールド値の最小値を返すことができます。

     
    
    {Min(Size)}
    
    

    Mode

    式で指定された値の中で最も頻繁に表示される値(最頻値)を、指定された集計範囲で評価して返します。

    構文

    Mode(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のReturnReasonフィールドの値の中で最頻値を返すことができます。

     
    
    {Mode(ReturnReason)}
    
    

    RunningValue

    式で指定されたNull以外の数値の実行中の集計結果を、指定された集計範囲で評価して返します。この関数は主に該当レコードまでの累積値を出力するために使用されます。

    構文

    RunningValue(expression, aggregate, [scope])

    引数

    例:

    次の式を使用して、現在のスコープ内のSalesAmountフィールド値の合計の実行値を返すことができます。たとえばグループフッターを毎ページ出力するように設定し、1つのグループが複数ページにまたがるような場合、最初のページフッターには、そこまでのレコードの累積値が出力されます。

     
    
    {RunningValue(SalesAmount, "Sum", "ProductGroup")}
    
    

    StDev

    式で指定されたnull以外の数値の標準偏差を、指定された集計範囲で評価して返します。

    構文

    StDev(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のReturnAmountフィールド値の標準偏差を返すことができます。

     
    
    {StDev(ReturnAmount)}
    
    

    StDevP

    式で指定されたNull以外の数値の母集団標準偏差を、指定された集計範囲で評価して返します。

    構文

    StDevP(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のReturnAmountフィールド値の母集団標準偏差を返すことができます。

     
    
    {StDevP(ReturnAmount)}
    
    

    Sum

    式で指定されたNull以外の数値の合計を、指定された集計範囲で評価して返します。

    構文

    Sum(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のSalesAmountフィールド値の合計を返すことができます。

     
    
    {Sum(SalesAmount)}
    
    

    Var

    式で指定されたNull以外の数値の分散を、指定された集計範囲で評価して返します。

    構文

    Var(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のReturnAmountフィールド値の分散を返すことができます。

     
    
    {Var(ReturnAmount)}
    
    

    VarP

    式で指定されたNull以外の数値の母集団に対する分散を、指定された集計範囲で評価して返します。

    構文

    VarP(expression, [scope])

    引数

    例:

    次の式を使用して、現在の集計範囲内のReturnAmountフィールド値の母集団の分散を返すことができます。

     
    
    {VarP(ReturnAmount)}
    
    

    データセットのフィールドをTextBoxコントロールにデータ連結した場合、自動的に次のような集計関数付きの値が設定されます。

    Sum関数の例

    Sum関数は、指定された式の値の合計を返します。

    次のように式を記載した場合、集計範囲を示すscopeパラメーターは省略されているため、データセット全体の注文金額の合計が出力されます。

    Max関数の例

    Max関数は、指定された式のNull以外のすべての値のうちの最大値を返します。

    たとえば、Max関数を使用して注文金額の最大値を取得する場合には次のような式となります。