Funções DDesvP, DDesvPP

Aplica-se A
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pode utilizar as funções DStDev e DStDevP para estimar o desvio-padrão num conjunto de valores num conjunto especificado de registos (um domínio). Utilize as funções DStDev e DStDevP num módulo de Visual Basic for Applications (VBA), numa macro, numa expressão de consulta ou num controlo calculado num formulário ou relatório.

Utilize a função DStDevP para avaliar uma população e a função DStDev para avaliar uma amostra de população.

Por exemplo, pode utilizar a função DStDev num módulo para calcular o desvio padrão num conjunto de classificações de teste dos estudantes.

Sintaxe

DStDev(expr, domínio [, critérios] )

DStDevP(expr, domínio [, critérios] )

As funções DStDev e DStDevP têm estes argumentos:

Argumento Descrição
expr Obrigatório. Uma expressão que identifica o campo numérico no qual pretende encontrar o desvio-padrão. Pode ser uma expressão de cadeia que identifica um campo de uma tabela ou consulta ou pode ser uma expressão que efetua um cálculo nos dados nesse campo. No expr, pode incluir o nome de um campo numa tabela, um controlo num formulário, uma constante ou uma função. Se expr incluir uma função, pode ser incorporada ou definida pelo utilizador, mas não outra agregação de domínio ou função de agregação SQL.
domínio Obrigatório. Uma expressão de cadeia que identifica o conjunto de registos que constituem o domínio. Pode ser um nome de tabela ou um nome de consulta de uma consulta que não necessita de um parâmetro.
critérios Opcional. Uma expressão de cadeia utilizada para restringir o intervalo de dados no qual a função DStDev ou DStDevP é executada. Por exemplo, os critérios são muitas vezes equivalentes à cláusula WHERE numa expressão SQL, sem a palavra WHERE. Se os critérios forem omitidos, as funções DStDev e DStDevP avaliam expr em relação a todo o domínio. Qualquer campo incluído nos critérios também tem de ser um campo no domínio; caso contrário, as funções DStDev e DStDevP devolverão um Valor Nulo.

Comentários

Se o domínio se referir a menos de dois registos ou se menos de dois registos satisfizerem critérios, as funções DStDev e DStDevP devolvem um Nulo, indicando que não é possível calcular um desvio padrão.

Quer utilize a função DStDev ou DStDevP numa macro, módulo, expressão de consulta ou controlo calculado, tem de construir cuidadosamente o argumento critérios para garantir que será avaliado corretamente.

Pode utilizar as funções DStDev e DStDevP para especificar critérios na linha Critérios de uma consulta selecionar. Por exemplo, pode criar uma consulta numa tabela Encomendas e numa tabela Produtos para apresentar todos os produtos para os quais o custo do transporte tenha ficado acima da média e o desvio-padrão para o custo do transporte. A linha Critérios abaixo do campo Transporte conteria a seguinte expressão:

>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

Pode utilizar as funções DStDev e DStDevP numa expressão de campo calculado de uma consulta ou na linha Atualizar Para de uma consulta de atualização.

Nota

Pode utilizar as funções DStDev e DStDevP ou as funções StDev e StDevP numa expressão de campo calculado de uma consulta de totais. Se utilizar a função DStDev ou DStDevP , os valores são calculados antes de os dados serem agrupados. Se utilizar a função StDev ou StDevP , os dados são agrupados antes de os valores na expressão de campo serem avaliados.

Utilize a função DStDev e DStDevP num controlo calculado quando precisar de especificar critérios para restringir o intervalo de dados no qual a função é executada. Por exemplo, para apresentar o desvio padrão das encomendas a serem enviadas para a Califórnia, defina a propriedade OrigemDoControlo de uma caixa de texto para a seguinte expressão:

=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Se quiser simplesmente encontrar o desvio padrão em todos os registos no domínio, utilize a função StDev ou StDevP .

Sugestão Se o tipo de dados do campo a partir do qual expr é derivado for um número, as funções DStDev e DStDevP devolvem um tipo de dados Duplo. Se utilizar a função DStDev ou DStDevP num controlo calculado, inclua uma função de conversão de tipo de dados na expressão para melhorar o desempenho.

Nota

As alterações não guardadas aos registos no domínio não são incluídas quando utiliza estas funções. Se quiser que a função DStDev ou DStDevP se baseie nos valores alterados, primeiro tem de guardar as alterações ao clicar em Guardar Registo em Registos no separador Dados , ao mover o foco para outro registo ou ao utilizar 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 "PreçoUnitário" (considerando os dados fornecidos como exemplo) da tabela "VendasdoProduto" em que "preçounitário" é superior a 140 e apresenta o resultado em Expr1. Também calcula o Desvio Padrão de "PreçoUnitário" (considerando os dados fornecidos como população inteira) em que "preçounitário" é inferior a 140 e apresenta 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 "PreçoUnitário" (considerando os dados fornecidos como exemplo) da tabela "VendasdoProduto" em que "preçounitário" é superior a 140 e apresenta o resultado em DstDev. Também calcula o Desvio Padrão de "PreçoUnitário" (considerando os dados indicados como população inteira) em que "preçounitário" é inferior a 140 e apresenta os resultados em DstDevP.

Exemplo de VBA

Nota

Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

O exemplo seguinte devolve estimativas do desvio-padrão para uma população e uma amostra de população para encomendas enviadas para o Reino Unido. O domínio é uma tabela Encomendas. O argumento critérios restringe o conjunto resultante de registos àqueles para os quais o valor 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'")

O exemplo seguinte calcula as mesmas estimativas com uma variável, strCountryRegion, no argumento critérios . Tenha em atenção que as aspas únicas (') estão incluídas na expressão de cadeia, para que, quando as cadeias forem concatenadas, o literal UK de cadeia seja colocado entre aspas únicas.

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 & "'")