五郎8では、作成した表において、グループ化を行い、そのグループの各項目についての合計などを集計することができます。
また、集計においては合計・平均などの計算の他に、「ライブラリ」を使用して、独自の計算を行うことができます。
ここでは、以下のような表を元に解説します。
表から[価格の合計]を求め、さらに「ライブラリ」を使用して、[価格の合計]/[数量の合計]による原料単価を求めます。(参照:[集計結果])
■ 操作手順 ■
- データベース一覧ウィンドウで、使用する表が含まれるデータベースを選択し、[開く(O)]をクリックする。
- 表・帳票一覧ウィンドウの表一覧から、使用する表を選択し、[開く(O)]をクリックする。
- [データ(D)-グループ化/集計(K)-設定(S)] を選択する。
- [グループ化/集計]ダイアログボックスで[グループ化項目(L)]の「(総計)」を選択する。
- [集計(K):総計]の項目[単価]に「合計」の見出しを設定する。
1)項目[単価]の1行目で▼をクリックし、集計方法[(見出し)...]を選択する。
2)[見出し/ライブラリの編集(U)]をクリックし、見出しとなる文字列「合計」を入力して、[OK]をクリックする。
※ | 「原料単価」についても同様に項目[単価]の2行目に見出しを設定します。 |
- [数量]、[価格]の合計を求めるための設定を行う。
1)[集計(K):総計]の項目「数量」の1行目で▼をクリックし、集計方法「合計」を選択する。
2)[集計(K):総計]の項目「価格」の1行目で▼をクリックし、集計方法「合計」を選択する。
- [価格の合計]/[数量の合計]の値を求めるための設定を行う。
1)[集計(K):総計]の項目「価格」の2行目で▼をクリックし、集計方法[(ライブラリ)...]を選択する。
2)[見出し/ライブラリの編集(U)]をクリックする。
3)[新規作成(N)]をクリックし、新たに作成されるライブラリの名前を任意に入力する。
編集画面左側の[ライブラリ(L)]欄に入力したライブラリ名が登録されます。
また、編集画面右側のエディタには、集計時に呼びだされ実行される関数(sub〜end sub,function〜end function)の記述が表示されます。
4)エディタに、以下のようなマクロを記述する。
※ | Statistics プロパティについては、■ 補足 ■をご参照ください。 |
5)[ライブラリ(L)]で設定したライブラリが選択されていることを確認して、[OK]をクリックし、[集計ライブラリ編集]画面を閉じる。
- 項目[原料名]にてグループ化し、集計後におけるレコードの並びを整える。
1)[グループ化/ソート(G)]をクリックし、[グループ化項目]シートを選択する。
2)「項目」の1行目で▼をクリックし、グループ化を行う項目として「原料名」を設定する。
2)[OK]をクリックし、[グループ化/ソートの設定]ダイアログボックスを閉じる。
[グループ化/集計]ダイアログボックスに戻ります。
[登録(R)]をクリックすると、設定した集計条件に名前を付けて保存することができます。
登録した条件を後で再利用することができ、集計のたびに設定する必要がないので便利です。
登録した表にのみ有効です。
登録した条件を後で利用する場合は、[条件呼出(Y)]をクリックし、選択します。
|
- [OK]をクリックし、集計を実行する。
■ 補足 ■ Statistics プロパティ について
書式 | < Array = > Fields.Statistics ( , ) |
機能 | 指定した項目の集計結果を示します。 値の取得のみ可能です。 |
引数 | Names | 対象とする項目を1次元の配列で指定。(省略可能)
省略時は、全項目を対象とします。
配列は、以下の構造を持ちます。
Names = { "項目名", "項目名", ... } |
| Type | 集計種別を数値で指定。(省略可能)
値は、ビット OR で表します。 |
| | 値 | 説明 |
| | &H000001 | 最大 |
| | &H000002 | 最小 |
| | &H000004 | 最大文字長 |
| | &H000008 | 最小文字長( nil 含む) |
| | &H000010 | 合計 |
| | &H000020 | 累積合計 |
| | &H000040 | 二乗和 |
| | &H000080 | 平均 |
| | &H000100 | 平均( nil 含む) |
| | &H000200 | 件数 |
| | &H000400 | 件数( nil 含む) |
| | &H000800 | 累積件数 |
| | &H001000 | 累積件数( nil 含む) |
| | &H002000 | 標準偏差 |
| | &H004000 | 標準偏差( nil 含む) |
| | &H008000 | 平均文字長 |
| | &H010000 | 平均文字長( nil 含む) |
| | (省略時:&H000001 最大) |
取得値 | Array | 集計結果を2次元の配列で返す。
配列は、以下の構造になります。
Arrray ={ ."項目名" = { .(集計番号) = 集計結果,. (集計番号) = 集計結果,...}, ...} |
| | 添字名 | 説明 |
| | "項目名" | 項目名を文字列で返す。 |
| | 添字名 | 説明 |
| | "集計番号" | 集計番号を数値で返す。 |
| | 値 | 説明 |
| | 1 | 最大 |
| | 2 | 最小 |
| | 3 | 最大文字長 |
| | 4 | 最小文字長( nil 含む) |
| | 5 | 合計 |
| | 6 | 累積合計 |
| | 7 | 二乗和 |
| | 8 | 平均 |
| | 9 | 平均( nil 含む) |
| | 10 | 件数 |
| | 11 | 件数( nil 含む) |
| | 12 | 累積件数 |
| | 13 | 累積件数( nil 含む) |
| | 14 | 標準偏差 |
| | 15 | 標準偏差( nil 含む) |
| | 16 | 平均文字長 |
| | 17 | 平均文字長( nil 含む) |
説明 | 集計結果を配列で返します。
引数 Field には、必要な項目のみ指定することができます。
その際、指定しなかった項目は、取得できません。
同様に、引数 Type で指定しなかった集計結果は取得できません。 |
補足 | 引数 Type と、取得した配列の添字 .集計番号についてたとえば、合計を集計したいとき、引数 Type に &H000010(合計)を指定します。
このとき、取得した配列の添字 .集計番号には、5(合計)のみ存在します。
したがって、これ以外の値を指定することはできません。
このように、添字 .集計番号には引数 Type と対応する値を入れる必要があります。 |