DStDev- und DStDevP-Funktionen (DStDev, DomStAbwn)

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Sie können die Funktionen DStDev und DStDevP verwenden, um die Standardabweichung über einen Satz von Werten in einer angegebenen Gruppe von Datensätzen (einer Domäne) zu schätzen. Verwenden Sie die Funktionen DStDev und DStDevP in einem VBA-Modul (Visual Basic for Applications), einem Makro, einem Abfrageausdruck oder einem berechneten Steuerelement in einem Formular oder Bericht.

Verwenden Sie die StDevP-Funktion, um eine Grundgesamtheit auszuwerten, und die StDev-Funktion, um eine Stichprobe der Grundgesamtheit auszuwerten.

Sie könnten z. B. die DStDev-Funktion in einem Modul zur Berechnung der Standardabweichung in einer Reihe von Prüfungsergebnissen von Kursteilnehmern verwenden.

Syntax

DStDev(expr, domain [, criteria] )

DStDevP(expr, domain [, criteria] )

Die Funktionen DStDev und DStDevP verwenden die folgenden Argumente:

Argument Beschreibung
Ausdruck Erforderlich. Ein Ausdruck, der das numerische Feld angibt, für das Sie die Standardabweichung ermitteln möchten. Es kann sich um einen Zeichenfolgenausdruck handeln, der ein Feld aus einer Tabelle oder Abfrage identifiziert, oder es kann sich um einen Ausdruck handeln, der eine Berechnung für Daten in diesem Feld ausführt. In Expr können Sie den Namen eines Felds in einer Tabelle, ein Steuerelement in einem Formular, eine Konstante oder eine Funktion einschließen. Wenn expr eine Funktion enthält, kann sie entweder integriert oder benutzerdefinierte sein, aber keine andere Domänenaggregat- oder SQL-Aggregatfunktion.
Domäne Erforderlich. Ein Zeichenfolgenausdruck, der die Gruppe von Datensätzen angibt, die die Domäne bilden. Es kann sich um einen Tabellennamen oder um einen Abfragenamen für eine Abfrage handeln, die keinen Parameter erfordert.
Kriterien Optional. Ein Zeichenfolgenausdruck, der verwendet wird, um den Datenbereich einzuschränken, für den die DStDev - oder DStDevP-Funktion ausgeführt wird. Kriterien entsprechen z . B. häufig der WHERE-Klausel in einem SQL-Ausdruck ohne das Wort WHERE. Wenn Kriterien nicht angegeben werden, werten die Funktionen DStDev und DStDevPexpr für die gesamte Domäne aus. Jedes Feld, das in Kriterien enthalten ist, muss ebenfalls ein Feld in der Domäne sein; Andernfalls geben die Funktionen DStDev und DStDevP null zurück.

Hinweise

Wenn domäne auf weniger als zwei Datensätze verweist oder weniger als zwei Datensätze kriterien erfüllen, geben die Funktionen DStDev und DStDevP einen Null-Wert zurück, der angibt, dass eine Standardabweichung nicht berechnet werden kann.

Unabhängig davon, ob Sie die Funktion DStDev oder DStDevP in einem Makro, einem Modul, einem Abfrageausdruck oder einem berechneten Steuerelement verwenden, müssen Sie das Argument criteria sorgfältig erstellen, um sicherzustellen, dass es ordnungsgemäß ausgewertet wird.

Sie können die Funktionen DStDev und DStDevP verwenden, um Kriterien in der Zeile Kriterien einer Auswahlabfrage anzugeben. Sie können beispielsweise eine Abfrage für eine Tabelle Orders und eine Products-Tabelle erstellen, um alle Produkte anzuzeigen, für die die Frachtkosten über den Mittelwert gefallen sind, plus die Standardabweichung für die Frachtkosten. Die Zeile Kriterien unterhalb des Felds Fracht würde den folgenden Ausdruck enthalten:

>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

Sie können die Funktionen DStDev und DStDevP in einem berechneten Feldausdruck einer Abfrage oder in der Zeile Aktualisieren auf einer Updateabfrage verwenden.

Hinweis

