DVar、DVarP 関数

DVar 関数および DVarP 関数を使うと、指定したレコードのセット (ドメイン) に含まれる値セット全体の分散を推定できます。 DVar および DVarP 関数は、Visual Basic for Applications (VBA) モジュール、マクロ、クエリ式、またはフォームやレポートの演算コントロールで使います。

母集団全体の分散を推定するには DVarP 関数を使い、母集団の標本の分散を推定するには DVar 関数を使います。

たとえば、DVar 関数を使うと、学生の試験の点数の分散を計算できます。

構文

DVar ( expr , domain [, criteria] )

DVarP ( expr , domain [, criteria] )

DVar 関数および DVarP 関数の引数は次のとおりです。

引数

説明

expr

必須。 分散を計算する数値フィールドを示す式です。 テーブルやクエリのフィールドを示す文字列式、またはそのフィールド内のデータに対して計算を実行する式を指定できます。 expr には、テーブルの名前フィールド、フォームのコントロール、定数、または関数を含めることができます。 expr で関数を指定する場合は、組み込み関数でもユーザー定義関数でもかまいませんが、別の定義域の集計関数または SQL 集計関数は指定できません。 expr に含まれるフィールドはすべて、数値フィールドでなければなりません。

domain

必須。 定義域を構成するレコード セットを識別する文字列式。 テーブル名の場合もあれば、パラメーターを必要としないクエリのクエリ名の場合もあります。

criteria

省略可能です。 DVarまたはDVarP関数を実行するデータの範囲を制限するために使用する文字列式。 たとえば、条件は、where という単語を除いて、SQL 式の where 句と等価です。 Criteriaを省略すると、 DVar関数とDVarP関数はドメイン全体に対してexprを評価します。 条件に含まれるフィールドは、ドメインのフィールドでもかまいません。それ以外の場合、 DVar関数とDVarP関数は Null を返します。

解説

domain の参照するレコードが 2 つ未満の場合、または criteria を満たすレコードが 2 つ未満の場合、DVar 関数および DVarP 関数は、分散を計算できないことを示す Null を返します。

マクロ、モジュール、クエリ式、または演算コントロールのいずれで DSum または DVarP 関数を使う場合でも、正しく評価されるように criteria 引数を慎重に構築する必要があります。

DVar および DVarP 関数を使って、選択クエリの Criteria 行の条件、クエリの計算フィールド式の条件、または更新クエリの Update To 行の条件を指定できます。

注: 集計クエリの計算フィールド式では、DVar および DVarP 関数、または Var および VarP 関数を使うことができます。 DVar または DVarP 関数を使うと、データがグループ化される前に値が計算がされます。 Var または VarP 関数を使うと、フィールド式の値が評価される前にデータがグループ化されます。

関数が実行されるデータ範囲を制限するために criteria を指定する必要があるときは、演算コントロールで DVar 関数および DVarP 関数を使います。 たとえば、カリフォルニアに出荷される注文の分散を表示するには、テキスト ボックスの ControlSource プロパティを次の式に設定します。

=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")

domain 内のレコード全体に対する分散を計算するだけの場合は、Var または VarP 関数を使います。

注: これらの関数では、domain 内のレコードに対する保存されていない変更は、計算に含まれません。 変更した値に基づいて DVar 関数または DVarP 関数を実行する場合は、[データ] タブの [レコード] にある [レコードの保存] をクリックするか、別のレコードにフォーカスを移動するか、または Update メソッドを使って、最初に変更を保存する必要があります。

クエリの例

結果

"Unitprice"、"productSales"、>""、"unitprice" 140 "、" DVar_Value "、" productSales "、" unitprice<140 "のように、productSales GROUP BY DVar (" unitprice "、" productSales "、" unitprice>140 ")、DVarP (" unitprice ")、のようにします。"productSales"、"unitprice<140")

"ProductSales" テーブルの "UnitPrice" の分散を計算します。 "unitprice" は140よりも大きく、結果は DVar_Value で表示されます。 また、"unitprice" (指定されたデータを母集団全体と見なします) の分散を計算します。この場合、"unitprice" は140よりも小さく、結果は DVarP_Value に表示されます。

VBA の例

注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

次の例では、英国に出荷される注文の母集団または母集団の標本に対する偏差の推定を取得します。 定義域は Orders テーブルです。 criteria 引数は、結果レコード セットを ShipCountryRegion が UK のレコードに制限します。

Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")

次の例では、criteria 引数の変数 strCountryRegion を使って、推定を取得します。 文字列式に単一引用符 (') が含まれるため、文字列が連結されると、文字リテラルの UK が単一引用符で囲まれます。

Dim strCountryRegion As String
Dim dblX As Double
strCountryRegion = "UK"
dblX = DVar("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×