VALUES 함수
지정한 테이블 또는 열의 고유 값을 포함하고 있는 열이 하나인 테이블을 반환합니다. 즉, 중복된 값이 제거되고 고유 값만 반환됩니다.
[!참고]
이 함수는 워크시트의 셀 또는 열에 값을 반환하는 데 사용할 수 없습니다. 대신 수식에 중첩된 중간 함수로 사용하여 셀 수 있거나 다른 값을 필터링 또는 합계하는 데 사용되는 고유 값의 목록을 얻을 수 있습니다.
구문
VALUES(<TableNameOrColumnName>)
매개 변수
용어 |
정의 |
---|---|
테이블 또는 열 |
반환할 고유 값이 들어 있는 열입니다. |
반환 값
고유 값 열
주의
VALUES 함수를 피벗 테이블에서와 같이 필터링된 컨텍스트에 사용하는 경우 VALUES에서 반환한 고유 값은 필터의 영향을 받습니다. 예를 들어 Region으로 필터링하는 경우 City에 대한 값 목록을 반환하며 이 목록에는 필터에서 허용하는 지역의 해당 도시만 포함됩니다. 기존 필터와 관계없이 도시를 모두 반환하려면 ALL 함수를 사용하여 테이블의 필터를 제거해야 합니다. 두 번째 예제는 VALUES와 함께 ALL 함수를 사용하는 방법을 보여 줍니다.
관련 함수
대부분의 시나리오에서 VALUES 함수의 결과는 DISTINCT 함수의 결과와 동일합니다. 두 함수 모두 중복값을 제거하고 지정한 열의 가능한 값 목록을 반환합니다. 하지만 VALUES 함수는 알 수 없는 멤버도 반환할 수 있습니다. 이 알 수 없는 값은 관련 테이블에서 고유 값을 조회하는 경우 유용하지만 관계에 사용된 값은 한 테이블에서 누락됩니다. 데이터베이스 용어에서 이를 참조 무결성 위반이라고 합니다. 이와 같은 데이터의 불일치는 한 테이블이 업데이트되고 있고 관련 테이블이 업데이트되지 않는 경우 쉽게 발생할 수 있습니다.
다음 테이블은 참조 무결성이 보존되지 않는 경우 두 개의 관련 테이블에서 발생할 수 있는 데이터 간 불일치에 대해 간략히 설명합니다.
MyOrders 테이블 |
MySales 테이블 |
---|---|
June 1 |
June 1 sales |
June 2 |
June 2 sales |
(주문 날짜를 입력하지 않은 경우) |
June 3 sales |
DISTINCT 함수를 사용하여 이러한 테이블이 포함되어 있는 피벗 테이블의 날짜 목록을 반환하려는 경우 두 개의 날짜만 반환됩니다. 하지만 VALUES 함수를 사용하면 이 함수에서 두 날짜와 추가 공백 멤버를 반환합니다. 또한 MyOrders 테이블에 일치하는 날짜가 없는 MySales 테이블의 행은 이 알 수 없는 멤버와 "일치하게" 됩니다.
예
다음 수식은 고유한 송장(판매 주문)의 수를 계산하며 제품 범주 이름이 포함된 보고서에서 사용할 경우 다음과 같은 결과를 생성합니다.
행 레이블 |
Count Invoices |
---|---|
Accessories |
18,208 |
Bikes |
15,205 |
Clothing |
7,461 |
총합계 |
27,659 |
=COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))