Sie können die Funktionen DStDev und DStDevP oder die Funktionen StDev und StDevP in einem berechneten Feldausdruck einer Gesamtsummenabfrage verwenden. Wenn Sie die Funktion DStDev oder DStDevP verwenden, werden die Werte berechnet, bevor die Daten gruppiert werden. Wenn Sie die Funktion StDev oder StDevP verwenden, werden die Daten gruppiert, bevor Werte im Feldausdruck ausgewertet werden.

Verwenden Sie die Funktionen DStDev und DStDevP in einem berechneten Steuerelement, wenn Sie Kriterien zum Beschränken des Datenbereichs angeben möchten, für den die Funktion ausgeführt wird. Zum Anzeigen einer Standardabweichung für nach Kalifornien gelieferte Bestellungen, legen Sie z. B. die Eigenschaft ControlSource eines Textfelds auf den folgenden Ausdruck fest:

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

Wenn Sie lediglich die Standardabweichung für alle Datensätze in der Domäne ermitteln möchten, verwenden Sie die StDev - oder StDevP-Funktion .

Tipp Wenn der Datentyp des Felds, von dem expr abgeleitet wird, eine Zahl ist, geben die Funktionen DStDev und DStDevP den Datentyp Double zurück. Wenn Sie die Funktion "DStDev" oder "DStDevP" in einem berechneten Steuerelement verwenden, fügen Sie zur Leistungsverbesserung eine Konvertierungsfunktion für den Datentyp in den Ausdruck ein.

Hinweis

Bei Verwendung dieser Funktionen werden nicht gespeicherte Änderungen an Datensätzen in Domäne nicht berücksichtigt. Wenn die Funktion DStDev oder DStDevP auf den geänderten Werten basieren soll, müssen Sie die Änderungen zunächst speichern, indem Sie auf der Registerkarte Daten unter Datensätze auf Datensatz speichern klicken, damit der Fokus zu einem anderen Datensatz wechselt, oder indem Sie die Methode Aktualisieren verwenden.

Abfragebeispiele

Ausdruck Ergebnisse
SELECT DStDev("unitprice";"productSales";"unitprice>140") AS Expr1, DStDevP("unitprice","productSales";"unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice","productSales";"unitprice>140"), DStDevP("unitprice","productSales";"unitprice<140"); Berechnet die Standard Abweichung von "UnitPrice" (unter Berücksichtigung der angegebenen Daten als Stichprobe) aus der Tabelle "ProductSales", wobei "unitprice" größer als 140 ist, und zeigt das Ergebnis in Expr1 an. Berechnet auch die Standard Abweichung von "UnitPrice" (unter Berücksichtigung der angegebenen Daten als gesamte Grundgesamtheit), bei der "Unitprice" kleiner als 140 ist, und zeigt die Ergebnisse in Expr2 an.
SELECT DStDev("unitprice";"productSales";"unitprice>140") AS DstDev, DStDevP("unitprice","productSales";"unitprice<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Berechnet die Standard Abweichung von "UnitPrice" (unter Berücksichtigung der angegebenen Daten als Stichprobe) aus der Tabelle "ProductSales", wobei "unitprice" größer als 140 ist, und zeigt das Ergebnis in DstDev an. Berechnet auch die Standard Abweichung von "UnitPrice" (unter Berücksichtigung der angegebenen Daten als gesamte Grundgesamtheit), wenn "Unitprice" kleiner als 140 ist, und zeigt die Ergebnisse in DstDevP an.

VBA-Beispiel

Hinweis

Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

Im folgenden Beispiel werden Schätzungen der Standardabweichung für eine Grundgesamtheit und eine Stichprobe der Grundgesamtheit für nach Großbritannien (United Kingdom, UK) gelieferte Bestellungen zurückgegeben. Als Domäne wird die Tabelle "Orders" verwendet. Das Argument criteria schränkt den resultierenden Satz von Datensätzen auf diejenigen ein, für die der ShipCountryRegion-Wert UK ist.

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

Im nächsten Beispiel werden die gleichen Schätzungen mithilfe einer Variablen () strCountryRegionim Argument criteria berechnet. Beachten Sie, dass einfache Anführungszeichen (') im Zeichenfolgenausdruck enthalten sind, sodass beim Verketten der Zeichenfolgen das Zeichenfolgenliteral UK in einfache Anführungszeichen eingeschlossen wird.

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