- ベストアンサー
アクセスで偏差値計算
いつもお世話になっております。アクセスで学校の成績処理をしようとしています。dataテーブルに生徒ID、国語、英語、数学のフィールドがあります。で、クエリで各科目の偏差値フィールドを追加したいんですが、方法が分かりません。教えてください。偏差値=(得点-平均点)/標準偏差*10+50で計算できることは分かってます。よろしくお願いします。
- shinchan_k
- お礼率65% (55/84)
- オフィス系ソフト
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>偏差値=(得点-平均点)/標準偏差*10+50で計算できることは分かってます dataテーブル:生徒ID・国語・英語・数学 偏差値テーブル:国語標準偏差値・英語標準偏差値・数学標準偏差値 があればクエリ等を使い出来ると思いますが。 平均点はdataテーブルで平均点クエリを作ります。集計(グループ化)して国語・英語・数学の平均点を算出する。 平均点クエリはSQLだとクエリのSQLビューにコピーしても出来ます。(テーブル名・フィールド名が同じなら) SELECT DISTINCTROW Avg(dataテーブル.国語) AS 国語平均, Avg(dataテーブル.英語) AS 英語平均, Avg(dataテーブル.数学) AS 数学平均 FROM dataテーブル; で出来ます。 dataテーブルで新たにクエリを作り(偏差値フィールドがある作ってあるクエリでもかまいません)そのクエリにテーブル追加で偏差値テーブルと平均点クエリを追加します。 偏差値テーブルと平均点クエリはテーブル追加だけでフィールドを取得できるはずです。 各科目の偏差値のフィールドを作成します。 国語偏差値: ([国語]-[国語平均])/[国語標準偏差値]*10+50 英語偏差値: ([英語]-[英語平均])/[英語標準偏差値]*10+50 数学偏差値: ([数学]-[数学平均])/[数学標準偏差値]*10+50 各偏差値そのままだと小数点以下の端数が出ますので小数点以下の処理は 国語偏差値:Round(([国語]-[国語平均])/[国語標準偏差値]*10+50,0) のように丸めるとか切捨てとかしてください。 SQLでは SELECT dataテーブル.生徒ID, dataテーブル.国語, dataテーブル.英語, dataテーブル.数学, ([国語]-[国語平均])/[国語標準偏差値]*10+50 AS 国語偏差値, ([英語]-[英語平均])/[英語標準偏差値]*10+50 AS 英語偏差値, ([数学]-[数学平均])/[数学標準偏差値]*10+50 AS 数学偏差値 FROM dataテーブル, 標準偏差値, 平均点クエリ; こんな感じで出来ます。
関連するQ&A
- ACCESS重複した場合数値の高いレコードのみ表示
ACCESSで成績管理をしています。 同一人物が同じ科目を複数回受験した場合、「成績の数値が高いレコード」のみを残し表示をしたいと考えています。 テーブル名:T_成績 ID 生徒番号 氏名 科目 成績 1 12001 田中 数学 10 2 12001 田中 英語 10 3 12001 田中 英語 20 4 12001 田中 国語 10 5 12002 吉田 数学 30 6 12002 吉田 数学 40 7 12002 吉田 国語 20 ↓ ID 生徒番号 氏名 科目 成績 1 12001 田中 数学 10 3 12001 田中 英語 20 4 12001 田中 国語 10 6 12002 吉田 数学 40 7 12002 吉田 国語 20 クエリ(SQL等)でどのような記述を行えばいいでしょうか。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- accessで順位の合計の順位の求め方
[T_成績]というテーブルの中に フィールド名:[出席番号] フィールド名:[得点] というフィールドがあるとします。 まず、新規にクエリーを作ります。これはただの選択クエリーで、[T_成績]テーブルを1個だけ追加します。 クエリーグリッドのフィールド欄に[出席番号]と[得点]を追加します。 最後のフィールドに順位を求める式を入力します。式は以下の通りです。 順位: (select count(*) from T_成績 as T_成績_1 where T_成績_1!得点>T_成績!得点)+1 こうすれば順位が求められるのですが例えば国語と数学と英語の順位の合計の低い順に順番を求めたいのですが(単純に合計の順位ならでるのですが)、順位の合計の順位というものがうまくいきません。本当に困っていますまる3日いろいろ試したのですがうまくいきません。今日も徹夜でした、よろしくお願いします。
- ベストアンサー
- その他(データベース)
- 模試 各教科偏差値と合計偏差値を教えてください。宜しくお願いします。
模試 各教科偏差値と合計偏差値を教えてください。宜しくお願いします。 国語 平均点70 標準偏差21 得点148/200 英語 平均点61 標準偏差33 得点144/200 日本史 平均点33 標準偏差16 得点88/100 3教科 平均点215 標準偏差86 得点380/500
- 締切済み
- 大学・短大
- ACCESSのクエリ計算
Access2003でクエリで特定条件に一致するIDを出して 今度はそのそれぞれのIDから+100(IDが2なら2~102の範囲でというように)の元のテーブルの 値の中からフィールド1が5以上の条件に一致するものの最小のIDをもとめたいと思ってます。 始めたばかりの初心者です DMINでできるのかなと思って下記式にしてみたのですが パラメーターエラーでうまくいかなくて、、 DMin("[テーブル1].ID","[テーブル1]","[テーブル1].ID>=[クエリ1].ID&[ID]<[クエリ1].ID+100&[テーブル1]フィールド2>5")
- ベストアンサー
- その他MS Office製品
- Access2003 クロス集計クエリでの合計
☆以下のようなテーブルで、フィールド[ID]~[C]があり、文字および数字のデータが混在しています。 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ =========================================== (テーブル(1)) [ID] [A] [B] [C] 1 111 英語 10 2 222 英語 20 3 333 数学 30 4 111 国語 40 5 222 数学 50 6 333 国語 60 7 222 国語 70 8 333 英語 80 9 111 数学 90 =========================================== [課題] クロス集計クエリを作成する (1) フィールド[A]を行見出しに設定、 フィールド[B]を列見出しに設定、 フィールド[C]を集計する項目に設定する。 (2) フィールド[C]の値を列ごとに平均を計算し、 行ごとに合計を計算する。 ※ 列と行で、それぞれ集計した値を表示する ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ =========================================== [クロス集計結果] 合計 英語 国語 数学 111 140 10 40 90 222 140 20 70 50 333 170 80 60 30 --------------- 平均 150 36 56 56 =========================================== ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 上記のようなクロス集計クエリの結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- データの分析と標準偏差
標準偏差の問題を教えてください。 「20 人のクラスで数学のテストを行ったところ,得点の平均値はx,標準偏差は sx であった。また,出席番号が k (k = 1,2,…,20) の生徒の得点は xk であった。 ところが,採点後,問題に不備があることがわかった。ただし,不備のあった問題の 配点は 20 点であり,この問題を正解した生徒は一人もいなかったものとする。よく調べたところ, 問題不備の影響を受けたのは出席番号 1 の生徒のみだったので,出席番号 1 の生徒だけ 20 点加点することにした。出席番号 1 の生徒の,得点訂正前の得点について x1= x^- であるとき,得点訂正後の標準偏差 sz を表すとどうなりますか?」
- ベストアンサー
- 数学・算数
- ACCESSでクロス集計風に表示したい
以下の様なテーブルを 科目 テスト 得点 ------------------ 国語 1中間 50 国語 1期末 60 国語 2中間 55 国語 2期末 65 国語 3期末 70 英語 ・ ・ ・ ・ ・ ・ ・ ・ 数学 1中間 70 数学 1期末 80 数学 3中間 75 数学 2期末 70 数学 3期末 85 以下のような表形式で表示したいと考えてます。 1中間 1期末 ・ ・ 2期末 3期末 国語 60 55 ・ ・ 65 70 英語 ・ ・ ・ ・ ・ ・ 数学 70 80 ・ ・ 70 85 クロス集計クエリで見た目は上記の表形式になったのですが、 表示されるデータシート?で値の編集が出来ませんでした。 (集計結果なので当然?) 科目及びテストは今後追加される可能性が高いので テーブルまたはフォームを固定で持つことは出来ません。 何か良い方法はないでしょうか?
- 締切済み
- その他(データベース)
- ACCESSのクエリの関数について
ACCESSのクエリの関数について 列の標準偏差はテーブルの集計で出来ますが、レコードの標準偏差を求めたいと思います。 クエリの関数で、StDev(expr)のexprにレコードの[テーブルの名前]![フィールド名前]を 入れる時には","で続けるのか? この方法では式が作成出来ません。
- ベストアンサー
- その他(データベース)
- 標準偏差の計算がわかりません。
標準偏差の求め方がわからなくて検索しました。 >標準偏差を求めるためには、クラス全員の得点が必要です。クラス全員の点数と平均点の差分を、自乗したものを合計し、それをクラスの人数で割ったものの平方根が標準偏差になるからです。 という記述をさがしました。でやってみようとしましたが、まず、「クラス全員の点数と平均点の差分」というところでつまづきました。 数字を書きますので、実際にどういうように計算すればいいのか、(答えでなく、計算式がしりたいです。)おしえていただけませんか。 あるテストで8人が以下の成績をとった場合 75,55,40,60,25,80,55,90, 平均点は60点。 クラス全員の点数が480なので 480-60=420 420×420=176400 176400/8=22050 22050の平方根=? ばくだいな数のなりそうですが。。。。?????
- ベストアンサー
- 数学・算数
お礼
ありがとうございました。クエリでテーブルの追加しないと、フィールドは取得できないんですね。初歩的なミスでした。