DAvg 함수를 사용하여 지정된 레코드 집합(도메인)에 있는 값 집합의 평균을 계산할 수 있습니다. VBA(Visual Basic for Applications) 모듈, 매크로, 쿼리 식 또는 계산된 컨트롤에서 DAvg 함수를 사용합니다.
예를 들어 운송료에 대한 선택 쿼리의 조건 행에 DAvg 함수를 사용하여 운송료가 평균을 초과하는 레코드로 결과를 제한할 수 있습니다. 또는 계산된 컨트롤에 DAvg 함수를 포함하는 식을 사용하고 이전 주문의 평균값을 새 주문 값 옆에 표시할 수 있습니다.
구문
DAvg(expr, domain [, criteria] )
DAvg 함수 구문에는 다음과 같은 인수가 있습니다.
| 인수 | 설명 |
|---|---|
| expr | 필수 요소입니다. 평균을 구할 숫자 데이터가 들어 있는 필드를 식별하는 식입니다. 테이블 또는 쿼리의 필드를 식별하는 문자열 식이거나 해당 필드의 데이터에 대해 계산을 수행하는 식일 수 있습니다. expr에는 테이블의 필드 이름, 폼의 컨트롤, 상수 또는 함수 이름이 포함될 수 있습니다. expr에 함수가 포함된 경우 기본 제공되거나 사용자 정의될 수 있지만 다른 도메인 집계 또는 SQL 집계 함수는 사용할 수 없습니다. |
| domain | 필수 요소입니다. 도메인을 구성하는 레코드 집합을 식별하는 문자열 식입니다. 테이블 이름이거나 매개 변수가 필요하지 않은 쿼리의 쿼리 이름일 수 있습니다. |
| criteria | 선택 요소입니다. DAvg 함수가 수행되는 데이터 범위를 제한하는 데 사용되는 문자열 식입니다. 예를 들어 criteria 는 단어 WHERE가 없는 SQL 식의 WHERE 절과 동일한 경우가 많습니다. criteria를 생략하면 DAvg 함수는 전체 도메인에 대해 expr을 평가합니다. 조건에 포함된 필드는 도메인의 필드이기도 합니다. 그렇지 않으면 DAvg 함수가 Null을 반환합니다. |
주의
Null 값을 포함하는 레코드는 평균 계산에 포함되지 않습니다.
매크로나 모듈, 쿼리 식 또는 계산된 컨트롤에서 DAvg 함수를 사용하는 경우 criteria 인수가 올바르게 계산될 수 있도록 신중하게 criteria 인수를 구성해야 합니다.
DAvg 함수를 사용하여 쿼리의 조건 행에 조건을 지정할 수 있습니다. 예를 들어 평균 주문량보다 많은 수량으로 주문된 모든 제품의 목록을 보려고 한다고 가정해 보겠습니다. 주문, 주문 세부 정보 및 제품 테이블에 대한 쿼리를 만들고 제품 이름 필드와 수량 필드를 포함할 수 있습니다. 그다음 식을 사용하여 수량 필드 아래 조건 행에 다음 식을 사용합니다.
>DAvg("[Quantity]", "Orders")
또한 DAvg 함수는 쿼리의 계산된 필드 식 내에서 또는 업데이트 쿼리의 업데이트 대상 행에서 사용할 수 있습니다.
참고
요약 쿼리의 계산된 필드 식에서 DAvg 또는 Avg 함수를 사용할 수 있습니다. DAvg 함수를 사용하는 경우 데이터를 그룹화하기 전에 값의 평균이 구해집니다. Avg 함수를 사용하는 경우 필드 식의 값의 평균을 계산하기 전에 데이터가 그룹화됩니다.
DAvg 함수가 수행되는 데이터 범위를 제한하는 조건을 지정해야 하는 경우 계산된 컨트롤에서 DAvg 함수를 사용합니다. 예를 들어 캘리포니아로 발송되는 화물의 평균 운송료를 표시하려면 텍스트 상자의 ControlSource 속성을 다음 식으로 설정합니다.
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
도메인의 모든 레코드를 평균화하려면 Avg 함수를 사용합니다.
표시해야 하는 필드가 폼의 기반이 되는 레코드 원본에 없는 경우 모듈이나 매크로 또는 폼의 계산된 컨트롤에서 DAvg 함수를 사용할 수 있습니다. 예를 들어 주문 테이블을 기반으로 하는 폼이 있고 특정 고객이 주문한 품목의 평균 수를 표시하기 위해 주문 세부 정보 테이블의 수량 필드를 포함하려는 경우를 가정해 보겠습니다. DAvg 함수를 사용하여 이 계산을 수행하고 폼에 데이터를 표시할 수 있습니다.
팁
- 계산 컨트롤에서 DAvg 함수를 사용하는 경우 새 레코드로 이동할 때마다 이 컨트롤의 값이 다시 계산되지 않도록 폼 머리글 또는 바닥글에 컨트롤을 배치할 수 있습니다.
- expr이 파생된 필드의 데이터 형식이 숫자이면 DAvg 함수는 Double 데이터 형식을 반환합니다. 계산된 컨트롤에서 DAvg 함수를 사용하는 경우 식에 데이터 형식 변환 함수를 포함하여 성능을 개선합니다.
- DAvg 함수를 사용하여 외부 테이블의 필드 값의 평균을 구할 수 있지만 필요한 모든 필드를 포함하는 쿼리를 만든 다음 해당 쿼리를 기반으로 양식이나 보고서를 작성하는 것이 더 효율적일 수 있습니다.
참고
이 함수를 사용할 때 도메인 의 레코드에 대한 저장되지 않은 변경 내용은 포함되지 않습니다. 변경된 값을 기반으로 DAvg 함수를 사용하려면 먼저 데이터 탭의 레코드 아래에 있는 레코드 저장을 클릭하거나, 포커스를 다른 레코드로 옮기거나, Update 메서드를 사용하여 변경 내용을 저장해야 합니다.
예제
참고
VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
다음 함수는 지정된 날짜 또는 그 이후에 운송된 주문의 평균 운송료를 반환합니다. 도메인은 Orders 테이블입니다. criteria 인수는 지정된 국가/지역 및 배송 날짜를 기준으로 결과 레코드 집합을 제한합니다. 조건 인수의 여러 필드를 구분하기 위해 키워드(keyword) AND가 문자열에 포함됩니다. DAvg 함수 계산에 포함된 모든 레코드에는 이러한 두 조건이 모두 포함됩니다.
Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function
함수를 호출하려면 직접 실행 창에서 다음 코드 줄을 사용합니다.
:AvgFreightCost "UK", #1/1/96#