FlexReport for WinForms
小計などの集計の追加
データのグループ化 > 小計などの集計の追加

C1FlexReport は、すべての計算フィールドで集計式をサポートします。集計式には、Sum、Min、Max、Avg、Count、Range、Var などがあります。

すべての集計関数は引数として式を受け取り、レポート内の位置によって特定される範囲内でその式を評価します。たとえば、グループヘッダーまたはグループフッター内の集計は、そのグループを対象範囲にします。レポートヘッダーまたはレポートフッター内の集計は、レポート全体を対象範囲にします。

たとえば、次の集計式は、集計の範囲(グループまたはレポート)内で Sales フィールドのすべての値の合計を返します。Sum(Sales)

次の集計式は、レポート内のすべての値に対して消費税の合計を返します(消費税を 8.5% と仮定)。Sum(Sales * 0.085)

次の例は、Count 集計を使用して、特定の役職に該当する従業員のレコードの数を計算します。

  1. サンプル「データのグループ化」で作成したチェックボックスイベント(c1CheckBox1_CheckedChanged)に次のコードを追加します。
    Dim f1 As New Field()
    f1.Name = "CountRecords"
    f1.Text = "Count(GrpTitle)"
    f1.Left = 2000
    f1.Top = 500
    f1.Width = C1FlexReport1.Layout.Width - 2000
    f1.Height = 400
    f1.Align = FieldAlignEnum.LeftMiddle
    f1.MarginLeft = 100
    f1.Calculated = True
    f1.Visible = True
    f1.BackColor = Color.Yellow
    f1.Font.Bold = True
    f1.Font.Size = 10
    s.Fields.Add(f1)
    Dim tf As New TextField()
    tf.Name = "Text"
    tf.Text = "Number Of Records: "
    tf.Left = 0
    tf.Top = 500
    tf.Width = C1FlexReport1.Layout.Width - f1.Width
    tf.Height = 400
    tf.Align = FieldAlignEnum.LeftMiddle
    tf.Font.Bold = True
    tf.Font.Size = 10
    tf.BackColor = Color.Transparent
    tf.BackColor = Color.Yellow
    tf.MarginLeft = 100
    tf.Visible = True
    s.Fields.Add(tf)
    
    Field f1 = new Field();
    f1.Name = "CountRecords";
    f1.Text = "Count(GrpTitle)";
    f1.Left = 2000;
    f1.Top = 500;
    f1.Width = c1FlexReport1.Layout.Width - 2000;
    f1.Height = 400;
    f1.Align = FieldAlignEnum.LeftMiddle;
    f1.MarginLeft = 100;
    f1.Calculated = true;
    f1.Visible = true;
    f1.BackColor = Color.Yellow;
    f1.Font.Bold = true;
    f1.Font.Size = 10;
    s.Fields.Add(f1);
    TextField tf = new TextField();
    tf.Name = "Text";
    tf.Text = "Number Of Records: ";
    tf.Left = 0;
    tf.Top = 500;
    tf.Width = c1FlexReport1.Layout.Width - f1.Width;
    tf.Height = 400;
    tf.Align = FieldAlignEnum.LeftMiddle;
    tf.Font.Bold = true;
    tf.Font.Size = 10;
    tf.BackColor = Color.Transparent;
    tf.BackColor = Color.Yellow;
    tf.MarginLeft = 100;
    tf.Visible = true;
    s.Fields.Add(tf);
    
  2. プロジェクトを実行します。[Employees]ボタンをクリックして、レポートをレンダリングします。
  3. [Title でレポートをグループ化]チェックボックスをクリックして、レポートにグループを表示します。各グループのレコード数が計算されることを確認します。