Puede usar las funciones DDesvEst y DDEsvEstP para calcular la desviación estándar de un conjunto de valores de un conjunto específico de registros (un dominio ). Use las funciones DStDev y DStDevP en un módulo de Visual Basic para Aplicaciones (VBA), un macro, una expresión de consulta o un control calculado en un formulario o informe.
Use la función DDesvEstP para evaluar una población y la función DDesvEst para evaluar una muestra de población.
Por ejemplo, podría usar la función DDesvEst en un módulo para calcular la desviación estándar en un conjunto de resultados de los exámenes de los alumnos.
Sintaxis
DDesvEst ( expresión , dominio [, criterios] )
DStDevP ( expresión , dominio [, criterios] )
Las funciones DDesvEstDev y DDesvEstP tienen estos argumentos:
Argumento |
Descripción |
expresión |
Obligatorio. Expresión que identifica el campo numérico en el que desea buscar la desviación estándar. Puede ser un expresión de cadena identificar un campo de una tabla o consulta, o puede ser una expresión que realiza un cálculo en los datos de ese campo. En expresión, puede incluir el nombre de un campo en una tabla, un control de un formulario, una constante o una función. Si expresión incluye una función, puede ser integrada o definida por el usuario, pero no otra función de agregado de dominio o de agregado de SQL. |
dominio |
Requerido. 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 realizan las funciones 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 omite los criterios , las funciones DStDev y DStDevPevalúan la expresión en todo el dominio. Cualquier campo que se incluya en los criterios también debe ser un campo en el dominio; De lo contrario, las funciones DStDev y DStDevP devolverán un valor Null. |
Comentarios
Si dominio hace referencia a menos de dos registros o si menos de dos registros cumplen criterios, las funciones DStDev y DStDevP devuelven un valor Null, lo que indica que no se puede calcular una desviación estándar.
Si usa la función DDesvEst o DDEsvEstP en una macro, módulo, expresión de consulta o control calculado, debe construir el argumento criterios cuidadosamente para asegurarse de que se evaluará correctamente.
Puede usar las funciones DDesvEst yDDEsvEstP para especificar criterios en la fila Criterios de una consulta de selección. Por ejemplo, puede crear una consulta en una tabla Pedidos y una tabla Productos para mostrar todos los productos para los que el costo de transporte sea superior a la media más la desviación estándar del costo de transporte. La fila Criterios debajo del campo Transporte contiene la siguiente expresión:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Puede usar las funciones DDesvEst yDDEsvEstP en una expresión de campo calculado de una consulta o en la fila Actualizar a de una consulta de actualización.
Nota: Puede usar las funciones DDEsvEstDev y DDEsvEstP o las funciones DesvEst y DesvEstP en una expresión de campo calculado de un consulta de totales. Si usa las funciones DDesvEst oDDesvEstP , los valores se calculan antes de agrupar los datos. Si usa las funciones DesvEst o DesvEstP , los datos se agrupan antes de evaluar los valores de la expresión de campo.
Use las funciones DDesvEst y DDEsvEstP 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 buscar la desviación estándar en todos los registros del dominio, use las funciones DesvEst o DesvEstP .
Sugerencia Si el tipo de datos del campo del que se deriva expresión es un número, las funciones DStDev y DStDevP devuelven un tipo de datos Double. Si usa las funciones DDesvEst o DDesvEstP en un control calculado, incluya una función de conversión de tipos de datos en la expresión para mejorar el rendimiento.
Nota: Los cambios no guardados en los registros del dominio no se incluyen al usar estas funciones. Si quiere que la función DDesvEst o DDEsvEstP 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 usando el método Update .
Ejemplos de consulta
Expression |
Resultados |
SELECT DDesvEst("precioUnidad","ventasProducto","precioUnidad>140") AS Expr1, DStDevP("precioUnidad","ventasProducto","precioUnidad<140") AS Expr2 FROM productSales GROUP BY DStDev("precioUnidad","productSales","preciounidad>140"), DStDevP("precioUnidad","productSales","precioUnidad<140"); |
Calcula la desviación estándar de "PrecioUnidad" (considerando que los datos proporcionados como ejemplo) de la tabla "VentasProducto" donde "precioUnidad" es mayor que 140 y muestra el resultado en Expresión1. También calcula la desviación estándar de "PrecioUnidad" (teniendo en cuenta los datos dados como toda la población) donde "precioUnidad" es menor que 140 y muestra los resultados en Expresión2. |
SELECT DDEsvEst("precioUnidad","ventasProducto","precioUnidad>140") AS DstDev, DStDevP("precioUnidad","ventasProducto","precioUnidad<140") AS DstDevP FROM productSales GROUP BY DStDev("precioUnidad","productSales","precioUnidad>140"), DStDevP("precioUnidad","productSales","precioUnidad<140"); |
Calcula la desviación estándar de "PrecioUnidad" (teniendo en cuenta los datos dados como ejemplo) de la tabla "VentasProducto" donde "precioUnidad" es mayor que 140 y muestra el resultado en DstDev. También calcula la desviación estándar de "PrecioUnidad" (teniendo en cuenta los datos dados como toda la población) 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 devuelven estimaciones de la desviación estándar de una población y una muestra de población para pedidos enviados al Reino Unido. El dominio es una tabla Pedidos. El argumento criterios restringe el conjunto resultante de registros 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 ejemplo siguiente se calculan las mismas estimaciones usando una variable, strCountryRegion, en el argumento criterios . Tenga en cuenta que las comillas simples (') se incluyen en la expresión de cadena, de modo que cuando se concatenan las cadenas, el literal de cadena UK se incluye 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 & "'")