過去の桐井戸端BBS (桐ver.8)
9759 偏差値の出し方がわかりません HIRO 2001/02/11-20:46
今、生徒のテスト成績表を作っているところなのですが、一人ひとりの偏差値の出し方がわかりません。
たとえば、英語の偏差値を出すために、
10*([英語]−&平均)/&標準偏差+50として、五科目合計の偏差値を
10*([五科目合計]−&平均/&標準偏差+50)とすると、英語の偏差値がマイナスになってしまいました。
たぶん英語と五科目合計の&平均に、五科目合計の平均(組み込み変数とかいうものでしょうか)が
入っているようなのですが、英語は英語の平均値、五科目は五科目の平均値を入れるにはどうしたらよいのでしょうか。
(平均値は、変数にしておきたいのですが…)
よろしく、お願い致します。

9763 Re:偏差値の出し方がわかりません tomo 2001/02/11-23:23
記事番号9759へのコメント
win桐は沢山項目があっても文句言わないので
私は、
 [国語平均][国語標準偏差][国語偏差値]…[5教科○○]
ってなぐあいにバンバン項目を増やしちゃいます。
一括処理だ何だかんだでももちろんできるでしょうがまずは結果出して、お楽しみはその後で、みたいな。

いかがでしょうか。
9764 Re:偏差値の出し方がわかりません tomo 2001/02/11-23:44
記事番号9759へのコメント
HIROさん、ごめんなさい。
よく読んでなかったですね。
>(平均値は、変数にしておきたいのですが…)
なのですね。
何ででしょう?ま、色々事情があるんでしょうね。

手作業で一科目づつやるのは嫌ですか?
表定義の項目計算式でやるのは無理です。
ご自身で気付かれているように、組込変数は直近のデータを拾ってくるのでそのコントロールは桐にまかせてはダメです。

項目集計後、表編集での置換で、履歴に残ってる式を使う、といった手作業。
でなければ、配列変数を使ってプログラム組んじゃうぞ、ってな一括処理。

その周辺の作業(入出力)の方法に応じて考えてはいかがでしょうか。

