Funções DDesvP, DDesvPP

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

Pode utilizar as funções DDesvPad e DDesvPP para calcular o desvio-padrão num conjunto de valores de um conjunto específico de registos (um domínio). Utilize as funções DDesvP e DDesvPP num módulo 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 DDesvPP para avaliar uma população e a função DDesvP para avaliar uma amostra de população.

Por exemplo, pode utilizar a função DDesvP num módulo para calcular o desvio-padrão de um conjunto de resultados de testes de estudantes.

Sintaxe

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

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

As funções DDesvP e DDesvPP têm os seguintes argumentos:

Argumento Descrição
expr Obrigatório. Uma expressão que identifica o campo numérico no qual pretende determinar 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 executa um cálculo em dados nesse campo. Em expr, pode incluir o nome de um campo numa tabela, um controlo num formulário, uma constante ou uma função. Se expr inclui uma função, pode ser incorporada ou definida pelo utilizador, mas não pode ser 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 DDesvP ou DDesvPP é executada. Por exemplo, criteria é muitas vezes equivalente à cláusula WHERE numa expressão SQL, sem a palavra WHERE. Se o critério for omitido, as funções DDesvPad e DDesvPP avaliam o expr em relação ao domínio inteiro. Qualquer campo incluído nos critérios também deve ser um campo no domínio; caso contrário, as funções DDesvP e DDesvPP irão devolver um resultado Nulo.

Comentários

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

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

Pode utilizar as funções DDesvPad e DDesvPP 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 cujo custo de transporte é superior à soma da média com o desvio-padrão do 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 DDesvP e DDesvPP numa expressão de campo calculado de uma consulta ou na linha Atualizar Para de uma consulta atualização.

Nota

Pode utilizar as funções DDesvP e DDesvPP ou as funções DesvPad e DesvPP numa expressão de campo calculado de uma consulta de totais. Se utilizar a função DDesvP ou DDesvPP , os valores são calculados antes de os dados serem agrupados. Se utilizar a função StDev ou StdesvPP , os dados são agrupados antes de os valores no campo de expressão serem avaliados.

Utilize a função DDesvPad e DDesvPP num controlo calculado, quando precisa de especificar critérios para restringir o intervalo de dados no qual a função é executada. Por exemplo, para exibir o desvio padrão de pedidos a serem enviados para a Califórnia, defina a propriedade ControlSource de uma caixa de texto com a seguinte expressão:

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

Se quiser simplesmente determinar 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 do qual expr é derivado for um número, as funções DDesvP e DDesvPP devolvem um tipo de dados Duplo. Se utilizar a função DDesvP ou DDesvPP 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 pretende que a função DDesvP ou DDesvPP seja baseada nos valores alterados, tem primeiro de guardar as alterações ao clicar em Guardar Registo em Registos no separador Dados , mover o foco para outro registo ou utilizar o método Update .

Exemplos de consulta

Expressão Resultados
SELECT DStDev("preçounitário","productSales","unitprice>140") AS Expr1, DStDevP("preçounitário","productSales","unitprice<140") COMO Expr2 FROM productSales GROUP BY DStDev("preçounitário","productSales","preçounitário 140"), DDesvP("preçounitário>","productSales","preçounitário<140"); Calcula o Desvio-Padrão de "PreçoUnitário" (considerando determinados dados como exemplo) a partir da tabela "ProdutosVendas", em que "preçounitário" é maior que 140 e apresenta o resultado em Expr1. Também calcula o Desvio Padrão do "PreçoUnitário" (considerando os dados fornecidos como a população total) onde "PreçoUnitário" é inferior a 140 e apresenta os resultados em Expr2.
SELECT DStDev("preçounitário","produtosVendas","preço>unitário 140") COMO DstDev, DStDevP("preçounitário","produtosVendas","preçounitário<140") COMO DstDevP FROM productSales GROUP BY DStDev("preçounitário","productSales","unitprice>140"), DStDevP("preçounitário","productSales","unitprice<140"); Calcula o Desvio-Padrão de "PreçoUnitário" (considerando os dados fornecidos como exemplo) a partir da tabela "ProdutosVendas", em que "preçounitário" é maior que 140, e apresenta o resultado em DesvPad Também calcula o Desvio Padrão de "PreçoUnitário" (considerando os dados fornecidos como a população total), em que "PreçoUnitário" é inferior a 140 e apresenta os resultados em DevDevP.

Exemplo do 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 de registos resultante àqueles para os quais o valor EnviarPaísRegião é 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 critérios . Tenha em atenção que plicas (') estão incluídas na expressão da cadeia, para que quando as cadeias forem concatenadas, a cadeia literal UK seja colocada entre aspas 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 & "'")