Accessでお仕事 DStDev、DStDevP 関数

DStDev、DStDevP 関数

        

指定されたレコードのセット (定義域) に含まれる値のセットを母集団または母集団の標本と見なして、その標準偏差の概算値を返します。Visual Basic、マクロ、クエリ式、またはフォームやレポートの演算コントロールで使うことができます。

DStDevP 関数は母集団を評価し、DStDev 関数は母集団の標本値を評価します。

たとえば、モジュールで DStDev 関数を使って、学生の試験点数の標準偏差を計算できます。

構文

DStDev(expr, domain[, criteria])

DStDevP(expr, domain[, criteria])

DStDevDStDevP 関数には、次の引数があります。

引数 内容
expr 対象となるデータが含まれているフィールドを表す文字列式、またはフィールドの値の計算を表す式です。テーブルのフィールド名、フォームのコントロール、定数、組み込み関数、およびユーザー定義関数が指定できます。ただし、他の定義域集計関数や SQL 集計関数は指定できません。
domain 定義域を構成するレコードを指定する文字列式です。テーブル名またはクエリ名が指定できます。
criteria この引数は省略可能です。演算対象となるデータの範囲を指定する文字列式です。たとえば、SQL 式の WHERE 句を指定できます (語 WHERE は省略します)。引数 criteria を省略すると、定義域全体に対して expr が適用されます。

解説

対象となるレコード数が 2 未満のときは標準偏差を計算できないため、DStDev 関数および DStDevP 関数は Null 値を返します。

DStDev または DStDevP 関数をマクロ、モジュール、クエリ式、または演算コントロールのいずれで使用する場合も、正確な結果を得るために引数 criteria を慎重に設定してください。

DStDev または DStDevP 関数を使って、選択クエリの [抽出条件] セルに抽出条件を指定できます。たとえば、運送料がその平均と標準偏差を加えたものより高い商品の一覧を表示する場合、[受注] および [商品] テーブルに関するクエリを作成し、以下の式を [運送料] フィールドの下の [抽出条件] セルに記述します。

>(DStDev("運送料", "受注") + DAvg("運送料", "受注"))

クエリの演算フィールドの式や、更新クエリの [レコードの更新] 行でも DStDev および DStDevP 関数を使うことができます。

メモ   DStDevDStDevPStDev、または StDevP 関数は、集計クエリの演算フィールドの式で使うことができます。DStDev および DStDevP 関数ではデータをグループ化する前に値が計算され、StDev および StDevP 関数ではデータをグループ化してから値が計算されます。

抽出条件を指定してデータ範囲を制限する必要があるような場合は、DStDev または DStDevP 関数を使ってください。たとえば、愛知県への出荷の標準偏差を表示するには、テキスト ボックスの "ControlSource/コントロールソース" プロパティに次のように設定します。

=DStDev("運送料", "受注", "出荷先都道府県 = '愛知県'")

domain の全レコードの標準偏差を計算する場合は、StDev または StDevP 関数を使います。

ヒント   expr のデータ型が数値の場合、DStDev および DStDevP 関数は倍精度浮動小数点型 (Double) の値を返します。演算コントロールで DStDev または DStDevP 関数を使う場合は、処理を高速に実行するために型変換関数を使ってください。

メモ   domain のレコードを変更しても、保存されていない値は DStDev 関数または DStDevP 関数の演算に反映されません。変更した値を使って計算する場合は、計算前に、[レコード] メニューの [レコードの保存] をクリックするか、フォーカスを別のレコードに移動するか、または Update メソッドを使って変更を保存する必要があります。