DStDev, DStDevP, fonctions

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vous pouvez utiliser les fonctions ÉcartTypeDom et InfoTypeDom pour estimer l’écart type pour un jeu de valeurs d’un ensemble d’enregistrements spécifié (un domaine). Utilisez les fonctions DStDev et DStDevP dans un module Visual Basic pour Applications (VBA), une macro, une expression de requête ou un contrôle calculé figurant sur un formulaire ou un état.

Utilisez la fonction DSeTypeP pour évaluer une population et la fonction ÉcartTypeDom pour évaluer un échantillon de population.

Par exemple, vous pouvez utiliser la fonction ÉcartTypeDom dans un module pour calculer l’écart type d’un ensemble de résultats d’examen d’étudiants.

Syntaxe

DépType(expr, domaine [, critères] )

DStDevP(expr, domaine [, critères] )

Les fonctions DéTypeDom et DéTypeDom présentent les arguments suivants :

Argument Description
expr Obligatoire. Expression qui identifie le champ numérique dont vous souhaitez calculer l’écart-type. Il peut s’agir d’une expression de chaîne identifiant un champ provenant d’une table ou d’une requête, ou d’une expression qui effectue un calcul sur les données de ce champ. Dans expr, vous pouvez inclure le nom d’un champ dans une table, un contrôle d’un formulaire, une constante ou une fonction. Si expr inclut une fonction, elle peut être intégrée ou définie par l’utilisateur, mais pas une autre fonction d’agrégation de domaine ou SQL.
domaine Obligatoire. Expression de chaîne identifiant l’ensemble d’enregistrements qui constitue le domaine. Il peut s’agir d’un nom de table ou d’un nom de requête pour une requête qui ne nécessite pas de paramètre.
critères Facultatif. Expression de chaîne utilisée pour restreindre la plage de données sur laquelle la fonction DStDev ou DStDevP est exécutée. Par exemple, criteria est souvent équivalent à la clause WHERE dans une expression SQL, sans le mot WHERE. Si les critères sont omis, les fonctions DStDev et DStDevP évaluent expr par rapport à l’ensemble du domaine. Tout champ inclus dans les critères doit également être un champ dans le domaine ; sinon, les fonctions DStDev et DStDevP retournent la valeur Null.

Remarques

Si le domaine fait référence à moins de deux enregistrements ou si moins de deux enregistrements répondent aux critères, les fonctions ÉcartTypeDom et DéTypeDom renvoient une valeur Null, indiquant qu’un écart type ne peut pas être calculé.

Que vous utilisiez la fonction DStDev ou DSeTypeP dans une macro, un module, une expression de requête ou un contrôle calculé, vous devez construire l’argument critère avec soin pour garantir qu’il sera évalué correctement.

Vous pouvez utiliser les fonctions ÉcartTypeDom et DéTypeDom pour spécifier des critères dans la ligne Critères d’une requête de sélection. Par exemple, vous pouvez créer une requête dans une table Commandes et une table Produits pour afficher tous les produits pour lesquels les coûts de transport sont supérieurs à la moyenne plus l’écart type pour les frais de transport. La ligne Critères sous le champ Transport contiendrait l’expression suivante :

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

Vous pouvez utiliser les fonctions DStDev et DéTypeDom dans une expression de champ calculé d’une requête ou dans la ligne Mettre à jour vers d’une requête Mise à jour.

Remarque

Vous pouvez utiliser les fonctions ÉcartTypeDom et DévocarP ou les fonctions EcartypeO et StDevP dans une expression de champ calculé d’une requête Opérations. Si vous utilisez la fonction DéTypeDom ou DégrosTypeS , les valeurs sont calculées avant le regroupement des données. Si vous utilisez la fonction Ecartype ou EcartypeP , les données sont regroupées avant l’évaluation des valeurs figurant dans l’expression de champ.

Utilisez les fonctions ÉcartTypeDom et DéTypeDom dans un contrôle calculé lorsque vous devez spécifier des critères pour restreindre la plage de données sur laquelle la fonction est exécutée. Par exemple, pour afficher l’écart type des commandes à expédier en Californie, définissez la propriété SourceContrôle d’une zone de texte sur l’expression suivante :

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

Si vous voulez simplement trouver l’écart type pour tous les enregistrements du domaine, utilisez la fonction StDev ou StDevP .

Conseil Si le type de données du champ à partir duquel expr est dérivé est un nombre, les fonctions ÉcartTypeDom et DévoMpP renvoient un type de données Double. Si vous utilisez la fonction DStDev ou DSeTypeP dans un contrôle calculé, incluez une fonction de conversion de type de données dans l’expression pour améliorer les performances.

Remarque

Les modifications apportées aux enregistrements du domaine ne sont pas incluses lorsque vous utilisez ces fonctions. Si vous souhaitez que la fonction DStDev ou DSeTypeP soit basée sur les valeurs modifiées, vous devez d’abord enregistrer les modifications apportées en cliquant sur Enregistrer l’enregistrement sous Enregistrements sous l’onglet Données , en déplaçant le focus sur un autre enregistrement ou en utilisant la méthode Mise à jour .

Exemples de requête

Expression Résultats
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 ») ; Calcule l’écart Standard de « PrixUnitaire » (en considérant les données données comme un échantillon) à partir de la table « VentesProduits » où « PrixUnitaire » est supérieur à 140 et affiche le résultat dans Expr1. Calcule également l’écart Standard de « UnitPrice » (en considérant les données données comme la population entière) où « unitprice » est inférieur à 140 et affiche les résultats dans Expr2.
SELECT DStDev(« prixunitaire »,"produitsVentes » ;"prixunitaire>140 ») AS DstDev, DStDevP(« prixunitaire »,"produitsVentes » ;"prixunitaire<140 ») AS DstDevP FROM productSales GROUP BY DStDev(« prixunitaire »,"produitsVentes » ;"prixunitaire>140 »), DStDevP(« prixunitaire »,"produitsVentes »,"prixunitaire<140 ») ; calcule l’écart Standard de « PrixUnitaire » (en considérant les données données comme un échantillon) à partir de la table « VentesProduits », où « prixunitaire » est supérieur à 140 et affiche le résultat en ÉcartTypeStandard. Calcule également l’écart Standard de « PrixUnitaire » (en considérant les données données comme la population entière) où « PrixUnitaire » est inférieur à 140 et affiche les résultats en DégrosTypeP.

Exemple de VBA

Remarque

Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence développeur dans la liste déroulante en regard de Rechercher , puis entrez un ou plusieurs termes dans la zone de recherche.

L’exemple suivant renvoie des estimations de l’écart type pour une population et un échantillon de population pour les commandes expédiées au Royaume-Uni. Le domaine est une table Commandes. L’argument critère limite l’ensemble d’enregistrements résultant à ceux pour lesquels la valeur RégionPaysExpédition est Royaume-Uni.

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

L’exemple suivant calcule les mêmes estimations en utilisant une variable, strCountryRegion, dans l’argument critères . Notez que les guillemets simples (') sont inclus dans l’expression de chaîne, de sorte que lorsque les chaînes sont concaténées, le littéral UK de chaîne est placé entre guillemets simples.

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 & "'")