DStDev 및 DStDevP 함수를 사용하여 지정된 레코드 집합( 도메인 )의 값 집합에서 표준 편차를 예측할 수 있습니다. VBA(Visual Basic for Applications) 모듈, 매크로, 쿼리 식 또는 폼이나 보고서의 계산된 컨트롤DStDev 및 DStDevP 함수를 사용합니다.
DStDevP 함수를 사용하여 모집단을 평가하고 DStDev 함수를 사용하여 모집단 샘플을 평가합니다.
예를 들어 모듈에서 DStDev 함수를 사용하여 학생의 시험 점수 집합에 대한 표준 편차를 계산할 수 있습니다.
구문
DStDev ( expr , domain [, criteria] )
DStDevP ( expr , domain [, criteria] )
DStDev 및 DStDevP 함수에는 다음과 같은 인수가 있습니다.
인수 |
설명 |
expr |
필수 요소입니다. 표준 편차를 찾으려는 숫자 필드를 식별하는 식입니다. 테이블 또는 쿼리에서 필드를 식별하는 문자열 식 또는 해당 필드의 데이터에 대한 계산을 수행하는 식일 수 있습니다. expr에서 테이블의 필드 이름, 폼의 컨트롤, 상수 또는 함수를 포함할 수 있습니다. expr에 함수가 포함된 경우 기본 제공 또는 사용자 정의일 수 있지만 다른 도메인 집계 또는 SQL 집계 함수는 사용할 수 없습니다. |
domain |
필수 요소입니다. 도메인을 구성하는 레코드 집합을 식별하는 문자열 식입니다. 매개 변수가 필요하지 않은 쿼리의 테이블 이름 또는 쿼리 이름일 수 있습니다. |
criteria |
선택 요소입니다. DStDev 또는 DStDevP 함수가 수행되는 데이터 범위를 제한하는 데 사용되는 문자열 식입니다. 예를 들어 criteria 는 WHERE라는 단어가 없는 SQL 식의 WHERE 절과 동일한 경우가 많습니다. 조건을 생략하면 DStDev 및 DStDevP 함수는 전체 도메인에 대해 expr을 평가합니다. 조건에 포함된 모든 필드는 도메인의 필드여야 합니다. 그렇지 않으면 DStDev 및 DStDevP 함수가 Null을 반환합니다. |
주의
도메인 이 두 개 미만의 레코드를 참조하거나 두 개 미만의 레코드가 조건을 충족하는 경우 DStDev 및 DStDevP 함수는 표준 편차를 계산할 수 없음을 나타내는 Null을 반환합니다.
매크로, 모듈, 쿼리 식 또는 계산 컨트롤에서 DStDev 또는 DStDevP 함수를 사용하든 관계없이 criteria 인수를 신중하게 생성하여 올바르게 평가되도록 해야 합니다.
DStDev 및 DStDevP 함수를 사용하여 선택 쿼리의 조건 행에 조건을 지정할 수 있습니다. 예를 들어 Orders 테이블과 Products 테이블에 쿼리를 만들어 화물 비용이 평균보다 높은 모든 제품과 화물 비용의 표준 편차를 표시할 수 있습니다. Freight 필드 아래의 Criteria 행에는 다음 식이 포함됩니다.
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
쿼리의 계산 필드 식 또는 업데이트 쿼리 의 업데이트 행에서 DStDev 및 DStDevP 함수를 사용할 수 있습니다.
참고: 요약 쿼리 계산 필드 식에서 DStDev 및 DStDevP 함수 또는 StDev 및 StDevP 함수를 사용할 수 있습니다. DStDev 또는 DStDevP 함수를 사용하는 경우 데이터가 그룹화되기 전에 값이 계산됩니다. StDev 또는 StDevP 함수를 사용하는 경우 필드 식의 값이 평가되기 전에 데이터가 그룹화됩니다.
함수가 수행되는 데이터 범위를 제한하는 조건을 지정해야 하는 경우 계산된 컨트롤에서 DStDev 및 DStDevP 함수를 사용합니다. 예를 들어 캘리포니아로 배송할 주문에 대한 표준 편차를 표시하려면 텍스트 상자의 ControlSource 속성을 다음 식으로 설정합니다.
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
도메인 의 모든 레코드에서 표준 편차를 찾으려면 StDev 또는 StDevP 함수를 사용합니다.
팁 expr이 파생되는 필드의 데이터 형식이 숫자인 경우 DStDev 및 DStDevP 함수는 Double 데이터 형식을 반환합니다. 계산된 컨트롤에서 DStDev 또는 DStDevP 함수를 사용하는 경우 성능 향상을 위해 식에 데이터 형식 변환 함수를 포함합니다.
참고: 이러한 함수를 사용할 때 는 도메인 의 레코드에 저장되지 않은 변경 내용이 포함되지 않습니다. DStDev 또는 DStDevP 함수가 변경된 값을 기반으로 하려면 먼저 데이터 탭의 레코드 아래에서 레코드 저장을 클릭하거나 포커스를 다른 레코드로 이동하거나 Update 메서드를 사용하여 변경 내용을 저장해야 합니다.
쿼리 예제
Expression |
결과 |
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"); |
"unitprice"가 140보다 크고 Expr1에 결과를 표시하는 테이블 "ProductSales"에서 "UnitPrice"의 표준 편차를 계산합니다(예제로 제공된 데이터 고려). 또한 "unitprice"가 140보다 작은 "UnitPrice"(지정된 데이터를 전체 모집단으로 고려)의 표준 편차를 계산하고 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"); |
"unitprice"가 140보다 큰 테이블 "ProductSales"에서 "UnitPrice"의 표준 편차를 계산하고 DstDev에 결과를 표시합니다. 또한 "unitprice"가 140보다 작은 "UnitPrice"의 표준 편차(지정된 데이터를 전체 모집단으로 고려)를 계산하고 DstDevP에 결과를 표시합니다. |
VBA 예제
참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
다음 예제에서는 영국으로 배송되는 주문에 대한 모집단 및 모집단 샘플에 대한 표준 편차의 추정치를 반환합니다. 도메인은 Orders 테이블입니다. criteria 인수는 결과 레코드 집합을 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'")
다음 예제에서는 criteria 인수에서 변수 strCountryRegion를 사용하여 동일한 추정치를 계산합니다. 문자열 식에 작은따옴표(')가 포함되므로 문자열이 연결되면 문자열 리터럴 UK 작은따옴표로 묶습니다.
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 & "'")