FlexPivot for WinForms
集計
C1DataEngineの概要 > C1DataEngine の使用 > 集計

集計(小計)演算は、Sum、Min、Max、Count などの演算を使用して値のコレクションから1つの値を計算します。集計演算と単純演算の最も基本的な違いは、集計はグループ化を使用することです。グループ化を使用しない集計も可能ですが、その場合は、1行の総計が作成されます。小計を作成するには、グループ化が必要です。入力行は1つ以上の列の値でグループ化され、各グループの小計が計算されます。

次の構文は、各製品の小計を計算する集計クエリーの例です。結果の行数は、製品の数と等しくなります。製品ごとに、2つの小計(集計)が計算されます。それらは、その製品を含む注文の数と、それらの注文に含まれるその製品の最大のディスカウントです。

構文

Dim query2 As dynamic = workspace.query("subtotals", New With { _
        Key .Product = od.ProductID, _
        Key .OrdersCount = Op.Count(od.OrderID), _
        Key .MaxDiscount = Op.Max(od.Discount) _
})
dynamic query2 = workspace.query("subtotals", new
    {
        Product = od.ProductID,
        OrdersCount = Op.Count(od.OrderID),
        MaxDiscount = Op.Max(od.Discount)
    });

集計を使用しながら、複数の列をグループ化できます。次のクエリーは、2つのグループ化列を持ち、その結果としてより多くのグループが生成される例です。

構文

Dim query3 As dynamic = workspace.query("subtotals3", New With { _
        Key .Product = od.ProductID, _
        Key .Discount = od.Discount, _
        Key .OrdersCount = Op.Count(od.OrderID) _
})
dynamic query3 = workspace.query("subtotals3", new
    {
        Product = od.ProductID,
        Discount = od.Discount,
        OrdersCount = Op.Count(od.OrderID)
    });

上のクエリーの結果は、複数のグループのそれぞれに特定の製品の特定のディスカウントを含む注文が入り、小計はそのグループ内の注文の数を示します。