過去の桐井戸端BBS (桐ver.8)
9341 レポートの集計オブジェクトでの表示がうまくいかない 桐圭 2001/01/15-15:59
白紙定義のレポートで生徒の成績個人票を作っています。
音楽・美術・書道が選択科目(一人で2科目選択することはありません)で一覧表に一つずつ項目を定義しています。
レポートで平均点を個人票に表すため,集計オブジェクトを使って次のように表しました。

#COND([音楽]>0,#四捨五入(#平均([音楽]),1), [音楽]=0,"****")

ファイル属性はゼロにしてあります。
音楽を選択している生徒には音楽の平均点が表示されます。
しかし,音楽を選択していない生徒の個人票には****が示されず,音楽の平均点が表示されます。
どうすれば個人票に点数がない人に****を表示させることができるのでしょうか。
9345 Re:レポートの集計オブジェクトについて KH 2001/01/15-22:36
記事番号9341へのコメント
桐圭さんは今晩は。
ちょっとわからない事があります。

何故0で、****としますか。音楽を受験しても0点は絶対に取らないのですか。

次に、ここの欄は数値ですよね。だとしたら文字列****は入らないのでは?

もし、簡単に修正するなら、次のように、#未定義にするしかないのでは

#COND([音楽]>0,#四捨五入(#平均([音楽]),1), 1,#未定義)
または、
#COND([音楽]>0,#四捨五入(#平均([音楽]),1), [音楽]=#未定義,#未定義)

ではないかと思いますが。動作確認はしていませんが。
9369 Re:レポートの集計オブジェクトについて toshi-chan 2001/01/17-22:58
記事番号9341へのコメント
桐圭さん、こんばんは。

式を正確に書くと
   #COND([音楽]≠#未定義,#四捨五入(#平均([音楽]),2), 1,"****")
となるのでしょうか。
ファイル属性の未定義値処理は未定義とすべきですね。
未受験ならば値を入力せず、受験して0点だったのなら0を入力します。

ところが、音楽が未受験でも音楽の平均点が印刷されてしまいます。
これは、第一の条件式が成立していることを意味します。

次に、各生徒の音楽の得点をすべて未定義にしてみて下さい。****が印刷されますね。
この場合は第一の条件式は成立していません。

さらに、各生徒の音楽の得点をすべて0にしてみて下さい。0が印刷されます。
第一の条件式が成立しているわけですね。

これは集計オブジェクトに [音楽] と書いた場合、桐システムがどのレコードの音楽の値を参照しているのかの
問題のようですね。
推測ですが、レポートの印刷対象になっている単一のレコードの音楽の値を取り出しているのではなく、
常に全レコードの音楽の値を総ざらいしているのではないでしょうか。
よ〜く考えると、”集計”オブジェクトですからね。
桐ver8のリファレンスマニュアルを見ても、そこまで書いていないので確証はありません。
管理工学研究所のユーザサポートに質問するのがよいと思います。

9408 Re:レポートの集計オブジェクトについて 桐圭 2001/01/19-21:04
記事番号9369へのコメント
KHさん,toshi-chanさん,コメントありがとうございました。
指摘されて気づいたところもありました。
なんとかまたチャレンジして行きたいと思います。
考え込んで煮詰まったときにここのHPがあると安心できます。
どうしようもなくなったときにアドバイスをしてくれるようなHPであって欲しいです。
もちろん,勉強もします。
ありがとうございました。

戻る