過去の桐井戸端BBS (桐ver.8)
8272 転置集計の逆 くどう 2000/10/27-17:41
表から転置集計で一覧表は出来ますが一覧表から左端列を元にデータベースはできますか?

たとえば

表1(一覧表)
地区|4月|5月
−−+−−+−−−
A  |  3| 6
−−+−−+−−−
B  |  5| 7 

  ↓
表2(データベース)
地区|月 |数
A  |4月|3
B  |4月|5
A  |5月|6
B  |5月|7


8291 Re:転置集計の逆 kaz 2000/10/28-15:41
記事番号8272へのコメント
くどうさん こん**は

ほぼ同じ質問を3週間ほど前しました。
おなじみの皆様から回答をいただき感激しました。
過去のBBS探したのですが整理中らしく見つかりませんでしたのでちょっと実験してみましたら出来ました。
もっと良い方法は他の方々よりまたコメントがあると思いますが・・・・

変数宣言 固有,文字列{&地区,&April,&May}
変数宣言 固有,数値{&月データ}
  表 ”表1”,表番号=1
  表 ”表2”,表番号=2
  編集表 2
   行削除 *
  編集表 1
  ジャンプ 行番号=先頭
  繰り返し (.NOT #EOF)
   &地区=[地区]
     ケース開始
      ケース ([4月]<>#未定義)
         代入 &April=”4月”
         &月データ=[4月]
         編集表 2
         行追加 [地区]=&地区,[月]=&April,[数]=&月データ
         編集表 1
     ケース終了
 
     ケース開始
      ケース ([5月]<>#未定義)
        代入 &May=”5月”
        &月データ=[5月]
        編集表 2
         行追加 [地区]=&地区,[月]=&May,[数]=&月データ
        編集表 1
     ケース終了
 
   ジャンプ 行番号=+1
   繰り返し終了
 終了 表

これで,できました。
8298 Re:転置集計の逆 【多遊】 2000/10/29-02:11
記事番号8291へのコメント
kazさんがお答えを書かれてるのにおまけです。

  変数宣言 共通,整数{&項目数,&i}
  表 "元表",表番号=1
  &項目数=#項目数
  表 "新表",表番号=2
  行削除 *
  繰り返し &i=2,&項目数
    編集表 1
      &STR=#項目属性(&i,1)
    編集表 2
      読み込み 表,1,{[地区],[数]&STR}
      置換 [月]=&STR
      行削除 *
  繰り返し終了
  行復活 *
  表形式編集

ちょっと項目数が多かったら大変かなと思いましたので紹介いたします。
一括の書き方には特にルールはありませんので、答がでればどちらでもいいですよ。

そのあと数にデータのない行は削除等加工してくださいネ

8321 Re:転置集計の逆 くどう 2000/10/30-17:38
記事番号8272へのコメント
多遊さん、kazさんこんばんは。
一括処理は作ったことがなかったので今日早速やってみました。
すっごい!(⌒ー⌒)
どちらのも簡単に新表が出来上がって驚き!!
自分でも応用出来るように、一括処理を勉強します。
どうもありがとうございました。

戻る