‖一括処理部品集2‖mlclass.html 《戻る》 《玄関へ》
《 複数クラスの度数一覧表を作る 》
【内容】
同一科目についてクラス(グループ)別に度数処理し、
複数クラスの一覧表を作成します。
度数は転置集計を使って求めます。
教科担任が使えます。
【用例】
名札 組別度数
&MESS1=#連結(" クラス別などグループ別に度数処理をおこない"
\
,"\n度数一覧表を作成します。"
\
,"\n 対象表・項目や階級幅は任意に設定できます。"
\
,"\n\n 対象表には項目[組]と[作業用]が必要です。"
\
,"\n\n 実行しますか?")
メッセージボックス #連結(&システム名,"グループ別度数一覧表"),&MESS1,アイコン=?,ボタン=5,&選択
条件 (&選択=7) 分岐 START
表
名札 F指定4
手続き実行 ファイル指定 @
手続き実行 表初期化
代入 &KOUF=1
手続き実行 項目一覧
手続き実行 満点
手続き実行 階級幅設定
繰り返し
手続き実行 対象確認
メニュー2 &変更,1,(14,41),#連結(&システム名,"対象確認
よろしいか")\
,"は い,対象ファイルの変更,対象項目の変更,満点の変更,階級幅の変更,中止(MAINMENUへ)"
条件 (&変更=1) 繰り返し中止
条件 (&変更=2) 分岐 F指定4
条件 (&変更=3) 手続き実行 項目一覧
条件 (&変更=4) 手続き実行 満点
条件 (&変更=5) 手続き実行 階級幅設定
条件 (&変更=6) 分岐 START
繰り返し終了
絞り込み &項目名A<>#未定義
A
置換 [作業用]=#INT(#項目属性(&KOUA,0)/&階級幅)*&階級幅
絞り込み解除
手続き実行 組項目
B
並べ替え {[作業用]降順,&組項目名A
昇順}
絞り込み [作業用]<>#未定義
転置集計 {[作業用]},&組項目名A,[作業用],集計種別=件数,グループ値並べ替え=降順 \
,転置項目名並べ替え=昇順,表番号=2
表形式編集 /* トレースが確認できたらこの行の先頭に*を付けてください。
手続き実行 書き出し表
C
書き出し 表,&書出表
表
表 &書出表,表番号=2
&項数=#項目数,&項数1=&項数
繰り返し &計数=2,&項数1
絞り込み &計数=0
置換 &計数=#未定義
絞り込み解除
繰り返し終了
項目属性変更2 変更,[作業用],{"階級値"}
項目属性変更2 変更,[件数],{"度数合計"}
項目属性変更2 挿入,[階級値],{"階級","文字列",4}
置換 [階級]=#全角(#STR([階級値]))
ジャンプ 行番号=終端
行挿入 [階級]="人 数"
行挿入 [階級]="得点合計"
行挿入 [階級]="平均点"
行挿入 [階級]="最高点"
行挿入 [階級]="最低点"
表形式編集 /* トレースが確認できたらこの行の先頭に*を付けてください。
手続き実行 組連続集計 D
手続き終了
*/////////////////////////////////////*
名札 組項目
B
繰り返し
&組項目名A=#未定義
&項目名1=#未定義,&項目名2=#未定義,&KEN=""
&項目数=#項目数,&計数=1
繰り返し &計数=1,&項目数
&項目名1=#文字置換(&項目名1,&計数,#項目属性(&計数,1))
繰り返し終了
&項目名1=#連結(&項目名1,",中 止")
&項目名2="↓↑でスクロールします。"
メニュー3 &KOUB,&KOUB,(05,31)-(20,80),#連結("転置項目とするグループ項目を選んでください。")
\
,&項目名1,&項目名2
条件 (&KOUB=<&項目数) &組項目名A=#対応文字列(&項目名1,&KOUB)
条件 (&KOUB>&項目数) 分岐 START
代入 &件数=""
繰り返し
条件 (&TOPM<3 .or &TOPM>3) &MESS1=#連結("グループ項目名=[",&組項目名A,"]"
\
,"\n\n よろしいか?")
条件 (&TOPM<3 .or &TOPM>3)
メッセージボックス #連結(&システム名,"グループ項目の確認"\
,&MESS1,アイコン=?,ボタン=4,&選択
条件 (&選択=6) 手続き終了
条件 (&選択=7) 繰り返し中止
条件 (&選択=2) 分岐 START
繰り返し終了
手続き終了
名札 書き出し表 C
繰り返し
キー入力 (15,51),プロンプト=#連結("作成する度数一覧表のファイル名(.TBLは不要)を入力してください。"),\
モード=半角,上書き=する,初期値=&TBL4,終了状態=&ESC,&TBL4
&書出表=#連結(&TBL4+".TBL")
メニュー2 &POP1,1,(14,51),#連結(”作成する度数一覧表名:",&書出表,"
よろしいか?”)\
,"は い,訂正する,中止(MAINMENUへ)"
条件 (&POP1=1) 繰り返し中止
条件 (&POP1=3) 分岐 START
繰り返し終了
手続き終了
******************
名札 組連続集計
D
手続き実行 組番号
表
表 &TBL1,表番号=1
表 &書出表,表番号=2
&計数=1
繰り返し &計数=1,&実組数
(B)
&TCG=#数値(#対応文字列(&受検組,&計数))
編集表 1
条件 (#絞り込み状態>0) 絞り込み解除 *
絞り込み &組項目名A=&TCG
条件 (&選択件数>0) 手続き実行 平均他入力 (C)
繰り返し終了
手続き実行 平均他全入力
(D)
手続き終了
******************
名札 組番号
代入 &受検組="",&KEN="",&選択件数="",&受検組名="",&組番号="",&組名=""
表 &TBL1,表番号=1
並べ替え {&組項目名A 昇順}
絞り込み &組項目名A {>0}
条件 (&選択件数<1) 確認 #連結(&システム名,"レコードがありません。作業を中止します。")
条件 (&選択件数<1) 分岐 組別度数
絞り込み 単一化={&組項目名A}
代入 &実組数=&選択件数
ジャンプ 行番号=先頭
&計数=1
繰り返し &計数=1,&実組数
&組番号=#STR(#項目属性(&KOUB,0))
&組名=#連結(#全角(&組番号)+"組") (A)
&受検組=#文字置換(&受検組,&計数,&組番号)
&受検組名=#文字置換(&受検組名,&計数,&組名)
ジャンプ 行番号=+1
繰り返し終了
条件 (#絞り込み状態>0) 絞り込み解除 *
代入 &選択件数=""
手続き終了
******************
名札 平均他入力 (C)
&有効件数="",&平均値="",&最大値="",&最小値="",&合計値=""
項目集計 &KOUA
&M=&計数+2
編集表 2
ジャンプ 行番号=最終
行訂正 &M=&最小値
ジャンプ 行番号=-1
行訂正 &M=&最大値
ジャンプ 行番号=-1
行訂正 &M=#四捨五入(&平均値,1)
ジャンプ 行番号=-1
行訂正 &M=&合計値
ジャンプ 行番号=-1
行訂正 &M=&有効件数
&修正名=#対応文字列(&受検組名,&計数)
&項名2=#項目属性(&M,1)
項目属性変更2 変更,&項名2,{&修正名}
手続き終了
******************
名札 平均他全入力
(D)
&有効件数="",&平均値="",&最大値="",&最小値="",&合計値=""
編集表 1
条件 (#絞り込み状態>0) 絞り込み解除 *
絞り込み &組項目名A>0
項目集計 &KOUA
編集表 2
ジャンプ 行番号=最終
行訂正 [度数合計]=&最小値
ジャンプ 行番号=-1
行訂正 [度数合計]=&最大値
ジャンプ 行番号=-1
行訂正 [度数合計]=#四捨五入(&平均値,1)
ジャンプ 行番号=-1
行訂正 [度数合計]=&合計値
ジャンプ 行番号=-1
行訂正 [度数合計]=&有効件数
項目属性変更2 削除,[階級値]
表形式編集 ガイド="度数一覧表です。印刷条件を設定して(/3L)印刷してください。終了:/Q"
手続き終了
【解説】
@ 手続き実行の「ファイル指定」では、対象ファイルを選びます。
同じく「項目一覧」では、対象項目を選びます。
同じく「満点」では、対象項目の満点を入力します。
同じく「階級幅設定」では、階級幅(刻み)を設定します。
ここでは省略していますが、部品集2の12,13などを参照してください。
A 対象レコードを絞り込み次の前処理をします。
度数処理対象表の対象項目の値を階級幅に応じて前処理をして[作業用]の
項目に入れます。階級幅が5点なら、素点93点は90点に、素点49点は45点
になります。
B 手続き実行の「組項目」では、対象ファイルの項目をメニューとして表示し度数処理する
グループの項目(普通は[組])を選びます。
[作業用]とグループ項目を使って並べ替えます。
グループ項目を[作業用](縦の集計条件)、転置項目を[組](横の集計条件)にして
件数を求めます。これで組別に各階級の件数(度数分布)が得られます。
C 作成された転置表(度数分布表)をファイル名を付けて一旦書き出します。
書き出した表を使って、以下の加工をおこないます。
・度数表の項目数を知り、度数が0(ゼロ)を消去します。
・度数表の項目名を変更したり、項目を挿入します。
・文字型として挿入した[階級]を使って平均点などを入力する行を挿入しておきます。
D 手続き実行の「組連続集計」では、度数分布表をさらに加工します。
・手続き実行の組番号で、[組]のデータから実クラス数を知り、度数分布表
の項目名変更の為の文字列などを用意します。(A)
・元の対象表を使い、クラス別にレコードを絞り込んで素点合計値や平均値など
を知ります。これらの値は度数分布表の該当クラスの”得点合計”などの行に
入力します。クラス番号を使ってクラスの項目名も変更します。
・元の対象表を使い、全クラスのレコードから素点合計値や平均値など
を知ります。これらの値は度数分布表の項目[度数合計]を利用し
”得点合計”などの行に入力します。その後項目[階級値]を削除します。
(注)桐v8sp5を使用する以前のものです。
【参考】
製品案内のページから「教務部補佐」、メニューの4)で処理画面が見れます。