回答箱 No.70-2:
任意順による文字列のSORTについて
◆
質問箱 No.70
質問者:
西村 重幸
1998年02月 193号 P.17
◆
質問箱 目次へ
No.70-2
任意順による文字列のSORTについて
回答者
入川 精二
1998年03月
194号 P.23
◆ No.70(1998年 2月号)の回答-2
基本的には元のデータ(名簿)の仕様を変更すべきだ というのが私の主張なのですが、それでは'身も蓋もない'と思い直して、質問者の条件に忠実に考えることにしました。
「名簿」データとは別に右のようなコード表を作ります。
「職名」と「CD」は「名簿」データと同じですが、「EF」は職名に対応するコードです。数字では十区分しか出来ませんが、アルファベットなら26区分出来るので幅広く職名のコードとして使えるでしょう。
後は指令'MPU'で「CD」列を書き換えてから、それをキーにして並べ替えを実行し、また'MPU'で元のコードに書き換えておく。これだけです。
プログラムを書く程のこともありませんが、'MPU'はキーインが面倒ですから、一応プログラムにしました。
1 <MSORT>
2 MPU;M;コード表/1;@職名 ;;@職名 ;;S@EF =@CD ;E;Y;
3 SORT;M;@CD ;A;;;
4 MPU;M;コード表/1;@職名 ;;@職名 ;;S@CD =@CD ;E;Y;
5 STOP;
□