テーブルやクエリに含まれる列(フィールド)で、指定した列に記録されている数値の標本分散(つまり偏差平方和を(値の個数-1)で割ったもの)を返します。
詳しく言うと、集計の対象となるレコードが母集団からのサンプルである場合(母集団⊃サンプル)の、母集団の分散の推定値です。集計の対象となるレコードが母集団そのものである場合にその分散(もはや推定値ではない)を求めるときはDVarP関数を用います。
Var関数に似ていますが、グループ化を併用せず利用でき、対象とするテーブルや行(レコード)も簡単に指定する(絞り込む)ことができるため扱いやすいというメリットがあります。
使用例
数学点数分散: DVar("数学点数","成績テーブル")
データシートビューです。数学の点数の標本分散である308.944444444444が得られています。
Var関数の場合、他の列の各行の値を表示しつつ標本分散を表示するためにはサブクエリを使う必要がありましたが、DVar関数だと関数だけで実現できます。
上記テーブルに基づく実行結果の例をいくつか挙げてみます。
表記例 | 出力例 | 説明 |
---|---|---|
DVar("数学点数","成績テーブル") | 308.944444444444 | |
DVar("英語点数","成績テーブル") | 299.142857142857 | 指定した列の値にNullが含まれる場合は、集計の対象から除かれます |
DVar(50,"成績テーブル") | 0 | 直接数値を指定した場合、全レコードにその値があるものとして求められた標本分散が返されます。結果的に0が返されます |
DVar("数学点数","成績テーブル","受験番号>=3") | 257.285714285714 | 集計の対象となるレコードの条件を指定することが出来ます |
DVar("英語点数","成績テーブル","受験番号>=3") | 417.7 |
書式
DVar(列名,レコードセット名[,条件])
列名はダブルクォーテーション(")で囲む必要があります。
レコードセットにはテーブルやレコードの名前をやはりダブルクォーテーションで囲って指定します。
条件は対象となるレコードを絞り込むためのものですが、省略できます。
備考
特にクエリでの使用において、グループ化を考慮する必要がなく、他のテーブルやクエリの値も容易に抽出できますので使い勝手がよいですが、レコード数が多い場合などは実行に時間がかかる場合があります。クエリで利用する場合、そのテーブルやクエリをクエリデザイン画面上に表示しなくとも値を取得することが出来ます。