過去の桐井戸端BBS (桐ver.8)
18442 転置集計をしてから併合すると常に全データがあるとは限らないため項目がないというエラーになることがある masa 2003/01/09-00:06
winXP-Heで桐V8Sp6を使用しています。
商品でAグループ、Bグループ、Cグループ、とありまして
Aグループは2種類の商品
Bグループは2種類の商品
Cグループは5種類の商品があります。
最終的には一覧表で

集計表.TBL
得意先名、A1、A2、A計、B1、B2、B計、C1、C2、C3、C4、C5、C計、総計という風に並ばせてプリントします。

@入力用.TBLを転置集計して123.TBLとして書き出し
A集計表で前回の数字を「#U」し(A1、A2、B1、B2、C1、C2、C3、C4、C5)得意先名を基準に123.TBLを併合しています。
(横計は項目計算式で出してます)

@Aを一括処理でやっているのですが、全グループの商品がなかったりするので
例えばBグループはB2商品がなくて123.TBLに書き出されない時があります(A1だったりC3だったり色々)。
そうすると併合で項目がありませんとエラーが出ますがそれを回避させる方法はないでしょうか?

よろしくお願いします。

18443 Re:商品の集計方法について 佐田 守弘 2003/01/09-00:58
記事番号18442へのコメント
masaさん
確かに併合で読み込もうとすると、その項目がない時にエラーになりますね。
もし併合の処理が必要でなく(既にあるデータに対して置換を行う必要がないという意味)、
単純に転置集計結果を、まとめて横集計する表に読み込めばよいのだとしたら、
併合でなく、追加書き出しで書き出してみて下さい。

追加書き出しであれば、横集計をまとめる表の枠組みは維持され、
転置集計で作られた項目だけがその表に書き出されるわけで、
結果として読み込んだ場合とほとんど同じになるでしょう。

佐田守弘(KS-00119)
18465 Re:商品の集計方法について masa 2003/01/10-21:44
記事番号18443へのコメント
佐田 守弘さん こんばんは。
忙しくて検証が出来なく遅れましてすみません。

まずAグループを転置集計して書き出し、次にBグループを
転置集計して書き出しの追加をすると項目の「合計」が
同じなので下につながり、しかも同じ得意先は併合ではないので
これも下につながり、項目的にはAグループの商品しかありません。
私の操作方法が違うのでしょうか?よろしくお願いします。


18466 商品の集計方法(確認) 佐田 守弘 2003/01/10-22:17
記事番号18465へのコメント
masaさん
どうやら、masaさんが行いたい事と、私が質問文から理解した事、
および私が書いたコメントでmasaさんが実行された内容にズレがありますね。
そこでいくつかの確認です。

・別のグループに同じ商品名があるのでは
私は、グループが変われば商品名は異なる事を前提にしてました。
同じ商品名があるのでしょうか。
ある場合には、話が根本から変わります。
併せて確認しますが、「Cグループは5種類の商品」とはCグループの
商品数は5つであると解釈したのですが、これも確認して下さい。

・転置集計は全データを一度に行います。
グループ毎に転置集計するのではなく、全グループのデータをまとめて
転置集計する前提で考えています。

・追加書き出しの表は予め作っておきます。
追加書き出しの表は先に作っておき、グループ毎の横集計の計算項目も先に作っておきます。
そしてその表に追加書き出しする訳ですが。

佐田守弘(KS-00119)

18467 Re:出来ました。有難う御座います。 masa 2003/01/10-23:03
記事番号18466へのコメント
佐田 守弘さん こんばんは
早速解答頂き有難う御座います。

>私は、グループが変われば商品名は異なる事を前提にしてました。
はい、そうです。

>同じ商品名があるのでしょうか。
いいえ。

>ある場合には、話が根本から変わります。
>併せて確認しますが、「Cグループは5種類の商品」とはCグループの
>商品数は5つであると解釈したのですが、これも確認して下さい。
はい5つです。

>・転置集計は全データを一度に行います。
>グループ毎に転置集計するのではなく、全グループのデータをまとめて
>転置集計する前提で考えています。
てっきり横に追加されていくのかなと思っていました。

>・追加書き出しの表は予め作っておきます。
これが気づきませんでした。追加書き出しで同じ項目は
同じ項目に入る事を知りました。(最初は出来なかったのですが、
出来るという事で、何が違うのか項目データ種別を見ましたら、同じ項目で
書き出される表は”整数”、書き出す表は”数値”でしたので、
書き出される表も同じ”数値”にしましたら追加書き出しで入りました。

今迄最後は手作業で併合をしていましたが、これで一括処理で完了出来ます。
有難う御座いました。


18479 別解:商品の集計方法-行集計後転置集計 佐田 守弘 2003/01/13-12:34
記事番号18443へのコメント
既に解決している様ですが、別解を考えつきましたので、参考までに掲載しておきます。

●まず行集計
まず転置集計を行いたいデータを、商品グループ毎に行集計します。
ここでのポイントは、集計行の商品名の欄に「○グループ合計」の様な名称がでる様に設定する点にあります。

質問例で、「A」「B」の値は[グループ]、「A1」「B2」は[商品]とすると大計項目に[グループ]を指定し、[商品]の集計行に、
 #項目値([グループ])+"の合計"
の様に設定します。(この設定がポイント!)
またこの行集計の時には、グループ項目などでの並べ替えは指定して下さい。

●次に転置集計
序で、行集計状態のまま、転置集計を行います。
この質問の例の場合には、見出し項目(旧バージョンではグループ項目?)に
[得意先名]を、転置項目に[商品]を、そして集計項目には、
書かれていませんが、金額か数量などを指定します。
ここで転置項目の並べ替えは「しない」にします。(←重要)

以上の操作で、グループごとの横集計が入った転置集計表が得られるはずです。

佐田守弘(KS-00119)

戻る