9773 Re:偏差値の出し方がわかりません HIRO 2001/02/12-10:36
記事番号9764へのコメント
tomoさん、どうもありがとうございました。
私は、まだ桐を手にしたばかりで、履歴とか一括処理のことがよくわかっていないので、これから読んでやってみます。
ところで変数にしたいと申しましたのは、項目計算式に10*([英語]-#平均[英語])/#標準偏差[英語]+50という式が
入力できず、平均値は項目集計するらしいと思われたからです。私の作りたい表は次のようなものです。

    名前  英語  国語  英語偏差値  国語偏差値
 
    A   8     9     5.5     5.5
    B   7    10     4.8     6.1
    C   10     8     6.3     4.7
    D   5     7     3.8     4.2
    集計 平均         7.5     8.5

各教科を集計して出した平均値と標準偏差を使って、各教科の偏差値を出す計算式を書けばよいのかな?
と思ったからですが、それは無理なのですね。
なんだか、まだ表計算とデータベースのちがいが、よくわかっていないようです。
がんばってみます。どうもありがとうございました。

          
    

9778 Re:偏差値の出し方がわかりません 工房かなめ 2001/02/12-15:35
記事番号9759へのコメント
HIROさんは No.9759「偏差値の出し方がわかりません」で書きました。
はじめまして。

まず会話処理でおこなってみます。
[英語]について受験者(またはグループ)だけを絞り込みます。
「項目集計」で平均(a)と標準偏差(s)を知ります。
(一括処理ならこの後 &英語平均=#四捨五入(&平均,1)
           &英語標偏=#四捨五入(&標準偏差,1) とします。)
続いて、「項目置換」をおこないます。
[英偏](英語の偏差値を収める項目)に対し以下の計算式を入力します。
  #四捨五入(10*([英語]−a)/s+50,1)
ただし、a,sの値は小数第一位までで扱えば十分です。
これで未受験者を除いて偏差値(小数第一位まで)が入力されます。
絞り込みを解除します。
基本的にはこれを繰り返します。(科目数やグループ別に)

一括処理も基本的には同じ処理でおこなえます。項目置換では
置換 [英偏]=#四捨五入(10*([英語]−&英語平均)/&英語標偏+50,1)
となります。
処理する科目数が多くなければ各科目毎の平均と標準偏差を表す変数を
用意してもよろしいが、絞り込み→項目集計→置換→絞り込み解除の操作を項目毎に順次おこないますので、
平均と標準偏差を表す変数はそれぞれ1つずつ用意すればよいと思います。
行集計で一度に複数科目の平均と標準偏差を知ることもできます。
この場合は各科目の平均と標準偏差用の変数を用意してそれぞれの値を入力します。
その後、それらの変数を利用して偏差値計算し、結果を該当項目に入力することになります。

9780 Re:偏差値の出し方がわかりません HIRO 2001/02/12-21:08
記事番号9778へのコメント
工房かなめさん、どうもありがとうございました。
詳しい解説をいただいたおかげで、私のような初心者にも表が作れました。
まず、会話処理の方法で作ってみて成功したので、次に一括処理の方法を試してみました。
こちらの方も表は完成したのですが、いったん閉じて、もう一度表を開こうとしたら、
&英語平均と&英語標準偏差が定義できないとのメッセージが出てきました。
もう少し、変数について勉強してみたいと思っています。

この連休中、桐と悪戦苦闘したのですが、(途中で投げ出しそうになりながら)その甲斐がありました。
本当に感謝いたします。

9781 「履歴」なんぞと不適切な用語を使ってしまいました tomo 2001/02/13-00:37
記事番号9773へのコメント
>私は、まだ桐を手にしたばかりで、履歴とか一括処理のことがよくわかっていないの
>で、これから読んでやってみます。

履歴はれっきとした桐用語でした。それを不用意に使ってしまいました。
私の意図は項目集計した後、項目置換の式に
 10*([国語]−&平均値)/&標準偏差+50
を使えば、次の時は項目置換の式の窓の右の下向き三角▼で、前に書いた式を使えるなあ、
という程度のことだったんです。
それを「履歴」なんぞと言ってしまい、余計な混乱を招いてしまいました。
すみません。
9784 Re:偏差値の出し方がわかりません 佐田 守弘 2001/02/13-02:06
記事番号9780へのコメント
HIROさん
もしも一括処理を使える様になったら、と言う前提ですが、一括処理を使って行集計を行った後、
印字コマンドを使って変数ファイルに書き出す方法で、変数に平均値を代入させる方法があります。
これに関連する事が、1つ下のコメントツリー
「項目毎の総計やグループ小計の値を取り出し変数に代入するには?-kaz(2/10-22:02)No.9750」へのコメントとして、
「項目値を変数に代入する方法【別法】-佐田 守弘(2/11-10:51)No.9757」に書いてあります。
宜しければ参考にしてみて下さい。

佐田守弘(KS-00119)
9785 Re:「履歴」なんぞと不適切な用語を使ってしまいました HIRO 2001/02/13-08:41
記事番号9782へのコメント
tomoさんへ

おかげさまで、履歴という所にも目が通せました。何かいろいろなことが出来るんだなぁと思いました。
でも正直申しまして、さっぱりわかりません。
まだまだ、長くかかりそうですが、解説を読んだり、このコーナーの他の方々の質問を参考にしながら、
少しづつ理解していけたらなと思います。
また、どうしてもわからなくなったら、ここに質問させていただきたいと思いますので、よろしくお願い致します。

HIRO

9786 Re:偏差値の出し方がわかりません HIRO 2001/02/13-08:55
記事番号9784へのコメント
アドバイスありがとうございました。
私がやりたかったことは、項目集計した値を取り出して変数に代入する方法でした。(それをうまく説明できませんでした)
今、解説書の一括処理のところを読んでおりますが、まだまださっぱりわかりません。
でもいろんなことが出来そうで、なんだか興味が湧いてきました。
一括処理が出来るようになったら、アドバイスいただいた方法を、是非試してみたいと思っております。
ありがとうございました。

HIRO

9791 偏差値などは結合表を使います 野良犬 2001/02/13-14:29
記事番号9759へのコメント
こんにちは。

 偏差値のような、一つの行(レコードもしくはタプルともいいます)だけで算出できない計算項目は
結合表を用いることで計算できます。
 詳しい手順を説明するのは長くなるので、グラフ・結合表のマニュアル66ページを参考に試してください。

9806 Re:偏差値などは結合表を使います HIRO 2001/02/14-00:20
記事番号9791へのコメント
野良犬さん、こんばんは。
今、マニュアルに目を通してみました。
なるほど、こんなふうにも表をつくることができるんですね。
まだ、結合表のところを実際に覗いたことがないので、これからちょっと試したみたいと思います。
どうも、ありがとうございました。

HIRO

9814 Re:偏差値の出し方がわかりません emuni 2001/02/15-07:50
記事番号9759へのコメント
HIROさん、初めまして、emuniと申します。

エクセルの様な表計算とデータベースの違いの心得みたいのを
持っていた方がいいかもしれません。

    一度目の処理        二度目の処理
−−−−−−−−−−−−−−|−−−−−−−−−−−−−
  名前  英語   国語 | 英語偏差値  国語偏差値

   A   8   9  |  5.5    5.5
   B   7  10  |  4.8    6.1
   C  10   8  |  6.3    4.7
   D   5   7  |  3.8    4.2
集計 平均 7.5 7.5 |  7.5    8.5


「一度目の処理」で多人数の場合は桐の方が何かと都合が良いです。
しかし「二度目の処理」は表計算の方が得意です。

その少しレベルの高い処理に挑戦するんであれば恐れず一括処理を覚える方が良いと思います。

桐の一括処理は本来「ファンクションキーの操作」を自動的に実行すると言う所があるようです。
要するにファンクションキー操作の羅列を上から順番にやってくれると言う事です。

最短で記述すると、下記の通りですから表の名前と必要があれば項目名を書き換えて実行してみると良いでしょう。
1組の成績.tblに入力が終わってる事にします。

*−−−−−−−−−−−−−−−−
表 "1組の成績.tbl",表番号=1

   項目集計 [英語]
   置換 [英語偏差値]=#四捨五入(10*([英語]−&平均値)/&標準偏差+50,2)

表形式編集 /* ←結果を確認するために表を開く */
−−−−−−−−−−−−−−−−−
これで英語の標準偏差までの処理が終わります。
実際処理を行っているのは真ん中の2行のみなのです。
項目集計・・・の行は カーソルを英語に合わせてF7(項集計)の操作に当たります。
置換の行もHIROさんが行ったf2(置換)と同じ操作に代わる記述です。

後はその2行を複写して項目名である[]内の英語の部分を数学〜5科目合計までの項目名に書き直せば良いんです。

注意点は項目集計と置換の行は一つの項目ではセットで処理する事です。
置換の行で使う平均値と偏差値は直前の行で実行した項目集計で得た組み込み変数を使うからなのです。

後、一番下の平均値を表示させる集計行は行集計コマンドを使いますが
まあ長くなるので・・・応用と言う事にしましょう。

最後に一括処理の記述方法ですが、以外とテーブルの項目にデータを編集するのとほぼ同なのです。
行の訂正・削除・複写もテーブルと同じと思って気軽に編集すると良いと思います。
一括の入力が終了したら「デバッグ/実行」で試すのです。
・・・(念の為に元ファイルはバックアップの事)
9816 Re:偏差値の出し方がわかりません HIRO 2001/02/16-01:08
記事番号9814へのコメント

emuniさん、こんばんは。
実は解説書の一括処理のところを前にして、どこから手をつけたらよいのか見当もつかず、もう半
分諦めかけておりました。
emuniさんの詳しい説明のおかげで、私にもなんとかできるかもしれないという気持ちになりまし
た。
これから、ひとつひとつ手順を追って、挑戦してみます。
それにしても、皆さんすごく勉強していらっしゃるんだなぁと感じております。
はじめてこのコーナーに(恐る恐る)質問して、いろんな方に教えていただいて、本当に感謝しています。
それから、表計算とデータベースの違いもすこし判りかけてきたような気がします。
それぞれ、得意、不得意があるんですね。
また、つまずいたらよろしくお願い致します。

HIRO

戻る