過去の桐井戸端BBS (桐ver.8)
11421 小計で条件を入力してるのですが、総計で小計の合計をもとめることはできるのでしょうか? さくら 2001/06/04-10:21
小計である値をこえると12000円としています。
その総計を表の状態でとると、小計で設定した条件を無視した合計になります。
このような場合、表の状態では処理できないのでしょうか?
11424 Re:小計で条件を入力してるのですが、総計で小計の合計をもとめることはできるのでしょうか? 幅田 2001/06/04-12:44
記事番号11421へのコメント
さくらさん、こんにちは。

>小計である値をこえると12000円としています。

これは、どのような式が入っていますか?
小計の結果が12000を超えても、強制的に12000円にしてしまうと解釈しましたが。

#条件選択(#合計>12000,12000,1,#合計)

というような式ですかね?

>その総計を表の状態でとると、小計で設定した条件を無視した合計になります。

総計は、小計のみを拾ってきて集計しているわけではないようです。
総計で#合計とした場合、小計にどのような式が入っていても、
レコードひとつひとつを拾って集計しているようです。

>このような場合、表の状態では処理できないのでしょうか?

ちょっと考えてみました。

小計の計算式は下記のようにします。

#条件選択(#合計>12000,#計算(#代入(&合計値,&合計値+12000),12000),1,#計算(#代入(&合計値,&合計値+#合計),#合計))

総計の計算式は

&合計値

とするだけです。
組み込み変数の&合計値を利用して、小計の計算をするたびに&合計値に小計の結果を加算していき、総計ではその&合計値を表示するだけです。

ただし、実行する前に、変数管理で &合計値の値を 0 にセットしておく必要があります。
でないと、この行集計を実行するたびに、&合計値が倍、倍となっていきます。

総計を表示するときに&合計値に0をセットしてしまう方法もあります。

小計の式はそのままで総計に

#計算(#代入(&平均値,&合計値),#代入(&合計値,0),&平均値)

を書きます。
いったん、&平均値という変数に計算された&合計値をセットしておいて、&合計値を0にしてから、&平均値を表示しています。

これにしたって、一番最初に &合計値を0にしておく必要がありますね。
また、途中で項目集計などをしたら、&合計値に値がセットされますので、注意が必要です。

変数管理がめんどうなら、集計用の項目を追加して、行集計を使わず、置換で集計する方法もあるかもしれません。

11463 Re:ありがとうございました さくら 2001/06/06-10:12
記事番号11424へのコメント
なんとかできました。ありがとうございます。
はじめの方の計算式を使用することにしました。
桐はMS-DOSの時依頼なので計算式の内容ははっきり理解できていないのですが思ったように計算結果がでてうれしいです。
今後とも宜しくお願い致します。

戻る