Você pode usar as funções DStDev e DStDevP para estimar o desvio padrão em um conjunto de valores em um conjunto especificado de registros (um domínio ). Use as funções DStDev e DStDevP em um módulo VBA (Visual Basic for Applications), um macro, uma expressão de consulta ou um controle calculado em um formulário ou relatório.
Use a função DStDevP para avaliar uma população e a função DStDev para avaliar um exemplo de população.
Por exemplo, você pode usar a função DStDev em um módulo para calcular o desvio padrão em um conjunto de notas de teste dos alunos.
Sintaxe
DStDev ( expr , domain [, criteria] )
DStDevP ( expr , domínio [, critérios] )
As funções DStDev e DStDevP têm esses argumentos:
Argumento |
Descrição |
expr |
Obrigatório. Uma expressão que identifica o campo numérico no qual você deseja encontrar o desvio padrão. Pode ser um expressão de cadeia de caracteres identificar um campo de uma tabela ou consulta, ou pode ser uma expressão que executa um cálculo sobre dados nesse campo. Em expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, uma constante ou uma função. Se expr incluir uma função, ela poderá ser interna ou definida pelo usuário, mas não outra função de agregação de domínio ou de agregação de SQL. |
domínio |
Obrigatório. Uma expressão de cadeia de caracteres que identifica o conjunto de registros que constitui o domínio. Pode ser um nome de tabela ou um nome de consulta para uma consulta que não requer um parâmetro. |
critérios |
Opcional. Uma expressão de cadeia de caracteres usada para restringir o intervalo de dados no qual a função DStDev ou DStDevP é executada. Por exemplo, os critérios geralmente são equivalentes à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se os critérios forem omitidos, as funções DStDev e DStDevP avaliarão expr em relação a todo o domínio. Qualquer campo incluído nos critérios também deve ser um campo no domínio; caso contrário, as funções DStDev e DStDevP retornarão um Null. |
Comentários
Se o domínio se referir a menos de dois registros ou se menos de dois registros atenderem aos critérios, as funções DStDev e DStDevP retornarão um Null, indicando que um desvio padrão não pode ser calculado.
Se você usa a função DStDev ou DStDevP em uma macro, módulo, expressão de consulta ou controle calculado, você deve construir o argumento de critério cuidadosamente para garantir que ele seja avaliado corretamente.
Você pode usar as funções DStDev e DStDevP para especificar critérios na linha Critérios de uma consulta selecionada. Por exemplo, você pode criar uma consulta em uma tabela Orders e uma tabela Products para exibir todos os produtos para os quais o custo do frete caiu acima da média mais o desvio padrão para o custo do frete. A linha Critérios abaixo do campo Freight conteria a seguinte expressão:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Você pode usar as funções DStDev e DStDevP em uma expressão de campo calculada de uma consulta ou na linha Atualizar para de um atualizar consulta.
Observação: Você pode usar as funções DStDev e DStDevP ou as funções StDev e StDevP em uma expressão de campo calculada de um consulta de totais. Se você usar a função DStDev ou DStDevP , os valores serão calculados antes que os dados sejam agrupados. Se você usar a função StDev ou StDevP , os dados serão agrupados antes que os valores na expressão de campo sejam avaliados.
Use a função DStDev e DStDevP em um controle calculado quando precisar especificar critérios para restringir o intervalo de dados no qual a função é executada. Por exemplo, para exibir o desvio padrão para que os pedidos sejam enviados para a Califórnia, defina a propriedade ControlSource de uma caixa de texto para a seguinte expressão:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Se você simplesmente quiser encontrar o desvio padrão em todos os registros no domínio, use a função StDev ou StDevP .
Dica Se o tipo de dados do campo do qual o expr é derivado for um número, as funções DStDev e DStDevP retornarão um tipo de dados Double. Se você usar a função DStDev ou DStDevP em um controle calculado, inclua uma função de conversão de tipo de dados na expressão para melhorar o desempenho.
Observação: Alterações não salvas nos registros no domínio não são incluídas quando você usa essas funções. Se você quiser que a função DStDev ou DStDevP seja baseada nos valores alterados, primeiro salve as alterações clicando em Salvar Registro em Registros na guia Dados , movendo o foco para outro registro ou usando o método Update .
Exemplos de consulta
Expressão |
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 o Desvio Padrão de "UnitPrice" (considerando os dados dados como exemplo) da tabela "ProductSales" em que "unitprice" é maior que 140 e exibe o resultado em Expr1. Também calcula o Desvio Padrão de "UnitPrice" (considerando os dados dados como população inteira) em que "unitprice" é menor que 140 e exibe os resultados em 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 o Desvio Padrão de "UnitPrice" (considerando os dados dados como exemplo) da tabela "ProductSales" em que "unitprice" é maior que 140 e exibe o resultado em DstDev. Também calcula o Desvio Padrão de "UnitPrice" (considerando os dados dados como população inteira) em que "unitprice" é menor que 140 e exibe os resultados em DstDevP. |
Exemplo de VBA
Observação: Exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
O exemplo a seguir retorna estimativas do desvio padrão para uma população e uma amostra populacional para pedidos enviados para o Reino Unido. O domínio é uma tabela Orders. O argumento de critério restringe o conjunto resultante de registros àqueles para os quais o valor ShipCountryRegion é 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'")
O próximo exemplo calcula as mesmas estimativas usando uma variável, strCountryRegion, no argumento de critérios . Observe que as aspas individuais (') são incluídas na expressão de cadeia de caracteres, de modo que, quando as cadeias de caracteres forem concatenadas, o literal da cadeia de caracteres UK será colocado entre aspas.
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 & "'")