$stddevsamp

El operador $stddevsamp calcula la desviación estándar tomando una muestra especificada de los valores de un campo. La desviación estándar se calcula tomando una muestra aleatoria del tamaño especificado. Si se necesita una desviación estándar precisa, se debe usar $stdDevPop en su lugar.

Syntax

{
  $stddevsamp: {fieldName}
}

Parámetros

Parámetro Description
fieldName Campo cuyos valores se usan para calcular la desviación estándar del tamaño de muestra especificado

Examples

Considere este documento de ejemplo de la colección de tiendas.

{
    "_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
    "name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
    "location": {
        "lat": -89.2384,
        "lon": -46.4012
    },
    "staff": {
        "totalStaff": {
            "fullTime": 8,
            "partTime": 20
        }
    },
    "sales": {
        "totalSales": 75670,
        "salesByCategory": [
            {
                "categoryName": "Wine Accessories",
                "totalSales": 34440
            },
            {
                "categoryName": "Bitters",
                "totalSales": 39496
            },
            {
                "categoryName": "Rum",
                "totalSales": 1734
            }
        ]
    },
    "promotionEvents": [
        {
            "eventName": "Unbeatable Bargain Bash",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 6,
                    "Day": 23
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 7,
                    "Day": 2
                }
            },
            "discounts": [
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 7
                },
                {
                    "categoryName": "Bitters",
                    "discountPercentage": 15
                },
                {
                    "categoryName": "Brandy",
                    "discountPercentage": 8
                },
                {
                    "categoryName": "Sports Drinks",
                    "discountPercentage": 22
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 19
                }
            ]
        },
        {
            "eventName": "Steal of a Deal Days",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 21
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 29
                }
            },
            "discounts": [
                {
                    "categoryName": "Organic Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "White Wine",
                    "discountPercentage": 20
                },
                {
                    "categoryName": "Sparkling Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 17
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 23
                }
            ]
        }
    ]
}

Ejemplo 1: Cálculo de la desviación estándar de las ventas totales

Esta consulta calcula la desviación estándar de las ventas totales en todas las tiendas de la empresa "Fourth Coffee" tomando una muestra aleatoria de 10 documentos que coinciden con los criterios de filtrado.

db.stores.aggregate([{
    $match: {
        "company": "Fourth Coffee"
    }
}, {
    $sample: {
        size: 10
    }
}, {
    $group: {
        _id: "$company",
        stdDev: {
            $stdDevSamp: "$sales.totalSales"
        }
    }
}])

Esta consulta devuelve el siguiente resultado:

[
  {
      "_id": "Fourth Coffee",
      "stdDev": 22040.044055209048
  }
]