[サポートFAQ]
ライン
更新日:1999.02.19 - 情報番号:005139
ライン
Q マクロでクロス集計を実行する
ライン
A FAQ改善アンケートにご協力ください

マクロを使用すると、マクロを実行するだけで簡単にクロス集計ができるので、新しいデータが入力されるたびに繰り返しクロス集計を行う場合などに便利です。

ここでは、下の図のように「商品別売上」テーブルで、各担当者が、どの商品をいくつ売り上げたかひとめでわかるような表を作成する場合を例として解説します。

 

 

これらの処理、すなわち上の図のように「商品別売上」テーブルの「氏名」項目と「商品名」項目でグループ化し「売上個数」項目でクロス集計を行うには、次のように操作します。

  ■ 操作手順 ■



    1.五郎を起動し、データベースを開く。

    2.[マクロ]シートの[新規作成(N)]をクリックして、[新規作成]ダイアログボックスを開く。

    3.任意のマクロ名を付けて「手続き」を選択し、Mainのマクロウィンドウを開く。

    4.Mainのマクロウィンドウにマクロを記述する。

    5.マクロを保存し、マクロウィンドウを閉じる。

    6.[マクロ]シートで作成したマクロを選択し、[実行(G)]をクリックする。




    !!Main
    Goro.OpenTable("商品別売上", , 1)                                      !!(1)
      
    %Grouping = {.Key = {{.Field = "氏名"}, {.Field = "商品名"}}}                        !!(2)
      
    %Standard = {.Intersection = {{.ValueField = "売上個数"}}, .ReferenceName = "クロス集計結果表"}!!(3)
      
    %Extension = {.DisplayField = {"担当合計"}, .RowTotal = {{.DisplayField = "担当合計", .Type = 5}},.ColumnTotal = {{.ValueRow = 1, .Type = 5}},.GrandTotal = {{.DisplayField = "担当合計", .Type = 5}}} !!(4)
      
    Goro.CrossTab(1, , %Grouping, %Standard, %Extension)                           !!(5)

    (1)
    Goro.OpenTable("商品別売上", , 1)

    「商品別売上」テーブルを一覧表示形式(ViewStyle = 1)で開きます。

    (2)
    %Grouping = {.Key = {{.Field = "氏名"}, {.Field = "商品名"}}}

    集計時におけるグループキーを、項目「氏名」と項目「商品名」として配列で指定します。


    (3)
    %Standard = {.Intersection = {{.ValueField = "売上個数"}}, .ReferenceName = "クロス集計結果表"}

    基本クロス集計の方法を配列で指定します。ここでは、項目「売上個数」を指定します。また、クロス集計された結果表に与える参照名として「クロス集計結果」を指定します。


    (4)
    %Extension = {.DisplayField = {"担当合計"}, .RowTotal = {{.DisplayField = "担当合計", .Type = 5}},.ColumnTotal = {{.ValueRow = 1, .Type = 5}},.GrandTotal = {{.DisplayField = "担当合計", .Type = 5}}}

    拡張クロス集計の方法を配列で指定します。行集計の格納場所として「担当合計」を、行集計の格納場所として「担当合計」を集計種別「合計」として指定します。また、列集計の方法について、集計種別「合計」、集計対象の行番号を「1」として指定します。最後に、総計の格納場所として「担当合計」を、集計種別「合計」にて指定します。


    (5)
    Goro.CrossTab(1, , %Grouping, %Standard, %Extension)

    カレント表「商品別売上」について、それぞれの条件を格納した変数「%Grouping」、変数「%Standard」、変数「%Extension」をもって、クロス集計を実行します。クロス集計された結果は、直ちにカレント表に反映されます。




    マクロ簡易作成機能を使えば、マクロのコードを記述せずに条件にあった絞り込みをマクロ化できます。

      (1)動作一覧(L)
         表→表を開く

      (2)「表を開く」の設定(P)
         表名:商品別売上

      (3)動作一覧(L)
         データ→クロス集計

      (4)「クロス集計」の設定(P)
       設定/解除:設定
       条件   :クロス集計_売上個数  

    マクロ簡易作成機能で作成されたマクロを JustBuilderへ(J) にてコード変換すると、次のようになります。

    !! 表を開く

    %表ID_01 = Goro.OpenTable("商品別売上")

    !! クロス集計

    Goro.CrossTab( 1, "クロス集計_売上個数")

 

ライン

この情報は、お客様のお役に立ちましたか?

送信
ライン
※本情報の内容は、予告なく変更することがあります。
※本情報の一部または全部を無断で転載及び複写することを禁止します。
※記載された会社名、製品名は、弊社または各社の登録商標もしくは商標です。
弊社の登録商標についてはこちらをご参照ください。