È possibile usare le funzioni DStDev e DStDevP per stimare la deviazione standard su un set di valori in un set di record specificato (un dominio). Usare le funzioni DStDev e DStDevP in un modulo di Visual Basic, Applications Edition (VBA), una macro, un'espressione di query o un controllo calcolato in una maschera o un report.
La funzione StDevP valuta una popolazione, mentre la funzione DStDev valuta un campione di popolazione.
È ad esempio possibile usare la funzione DStDev in un modulo per calcolare la deviazione standard in un set di punteggi dei test degli studenti.
Sintassi
DStDev(espr, dominio [, criteri] )
DStDevP(espr, dominio [, criteri] )
Le funzioni DStDev e DStDevP hanno gli argomenti seguenti:
| Argomento | Descrizione |
|---|---|
| espressione | Obbligatorio. Espressione che identifica il campo numerico di cui si vuole trovare la deviazione standard. Può trattarsi di un'espressione stringa che identifica un campo di una tabella o di una query oppure di un'espressione che esegue un calcolo sui dati di tale campo. In espr è possibile includere il nome di un campo in una tabella, un controllo in una maschera, una costante o una funzione. Se espr include una funzione, può essere predefinita o definita dall'utente, ma non un'altra funzione di aggregazione di dominio o di aggregazione SQL. |
| dominio | Obbligatorio. Un'espressione di stringa che identifica il set di record che costituisce il dominio. Può essere un nome di una tabella o di una query che non richiede un parametro. |
| criteri | Facoltativo. Espressione stringa usata per limitare l'intervallo di dati su cui viene eseguita la funzione DStDev o DStDevP. Ad esempio, criteri è spesso equivalente alla clausola WHERE in un'espressione SQL, senza la parola WHERE. Se criteri viene omesso, le funzioni DStDev e DStDevP valutano espr rispetto all'intero dominio. Qualsiasi campo incluso in criteri deve essere anche un campo in dominio; in caso contrario, le funzioni DStDev e DStDevP restituiscono un valore Null. |
Osservazioni
Se dominio fa riferimento a meno di due record o se meno di due record soddisfano criteri, le funzioni DStDev e DStDevP restituiscono un valore Null, che indica che non è possibile calcolare una deviazione standard.
Sia che si usi la funzione DStDev o DStDevP in una macro, un modulo, un'espressione di query o un controllo calcolato, è necessario specificare con attenzione l'argomento criteri per assicurarsi che venga valutato correttamente.
È possibile usare le funzioni DStDev e DStDevP per specificare i criteri nella riga Criteri di una query di selezione. È ad esempio possibile creare una query su una tabella di ordini e una tabella di prodotti per visualizzare tutti gli ordini per i quali le spese di spedizione sono superiori alla media più la deviazione standard per le spese di spedizione. La riga dei criteri sotto al campo relativo alla spedizione conterrà l'espressione seguente:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
È possibile usare le funzioni DStDev e DStDevP in un'espressione con campi calcolati di una query o nella riga Aggiorna a di una query di aggiornamento.
Nota
È possibile usare le funzioni DStDev e DStDevP o le funzioni StDev e StDevP in un'espressione con campi calcolati di una query di totalizzazione. Se si usa la funzione DStDev o DStDevP, i valori vengono calcolati prima che i dati vengano raggruppati. Se si usa la funzione StDev o StDevP, i dati vengono raggruppati prima che i valori nell'espressione con campi vengano valutati.
Usare le funzioni DStDev e DStDevP in un controllo calcolato quando è necessario specificare criteri per limitare l'intervallo di dati su cui viene eseguita la funzione. Per visualizzare, ad esempio, la deviazione standard per gli ordini da spedire in California, impostare la proprietà .OrigineControllo di una casella di testo sull'espressione seguente:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Se si vuole semplicemente trovare la deviazione standard in tutti i record in dominio, usare la funzione StDev o StDevP .
Mancia Se il tipo di dati del campo da cui viene derivato espr è un numero, le funzioni DStDev e DStDevP restituiscono un tipo di dati Double. Se si usa la funzione DStDev o DStDevP in un controllo calcolato, includere una funzione di conversione del tipo di dati nell'espressione per migliorare le prestazioni.
Nota
Le modifiche non salvate ai record in dominio non vengono incluse quando si usano queste funzioni. Se si vuole che la funzione DStDev o DStDevP sia basata sui valori modificati, è prima necessario salvare le modifiche facendo clic su Salva record in Record nella scheda Dati, spostando lo stato attivo su un altro record oppure usando il metodo Update.
Esempi di query
| Espressione | Risultati |
|---|---|
| SELECT DStDev("prezzounitario","venditeprodotto","prezzounitario>140") AS Espr1, DStDevP("unitprice","productSales","unitprice<140") AS Espr2 FROM productVendite GROUP BY DStDev("prezzounitario","productSales","prezzounitario>140"), DStDevP("prezzounitario","productSales","prezzounitario<140"); | Calcola la deviazione Standard di "PrezzoUnitario" (considerando i dati indicati come campione) dalla tabella "VenditeProdotto", dove "prezzounitario" è maggiore di 140 e visualizza il risultato in Espr1. Calcola anche la deviazione Standard di "PrezzoUnitario" (considerando i dati dati come intera popolazione) dove "prezzounitario" è minore di 140 e visualizza i risultati in Espr2. |
| SELECT DStDev("prezzounitario","venditeprodotto","prezzounitario>140") AS DstDev, DStDevP("unitprice","productSales","unitprice<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); | Calcola la deviazione Standard di "PrezzoUnitario" (considerando i dati indicati come campione) dalla tabella "VenditeProdotto" in cui "prezzounitario" è maggiore di 140 e visualizza il risultato in DstDev. Calcola anche la deviazione Standard di "PrezzoUnitario" (considerando i dati dati come intera popolazione) dove "prezzounitario" è minore di 140 e visualizza i risultati in DstDevP. |
Esempio di VBA
Nota
Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.
L'esempio seguente restituisce una stima della deviazione standard relativa a una popolazione e un campione di popolazione per gli ordini spediti nel Regno Unito. Il dominio è rappresentato da una tabella degli ordini. L'argomento criteri limita il set di record risultante a quelli per cui il valore di ShipCountryRegion è UK.
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'esempio successivo calcola le stesse stime usando una variabile, strCountryRegion, nell'argomento criteri . Si noti che nell'espressione stringa sono incluse virgolette singole ('), quindi quando le stringhe vengono concatenate, il valore letterale UK stringa sarà racchiuso tra virgolette singole.
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 & "'")