回答箱 No.78:クロス集計で、結果表の横項目を固定したい

  ◆ 質問箱 No.78  質問者:  西村 重幸   1998年05月 196号 P.14
      ◆  質問箱 目次へ
No.78-1   クロス集計で、結果表の横項目を固定したい 回答者
  入川 精二
1998年06月
197号 P.23
   ◆ No.78(1998年 5月号)の回答-1
この質問を見て、その昔ピップスマガジン(と記憶します)に発表された「列ソート」のプログラムを思い出しました。横列を項目名の順に 1→2→3→4 の用に配列替え出来ると便利でしょうね。
  しかし、ご質問のケースでは少し工夫すれば簡単に解決できそうです。'CROSS'というコマンドは、「新規集計表」を選択すると指定されたキー列の文字列の出現順に「行」または「列」を作っていきます。
  このルールをそのまま活かして、まず「原因」列をキーにして昇順にソートします。こうしておけばクロス集計の結果、横列はソートされた状態で順に配列されます。
  クロス集計の後「材料CD」をキーにしてソートすれば出来上がりです。2回ソートをするので、時間は少し余分に掛かりますが、「列ソート」で悩むよりも既知のツールをうまく使う方が賢明でしょう。

       1 <TEST>
       2 SORT;M;@原因;A/N;;;          /* 先ず「原因」をキーにしてソート */
       3 CAL;RF2;ESC;
       4 CROSS;M;S;T;@材料CD;@原因;@数量;N;;集計表S;    /* クロス集計 */
       5 SORT;M;@材料CD;A;;;            /* 「材料CD」をキーにしてソート */
       6 STOP;


戻る