過去の桐井戸端BBS (桐ver.8)
16365 一覧表形式のレポートだと正しい値なのに単票形式だと偏差値の値が違うものになってしまう purin 2002/06/20-16:11
こんにちは。
すみません。また来ました・・・

テストの結果を受験者ごとに個票として、単票形式レポートで、科目ごとの得点・偏差値・平均点等を出力をするのですが、

偏差値を算出する集計オブジェクトに

10×([英語]-#平均([英語]))÷#標準偏差([英語])+50

の計算式を入れると、一覧表形式のレポートに入れた時はちゃんと、正しい偏差値の値を返してくれるのですが、
単票形式だと、まったく同じ計算式を入れてるのに、結果がマイナスや1桁の値で、
しかも、全員同じ偏差値が返ってしまうのです。

いいかげん、呆れられてしまうかもしれませんが・・・
宜しくお願い致します。
16376 Re:単票形式での偏差値の値が違う・・・ masa 2002/06/21-10:31
記事番号16365へのコメント
purinさん こんにちは

>の計算式を入れると、一覧表形式のレポートに入れた時はちゃんと、正しい偏差値
>の値を返してくれるのですが、
>単票形式だと、まったく同じ計算式を入れてるのに、結果がマイナスや1桁の値
>で、しかも、全員同じ偏差値が返ってしまうのです。
>

一覧表でも単票でも計算式が同じだと結果も同じだと思いますが、
レポートの設定が違ってるとしか思えませんね。
グループがかかってるとか絞り込まれてるとかではないでしょうか。


16379 Re:単票形式での偏差値の値が違う・・・ purin 2002/06/21-15:29
記事番号16376へのコメント
masaさん、こんにちは。

>一覧表でも単票でも計算式が同じだと結果も同じだと思いますが、
>レポートの設定が違ってるとしか思えませんね。
>グループがかかってるとか絞り込まれてるとかではないでしょうか。
>
試しに新規作成で単票レポートを作って、
1項目だけ集計オブジェクトを作って計算式を入れてやってみたのですが、だめなんです。

元の表の方で、受験してない人を絞りこんでいますが、
それは関係ないですよね?
(絞りこまなくても、マイナスや全員の値が同じになるのは同じなのですが)

16380 Re:単票形式での偏差値の値が違う・・・ purin 2002/06/21-15:44
記事番号16379へのコメント
何度もすみません。

原因だけ分かりました・・・
でも、なぜそうなっているのかが分かりません。

計算式の

10×([英語]-#平均([英語]))÷#標準偏差([英語])+50 で、
    ↑
   ここが反映されていないのです。

でも、#平均([英語])と、#標準偏差([英語])はちゃんと正しい値で反映されているんです。

単票形式の集計オブジェクトでは、項目をそのままもってこれないとかあるんでしょうか・・・


16381 Re:単票形式で,どなたかHELP! masa 2002/06/21-16:44
記事番号16380へのコメント
purinさん こんにちは

>でも、なぜそうなっているのかが分かりません。
>
>計算式の
>
>10×([英語]-#平均([英語]))÷#標準偏差([英語])+50 で、
>    ↑
>   ここが反映されていないのです。
>
>でも、#平均([英語])と、#標準偏差([英語])はちゃんと正しい値で
>反映されているんです。
>

ん〜よくわからないですけど、計算式欄ですので表定義で未定義値を0としていないのが関係してるのかな?

>単票形式の集計オブジェクトでは、項目をそのままもってこれないとか
>あるんでしょうか・・・
>
>
一覧表でも単票でも計算式は同じで、両方とも元の表の絞り込んだ状態も同じなのですよね?
何か設定が違うような気がするんですけどね・・・

どなたか解る方はいらっしゃいませんか?


16386 Re:単票形式で,どなたかHELP! 今村 誠 2002/06/21-22:45
記事番号16381へのコメント
purinさんこんにちは、全く標準偏差もわからないものですが
項目を増やすのが、分かり易い解決方法ではないでしょうか。
10×([英語]-#平均([英語]))÷#標準偏差([英語])+50
この式で求められるのであれば、
項目[平均英語],[標準偏差英語],[偏差値英語]を作り、
[偏差値英語]は項目計算式に
10×([英語]-[平均英語])÷[標準偏差英語]+50
と設定すれば良いのではないでしょうか。
それを割り付ければ、英語の成績が未定義でない限り
答えは印字できると思います。
[平均英語]と[標準偏差英語]は集計後に変数値で置換をすれば
[偏差値英語]は再計算されると思います。
2000項目使えるのですから、必要ない項目は非表示にしたらいかがでしょうか。
16389 Re:単票形式での偏差値の値が違う・・・ 悲しげ 2002/06/22-00:10
記事番号16380へのコメント
どもっ、purinさん

集計オブジェクトは、一覧表rptでは集計種別として小計〜中計〜大計等々
いくつか指定できます。
purinさんは、例えば受験者毎の「小計」で値を算出したのでしょうか?
とすれば
10×([英語]-#平均([英語]))÷#標準偏差([英語])+50
ではなく
10×(#項目値([英語])-#平均([英語]))÷#標準偏差([英語])+50
と記述するのが正しいような気がしますが、それはさておき(^^;)

しかし単票rptでは集計種別は「総計」だけしか指定できないようですから、
このような用途には不向きだと思います、たぶん。
なぜなら、この場合の#項目値([英語])の値は、当該レコードの個々の項目値ではなく、
文字どおり「総計」、即ちその時の最終レコードの項目値となるからです、たぶん。
ですから、単票rptでは集計ではなく普通のテキストオブジェクトとした上で、
#16386で今村さんが書いたようなやりかた(項目[平均英語][標準偏差英語]等々を利用)がよろしいんじゃないでしょうか、たぶん。

16390 Re:単票形式での偏差値の値が違う・・・ 悲しげ 2002/06/22-00:28
記事番号16389へのコメント
補足します。
どうやら集計オブジェクトのソースで、単に[項目名]とだけ記述すると、
#項目値([項目名])と解釈されるみたいですね。
でも、それだとエラーになる場合もあったりするみたいで、
一貫性(?)が欠けるみたいです。だから、やはり正しく
#項目値([項目名])のように記述しといた方が無難みたいと
云ったところみたいでしょうか。(^^;)
16391 Re:単票形式での偏差値の値が違う・・・ 桑原 修 2002/06/22-00:48
記事番号16365へのコメント
purinさんは
初めまして。

高校教員です。
桐で成績処理のシステムを作っています。

>テストの結果を受験者ごとに個票として、単票形式レポートで、科目ごとの得点・
>偏差値・平均点等を出力をするのですが、
>
>偏差値を算出する集計オブジェクトに
>
>10×([英語]-#平均([英語]))÷#標準偏差([英語])+50
>
>の計算式を入れると、一覧表形式のレポートに入れた時はちゃんと、正しい偏差値
>の値を返してくれるのですが、
>単票形式だと、まったく同じ計算式を入れてるのに、結果がマイナスや1桁の値
>で、しかも、全員同じ偏差値が返ってしまうのです。

環境が分かりませんので、的はずれの点があるかもしれませんがご了承下さい。

関数
#平均、#標準偏差値は、データのレコードのグループなどにに寄るので、単票形式で使用するのは避けた方が良いと思います。

いずれにせよ、項目を増やして、[英語偏差値]という項目を作ってください。


会話処理の場合。

表を開いて、集計するデータのみ絞り込みます。
[英語]にカーソルを合わせ、SIFT+F7で、項集計を行ってください。
この時、変数 &平均、&標準偏差に、値が入ります。

[英語偏差値]にカーソルを合わせ、
置換で
10×([英語]-&平均([英語]))÷&標準偏差([英語])+50 
(&平均、&標準偏差 は 変数なのに注意)

をしてください。

単票形式レポートで、[英語偏差値]を入れたいところで、
[英語偏差値]を入れるとOKのはずです。

平均点、標準偏差は、データ全体で計算されるものなので、
単票形式レポートで#平均([英語])、#標準偏差([英語])などを
使うのは非常に危険なことだと思います。

不明な点があれば、再度ご質問下さい。

では


16405 Re:単票形式での偏差値の値が違う・・・ purin 2002/06/24-10:42
記事番号16365へのコメント
おはようございます。

会社でしかファイルを見れないので、
こんなに返事が遅くなってしまいました。
申し訳ありません。
色々とアドバイスくださり、
みなさん本当にありがとうございます。

教えていただいた事をこれから試してみたいと思います。

とりあえずお礼に参りました。
後ほどまたやってきます。
16429 Re:単票形式での偏差値の値が違う・・・ purin 2002/06/25-10:59
記事番号16405へのコメント
みなさん、おはようございます。

昨日みなさんからのアドバイスをもう一度よく読ませていただきました。

やはり、単票形式では集計オブジェクトだけで、偏差値の計算をさせるのは無理なのですね。

以前までは、偏差値の項目は、エクセル統計というソフトを使って
別にエクセルで出したものを、偏差値用の桐ファイルに読み込み、
元表と併合させて作っていたのですが、
もしかしてそのステップをなくせるのでは?と思い、
作り始めたのでした。

項目集計後に変数値を項目置換する方法で、履歴登録(一括処理?)を
作る方法は?とも思いましたが、科目名や科目数等の項目が毎年変わるので
そうすると、その度に登録しなおしになるとなると・・・

もっとよく桐を使いこなせたら、もっといい方法があるのかな、と
いう気もしますが、とりあえず、一覧表レポートでは集計オブジェクトで
偏差値を出せると分かっただけでも、めっけものです。

ありがとうございました。

16435 Re:単票形式での偏差値の値が違う・・・ うにん 2002/06/25-14:55
記事番号16429へのコメント
>もっといい方法があるのかな、と

必ずしも「いい方法」とはいえませんが、項目を追加する代りに単票レポートに非表示の総計オブジェクトを作って、
#計算(#代入(&平均値,#平均([B])),#代入(&標準偏差,#標準偏差([B])))
と入れておくと、
偏差値を表示するテキストオブジェクトでこれらの変数を参照して自動計算できます。
たぶん、これが一覧表オブジェクトでの集計と同じような状態かと。

ただし、置換や再計算が不要な代わりに、「3人だけ印刷するから絞り込んで」などと印刷すると、
その3人だけでの偏差値になってしまいます(^^;
一覧表で計算できてる値も同じ危険性があると思います。
(1クラス分だけ印刷した場合とか。クラス内での偏差値が必要なんてことがあれば便利かもしれませんが。)

16438 Re:単票形式での偏差値の値が違う・・・ 桑原 修 2002/06/25-15:37
記事番号16429へのコメント
桑原です。

>やはり、単票形式では集計オブジェクトだけで、偏差値の計算をさせるのは
>無理なのですね。

>項目集計後に変数値を項目置換する方法で、履歴登録(一括処理?)を
>作る方法は?とも思いましたが、科目名や科目数等の項目が毎年変わるので
>そうすると、その度に登録しなおしになるとなると・・・
>
>もっとよく桐を使いこなせたら、もっといい方法があるのかな、と
>いう気もしますが、とりあえず、一覧表レポートでは集計オブジェクトで
>偏差値を出せると分かっただけでも、めっけものです。

蛇足ながら、一括処理の場合の例を書かせていただきます。


  項目集計  [英語]
  置換 [英語偏差値]=([英語]-&平均値)÷&標準偏差×10+50

表定義で[英語偏差値]の欄に計算式で入れてはだめです。
計算式は何も入れずに、上の置換で置き換えてください。
そうすれば、どんな印刷の仕方をしても、偏差値の値が変わることはありません。

上の式と同じものを、必要な教科ごとに作れば、年度により科目数が変わっても、簡単に対処できます。
例えば、国語があるなら

  項目集計  [国語]
  置換 [国語偏差値]=([国語]-&平均値)÷&標準偏差×10+50

です。

16443 ありがとうございます!で、おうかがいしたいのですが・・・ purin 2002/06/25-17:53
記事番号16429へのコメント
うにんさん、桑原さん、ありがとうございます。
戻ってきてみてよかったです!(他力本願で申し訳ありません・・・)

で、すみません。教えていただいた件で質問したいのですが・・

うにんさん。

#計算(#代入(&平均値,#平均[B])),#代入(&標準偏差,#標準偏差([B])))
の集計オブジェクトを作って、

テキストオブジェクトに
10×([B]-&平均値)÷&標準偏差+50
という式を入れると、[B]科目の偏差値はばっちり出たのですが、

新たに
#計算(#代入(&平均値,#平均[C])),#代入(&標準偏差,#標準偏差([C])))
という、別の科目の集計オブジェクトを作って、

同じように別科目のテキストオブジェクトに
10×([C]-&平均値)÷&標準偏差+50
という式を入れると、平均値、標準偏差、ともに[B]用の値が計算されるので
違う偏差値になってしまいますよね?
(・・・って当たり前ですよね。すみません・・・)

別科目も同じように計算させるにはどうすればよいのでしょうか・・・


桑原さん。

一括処理が全然分からなくて申し訳ないのですが・・・
履歴登録を組み合わせて、更に色々プラスしたものが一括処理と考えてよいのでしょうか。
とすると、例えば今年の科目が
[T−1][T−2][T−3][U−1][U−2]
の5科目だったとして、
履歴登録して、

来年は
[T−1][T−2][T−3][U−1][U−2][U−3]
の6科目となり、1項目追加して
履歴を実行しようとすると、はねられてしまいますよね?

今、項目を追加とか変更とかしなくていいように、たくさん項目を作って、
完璧なものにして、履歴登録をしようとしているのですが
大丈夫なの?と自分でも疑問に思っています。

同じ件で何度も投稿してほんとにすみません。
16446 Re:ありがとうございます!で、おうかがいしたいのですが・・・ うにん 2002/06/25-20:32
記事番号16443へのコメント
>新たに
>#計算(#代入(&平均値,#平均[C])),#代入(&標準偏差,#標準偏差([C])))
>という、別の科目の集計オブジェクトを作って、
>
>同じように別科目のテキストオブジェクトに
>10×([C]-&平均値)÷&標準偏差+50
>という式を入れると、平均値、標準偏差、ともに[B]用の値が計算されるので
>違う偏差値になってしまいますよね?
>(・・・って当たり前ですよね。すみません・・・)
>
>別科目も同じように計算させるにはどうすればよいのでしょうか・・・

科目ごとに変数が必要ですね。
&平均値と&標準偏差を科目数分の配列変数で宣言するような一括処理を書いて、
レポートのオープンイベントで実行するようにしたら。。。と思ったら、
たしかレポートにはイベントがないんでしたよね。。。


16447 Re:ありがとうございます!で、おうかがいしたいのですが・・・ 桑原 修 2002/06/25-21:13
記事番号16443へのコメント
桑原です。
p>#計算(#代入(&平均値,#平均[B])),#代入(&標準偏差,#標準偏差([B])))
>の集計オブジェクトを作って、
>
>テキストオブジェクトに
>10×([B]-&平均値)÷&標準偏差+50
>という式を入れると、[B]科目の偏差値はばっちり出たのですが、
>
>新たに
>#計算(#代入(&平均値,#平均[C])),#代入(&標準偏差,#標準偏差([C])))
>という、別の科目の集計オブジェクトを作って、
>
>同じように別科目のテキストオブジェクトに
>10×([C]-&平均値)÷&標準偏差+50
>という式を入れると、平均値、標準偏差、ともに[B]用の値が計算されるので
>違う偏差値になってしまいますよね?
>(・・・って当たり前ですよね。すみません・・・)
>
>別科目も同じように計算させるにはどうすればよいのでしょうか・・・

私の、一つ前のコメントで、
「[偏差値]の項目に、計算式を入れないでください。」
と書いたのはまさに、このことです。
計算式で書くと、偏差値が、絞り込み条件とか、他の項目の項集計とかにより値が変わってしまいます。

>桑原さん。
>
>一括処理が全然分からなくて申し訳ないのですが・・・
>履歴登録を組み合わせて、更に色々プラスしたものが一括処理と
>考えてよいのでしょうか。
>とすると、例えば今年の科目が
>[T?1][T?2][T?3][U?1][U?2]
>の5科目だったとして、
>履歴登録して、
>
>来年は
>[T?1][T?2][T?3][U?1][U?2][U?3]
>の6科目となり、1項目追加して
>履歴を実行しようとすると、はねられてしまいますよね?
>
>今、項目を追加とか変更とかしなくていいように、たくさん項目を作って、
>完璧なものにして、履歴登録をしようとしているのですが
>大丈夫なの?と自分でも疑問に思っています。

具体的に、書きたいと思います。

元の表は、項目を、[英語点数][英語偏差値]、[数学点数][数学偏差値]、その他予想される科目数以上の項目を作って置いてください。
私は、実際に使用するのは15科目程度ですが、30科目分作っています。
最近のコンピュータは、性能がよいので、多少項目数が多くても重くなりません。(桐は2000項目まで作れます)

私は履歴をあまり使いませんのでよく分かりませんが、
30科目作った場合

前に書いた、一括処理を見てください。

項集計 [英語点数]
置換  [英語偏差値]=([英語点数]?&平均値)÷&標準偏差×10+50

これをコピーして、一部訂正して

項集計 [数学点数]
置換  [数学偏差値]=([数学点数]?&平均値)÷&標準偏差×10+50

必要な、科目数(30科目分)作っておく。
(上の2行に相当するるものが30科目分続く)

後は実行します。

30科目分、偏差値を計算しますが、その年の必要な科目数を利用すればよいです。

一括処理に慣れてください。

新規で、一括処理を作成し、上の式をコピーして入れて、実行してみてください。
&平均値、&標準偏差 とも 組み込み関数なので、変数宣言しなくても使うことができます。

ご成功をお祈りいたします。

では

16448 Re:ありがとうございます!で、おうかがいしたいのですが・・・ 桑原 修 2002/06/25-21:17
記事番号16447へのコメント
桑原です。
式が間違っていました

>置換  [英語偏差値]=([英語点数]?&平均値)÷&標準偏差×10+50
置換 [英語偏差値]=([英語点数]-&平均値)÷&標準偏差×10+50

というより、「-」が「?」に化けてしまいました。

 

16449 Re:単票形式で,どなたかHELP! 今村 誠 2002/06/25-23:42
記事番号16386へのコメント
成績処理の例としてリモコン君などは参考にならないでしょうか。
http://isweb8.infoseek.co.jp/animal/mokuchan/download/dl-list.htm

16455 Re:ありがとうございます!で、おうかがいしたいのですが・・・ purin 2002/06/26-14:40
記事番号16443へのコメント
うにんさん、桑原さんありがとうございます。

一括処理でどうにかこうにか進めています。

一括処理は項目を変更してもはねられないのですね。
履歴よりも使いやすそうですよね。
(といっても教えていただいた式しか入れていないんですが・・・)

このままスムーズに進んでくれるとよいのですが、
何だかまた、こちらにやってくるような気もします。

このファイルは私が作ったというより、みなさんに作ってもらった、
という感じですよね。

ありがとうございます!
16463 Re:単票形式で,どなたかHELP! purin 2002/06/26-16:49
記事番号16449へのコメント
今村さん、こんにちは。

今村さんからの書きこみを見落としていました。
申し訳ありません。

教えていただいた「リモコン君」ゆっくり見てみます。
ありがとうございます。

戻る