‖一括処理部品集2‖zendosu.html 《玄関へ》
《 入試用:中学校別全中学校の度数分布表の作成 》
【内容】
高校入試用の度数処理です。
受検中学校単位で処理し、全受検校を一覧表にします。
「男女別の度数処理をおこなう」を利用しています。
【用例】
名札 度数一覧
手続き実行 度数処理準備
@
・・・・・・
手続き実行 階級幅
・・・・・・
繰り返し A
メニュー2 &連続,1,(16,55),#連結(&システム名,”中学校別度数一覧表の内容はどれですか?”)
\
,"男・女・計,男子だけ,女子だけ,男女の計だけ,男・女,中 止,MAINMENUへ,終 了"
条件 (&連続=<5) 繰り返し中止
・・・・・・
繰り返し終了
条件 (&連続=>1 .and &連続=<5) &TBL4=#連結(&DAPA,"TDSA",#STR(&連続),".TBL")
ケース開始
B
ケース (&連続<6 .and &POPK=1)
確認 "度数を転記するための一覧表を作成します。しばらくお待ちください。"
手続き実行 中学名列 C
ケース (&連続=>1 .and &連続=<5
.and &POPK=2 .and #FSIZE(&TBL4)=-1)
確認 #連結(&システム名,"転記用の度数一覧表がありませんので作成します。")
手続き実行 中学名列
ケース終了
手続き実行 受検校
D
手続き実行 度数連続処理
E
・・・・・・
*////////////////////////////////*
名札 度数連続処理
E
表
&TBL4=#連結(&DAPA,"DS_B&G.TBL"),&TBL3=#連結(&DAPA,"DS_B&GB.TBL")
ファイル複写 &TBL4,&TBL3
F
表 &TBL3,表番号=3
編集表 &TBL3
条件 (&連続=>1 .and &連続=<5) &TBL4=#連結(&DAPA,"TDSA",#STR(&連続),".TBL")
表 &TBL4,表番号=4
表 &入試N,表番号=1
代入 &M="",&KEN=""
&FLG2=1
繰り返し &計数=1,&実校数
&中学校=#対応文字列(&受検校,&計数),&M=&計数
編集表 &入試N
手続き実行 表初期化
手続き実行 整列条件
G
ケース開始
H
ケース (&合否=3)
ケース開始
ケース (&連続=2)
検索条件登録 "性中学合否別",{[中学名]&中学校,[性]=1,[合否]<3,[合否]>=0}
ケース (&連続=3)
検索条件登録 "性中学合否別",{[中学名]&中学校,[性]=2,[合否]<3,[合否]>=0}
ケース その他
検索条件登録 "性中学合否別",{[中学名]&中学校,[合否]<3,[合否]>=0}
ケース終了
ケース (&合否<3)
ケース開始
ケース (&連続=2)
検索条件登録 "性中学合否別",{[中学名]&中学校,[性]=1,[合否]&合否}
ケース (&連続=3)
検索条件登録 "性中学合否別",{[中学名]&中学校,[性]=2,[合否]&合否}
ケース その他
検索条件登録 "性中学合否別",{[中学名]&中学校,[合否]&合否}
ケース終了
ケース終了
絞り込み 条件名="性中学合否別"
&KEN=&選択件数
条件 (&KEN=0) 代入 &中学校=" "
ケース開始
ケース (&KEN=0)
ケース中止
ケース (&KEN>0)
編集表 &入試N
手続き実行 男女度数処理
I
編集表 &TBL3
手続き実行 男女度数処理2
&中学男=#連結(&中学校,"男"),&中学女=#連結(&中学校,"女")
\
,&中学計=#連結(&中学校,"計")
項目属性変更 変更,3,{&中学男},変更,4,{&中学女},変更,5,{&中学計} J
ケース終了
ケース開始
ケース (&KEN>0 .and &FLG2=1)
K
条件 (&連続=1) 書き出し 表,"$DS_B&GB.TBL",*
条件 (&連続=2) 書き出し 表,"$DS_B&GB.TBL",{[番号],[階級],&中学男}
条件 (&連続=3) 書き出し 表,"$DS_B&GB.TBL",{[番号],[階級],&中学女}
条件 (&連続=4) 書き出し 表,"$DS_B&GB.TBL",{[番号],[階級],&中学計}
条件 (&連続=5) 書き出し 表,"$DS_B&GB.TBL",{[番号],[階級],&中学男,&中学女}
編集表 &TBL4
読み込み 表,"$DS_B&GB.TBL",*
ファイル削除 "$DS_B&GB.TBL"
&FLG2=2
ケース終了
ケース開始
ケース (&KEN=0)
ケース中止
ケース (&KEN>0 .and &FLG2=2)
編集表 &入試N
編集表 &TBL4
L
条件 (&連続=1) 併合 &TBL3,置換,{[階級]照合[階級],&中学男
複写 &中学男 \
,&中学女
複写 &中学女,&中学計 複写 &中学計}
条件 (&連続=2) 併合 &TBL3,置換,{[階級]照合[階級],&中学男
複写 &中学男}
条件 (&連続=3) 併合 &TBL3,置換,{[階級]照合[階級],&中学女
複写 &中学女}
条件 (&連続=4) 併合 &TBL3,置換,{[階級]照合[階級],&中学計
複写 &中学計}
条件 (&連続=5) 併合 &TBL3,置換,{[階級]照合[階級],&中学男
複写 &中学男,&中学女 複写 &中学女}
絞り込み [番号]>0
併合 &TBL3,置換,{[階級]照合[階級],[総男]
加算 &中学男,[総女] 加算 &中学女,[総計]
加算 &中学計}
置換 [総計]=#COND([総計]="",0,1,[総計])
条件 (&連続=1 .or &連続=4
.or &連続=5) 置換 [累計]=#直前値([累計],0)+[総計]
条件 (&連続=2) 置換 [累計]=#直前値([累計],0)+[総男]
条件 (&連続=3) 置換 [累計]=#直前値([累計],0)+[総女]
置換 [総計]=#COND([総計]=0,"",1,[総計]),[累計]=#COND([累計]=0,"",1,[累計])
\
,[総男]=#COND([総男]=0,"",1,[総男]),[総女]=#COND([総女]=0,"",1,[総女])
絞り込み 補集合
手続き実行 度数一覧表総合処理
M
ケース終了
&KEN="",&選択件数=""
編集表 &TBL3
項目属性変更 変更,3,{男子},変更,4,{女子},変更,5,{合計} J
・・・・・・
繰り返し終了
編集表 &TBL4
&ガイド=#連結("データ=",&合格,"・",&対象者," 〈度数累計は最右項目です
CTRL+F〉 終了:/Q")
表示幅 ,列固定{[番号],[階級]} N
表形式編集 ガイド=&ガイド,カーソル=→
手続き終了
* +++++++++++++++++++++++++++++++++++ *
名札 度数一覧表総合処理 M
ジャンプ 行番号=先頭
行訂正 [総男]=&計総男,[総女]=&計総女,[総計]=[総男]+[総女]
ジャンプ 行番号=+1
行訂正 [総男]=&点計総男,[総女]=&点計総女,[総計]=[総男]+[総女]
ジャンプ 行番号=+1
行訂正 [総男]=#cond((&計総男=0
.or &点計総男=0),"",1,#四捨五入(&点計総男/&計総男,2))
\
,[総女]=#cond((&計総女=0 .or
&点計総女=0),"",1,#四捨五入(&点計総女/&計総女,2))
\
,[総計]=#cond((&点計総男+&点計総女=0
.or &計総男+&計総女=0),""
\
,1,#四捨五入((&点計総男+&点計総女)/(&計総男+&計総女),2))
ジャンプ 行番号=+1
&総最高=#大(&高点総男,&高点総女)
行訂正 [総男]=#COND(&高点総男=-1,"",1,&高点総男),[総女]=#COND(&高点総女=-1,"",1,&高点総女)
\
,[総計]=#COND(&総最高=-1,"",1,&総最高)
ジャンプ 行番号=+1
&総最低=#小(&低点総男,&低点総女)
行訂正 [総男]=#COND(&低点総男=999,"",1,&低点総男),[総女]=#COND(&低点総女=999,"",1,&低点総女)
\
,[総計]=#COND(&総最低=999,"",1,&総最低)
ジャンプ 行番号=+1
行訂正 [総男]=&満総男,[総女]=&満総女,[総計]=[総男]+[総女]
ジャンプ 行番号=+1
行訂正 [総男]=&零総男,[総女]=&零総女,[総計]=[総男]+[総女]
置換 [総計]=#COND([総計]=0,"",1,[総計]),[総男]=#COND([総男]=0,"",1,[総男]),[総女]=#COND([総女]=0,"",1,[総女])
条件 (#選択状態<>0) 選択解除 *
手続き終了
*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*
名札 中学名列
C
代入 &中学校="",&KEN="",&TC="",&選択件数=""
代入 &TBL3=#連結(&DAPA,"TDSORGA.TBL")
条件 (&連続=>1 .and &連続=<5) &TBL4=#連結(&DAPA,"TDSA",#STR(&連続),".TBL")
ファイル複写 &TBL3,&TBL4
表
表 &TBL4,表番号=4
表 &入試N,表番号=1
並べ替え {[TC]昇順}
絞り込み [TC]{>0}
条件 (&選択件数<1) 確認 #連結(&システム名,"レコードがありません。作業を中止します。")
条件 (&選択件数<1) 分岐 START
絞り込み 単一化={[TC]}
代入 &実校数=&選択件数
ジャンプ 行番号=先頭
繰り返し &計数=1,&実校数
&先名=[中学名],&中学男=#連結(&先名,"男"),&中学女=#連結(&先名,"女")
\
,&中学計=#連結(&先名,"計"),&TC=[TC]
編集表 &TBL4
条件 (&連続=1) 項目属性変更 追加,{&中学男,"数値",6,"右"}
\
,追加,{&中学女,"数値",6,"右"},追加,{&中学計,"数値",6,"右"}
条件 (&連続=2) 項目属性変更 追加,{&中学男,"数値",6,"右"}
条件 (&連続=3) 項目属性変更 追加,{&中学女,"数値",6,"右"}
条件 (&連続=4) 項目属性変更 追加,{&中学計,"数値",6,"右"}
条件 (&連続=5) 項目属性変更 追加,{&中学男,"数値",6,"右"},追加,{&中学女,"数値",6,"右"}
編集表 &入試N
ジャンプ 行番号=+1
繰り返し終了
ジャンプ 行番号=先頭
編集表 &TBL4
ジャンプ 行番号=先頭
項目属性変更 追加,{"総男","数値",6,"右"},追加,{"総女","数値",6,"右"}
\
,追加,{"総計","数値",6,"右"},追加,{"累計","数値",4,"右"}
&表題名=#連結(#全角(#LAST(#STR(&年度),2)),"年度度数一覧表(",&合格,"・",&対象者,")")
表題設定 表題文字列=&表題名
並べ替え {[階級]辞書順}
確認 #連結(&システム名,"中学校別度数処理記入一覧表(受け皿)が準備できました。")
表形式編集 ガイド=#連結(&システム名,"いまから中学校別度数分布連続処理をおこないます。
終了:/Q")
代入 &選択件数=""
手続き終了
*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*
名札 受検校 D
代入 &受検校="",&KEN="",&選択件数=""
表
表 &入試N,表番号=1
並べ替え {[TC]昇順}
絞り込み [TC]{>0}
絞り込み 単一化={[TC]}
&実校数=&選択件数
ジャンプ 行番号=先頭
繰り返し &計数=1,&実校数
&先名=[中学名]
&受検校=#文字置換(&受検校,&計数,&先名)
ジャンプ 行番号=+1
繰り返し終了
代入 &選択件数=""
手続き終了
*////////////////////////////////*
【解説】
@ サブメニューの選択により変数(&SM他)値や対象項目などを設定します。
〔例〕&項=#CASE(&SM,7,22,9,11,13,14,15,16,17,18,19,20,21,23,24,25,26,27)
対象者の指定や階級幅の設定もおこないます。
A 度数処理の内容を選択します。
B 度数を転記するための一覧表ファイルを用意します。
C ファイルは度数処理の内容別に用意します。
内容により用意する項目が異なります。
[TC](中学校コード)による単一化選択により、入試データ表に入力された
(受検した)中学校だけからなる度数一覧表を用意できます。
度数一覧表の右端に総計などの項目も用意します。
D 受検した中学校名のリストを、連続処理のために、用意しておきます。
E 受検した全中学校の度数処理を中学校毎におこないます。
F 中学校単位の度数処理の受け皿として「男女別度数処理」に使用する度数表を
利用しています。
G 処理対象項目などでレコードを並べ替えます。
H 指定された条件(中学校・性別・合否別他)により、レコードを絞り込みます。
I 「男女別度数処理」をおこないます。(部品集2)
J 中学校単位の度数表の項目名を該当中学校名のものに変更します。
(併合後に元の項目名に戻します。)
K 度数処理の内容により書き出す項目を変えます。
先頭の中学校に限り、度数一覧表に中学校単位の度数表のデータを読み込みます。
L 以後の中学校単位の度数データは度数一覧表に併合します。
総計や累計も求めます。
M 編中学校単位の人数合計〜0点人数を求め度数表に入力します。
E(F〜M)により全受検中学校についての度数一覧表を作成します。
N 作成した度数一覧表を一部列固定して表示します。
【参考】
入試処理システムのサブメニュー コマンドボタンに割り付けた変数(&SM)により、項目番号などを
決めています。14)K国語をクリックすると、&SM=14を返し、処理対象表の23番目の項目を対象にします。
〔例〕&項=#CASE(&SM,7,22,9,11,13,14,15,16,17,18,19,20,21,23,24,25,26,27)

対象者の指定 階級幅の指定

度数処理の内容の選択

処理対象表の一部 (データはダミーです。以下同様)


度数を転記するための一覧表ファイル

度数表の一部 処理完了

END of FILE 《玄関へ》