Puede usar las funciones DStDev y DStDevP para calcular la desviación estándar en un conjunto de valores de un conjunto de registros especificado (un dominio). Usar las funciones DStDev y DStDevP en un módulo de Visual Basic para Aplicaciones (VBA), una macro, una expresión de consulta o un control calculado en un formulario o informe.
Use la función DStDevP para evaluar una población y la función DStDev para evaluar una muestra de población.
Por ejemplo, podría usar la función DStDev en un módulo para calcular la desviación estándar en un conjunto de puntajes de prueba de estudiantes.
Sintaxis
DStDev(expr, domain [, criterios] )
DStDevP(expr, domain [, criterios] )
Las funciones DStDev y DStDevP tienen los siguientes argumentos:
| Argumento | Descripción |
|---|---|
| expresión | Obligatorio. Expresión que identifica el campo numérico en el que desea encontrar la desviación estándar. Puede ser una expresión de cadena que identifica un campo de una tabla o consulta, o puede ser una expresión que realiza un cálculo de los datos de ese campo. En expr, puede incluir el nombre de un campo en una tabla, un control en un formulario, una constante o una función. Si expr incluye una función, puede estar integrada o definida por el usuario, pero no otra función de agregado de dominio o de agregado SQL. |
| dominio | Obligatorio. Una expresión de cadena que identifica el conjunto de registros que constituye el dominio. Puede ser un nombre de tabla o un nombre de consulta para una consulta que no requiere un parámetro. |
| criterio | Opcional. Expresión de cadena usada para restringir el rango de datos en el que se realiza la función DStDev o DStDevP . Por ejemplo, los criterios suelen ser equivalentes a la cláusula WHERE en una expresión SQL, sin la palabra WHERE. Si se omiten los criterios , las funciones DStDev y DStDevP evalúan la expr en todo el dominio. Cualquier campo que se incluya en los criterios también debe ser un campo de dominio; de lo contrario, las funciones DStDev y DStDevP devolverán un valor nulo. |
Observaciones
Si dominio hace referencia a menos de dos registros o si menos de dos registros cumplen los criterios, las funciones DStDev y DStDevP devuelven un valor nulo, lo que indica que no se puede calcular una desviación estándar.
Si usa la función DStDev o DStDevP en una macro, un módulo, una expresión de consulta o un control calculado, debe construir el argumento de criterios con cuidado para asegurarse de que se evaluará correctamente.
Puede usar las funciones DStDev y DStDevP para especificar criterios en la fila Criterios de una consulta de selección. Por ejemplo, podría crear una consulta en una tabla Pedidos y una tabla Productos para mostrar todos los productos cuyos gastos de transporte sean superiores a la media más la desviación estándar de los gastos de transporte. La fila Criterios debajo del campo Transporte contendría la siguiente expresión:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Puede usar las funciones DStDev y DStDevP en una expresión de campo calculado de una consulta o en la fila Actualizar en de una consulta de actualización.
Nota
Puede usar las funciones DStDev y DStDevP o las funciones StDev y StDevP en una expresión de campo calculado de una consulta de totales. Si usa la función DStDev o DStDevP , los valores se calculan antes de agrupar los datos. Si usa la función DesvEst o DesvEst , los datos se agrupan antes de que se evalúen los valores de la expresión de campo.
Use las funciones DStDev y DStDevP en un control calculado cuando necesite especificar criterios para restringir el rango de datos en el que se realiza la función. Por ejemplo, para mostrar la desviación estándar de los pedidos que se envían a California, establezca la propiedad ControlSource de un cuadro de texto en la siguiente expresión:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Si simplemente desea encontrar la desviación estándar en todos los registros del dominio, use la función StDev o StDevP .
Propina Si el tipo de datos del campo del que se deriva la expresión es un número, las funciones DStDev y DStDevP devuelven un tipo de datos Doble. Si usa la función DStDev o DStDevP en un control calculado, incluya una función de conversión de tipo de datos en la expresión para mejorar el rendimiento.
Nota
Los cambios no guardados en los registros del dominio no se incluyen cuando se usan estas funciones. Si desea que la función DStDev o DStDevP se base en los valores modificados, primero debe guardar los cambios haciendo clic en Guardar registro en Registros en la pestaña Datos , moviendo el foco a otro registro o mediante el método Update .
Ejemplos de consulta
| Expresión | Resultados |
|---|---|
| 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"); | Calcula la desviación Standard de "UnitPrice" (considerando los datos dados como muestra) de la tabla "ProductSales" donde "unitprice" es mayor que 140 y muestra el resultado en Expr1. También calcula la desviación Standard de "UnitPrice" (considerando los datos dados como población total) donde "unitprice" es menor que 140 y muestra los resultados en Expr2. |
| 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"); | Calcula la desviación Standard de "UnitPrice" (considerando los datos dados como muestra) de la tabla "ProductSales", donde "unitprice" es mayor que 140 y muestra el resultado en DstDev. También calcula la desviación Standard de "PrecioUnidad" (considerando los datos dados como población total) donde "preciounidad" es menor que 140 y muestra los resultados en DstDevP. |
Ejemplo VBA:
Nota
Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
En el ejemplo siguiente se muestran estimaciones de la desviación estándar de una población y de una muestra de población para los pedidos enviados al Reino Unido. El dominio es una tabla Pedidos. El argumento de los criterios restringe el conjunto de registros resultante a aquellos para los que el valor ShipCountryRegion es Reino Unido.
Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
En el siguiente ejemplo se calculan las mismas estimaciones usando una variable, strCountryRegion, en el argumento de los criterios . Tenga en cuenta que las comillas simples (') se incluyen en la expresión de cadena, de modo que cuando las cadenas se concatenan, el literal UK de cadena se incluirá entre comillas 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 & "'")