HASONEVALUE 함수(DAX)
columnName에 대한 컨텍스트가 고유 값 하나로만 필터링된 경우 TRUE를 반환합니다. 그렇지 않으면 FALSE입니다.
구문
HASONEVALUE(<columnName>)
매개 변수
- columnName
표준 DAX 구문을 사용하는 기존 열의 이름입니다. 이 매개 변수는 식이 될 수 없습니다.
반환 값
columnName에 대한 컨텍스트가 고유 값 하나로만 필터링된 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
주의
- HASONEVALUE()에 대한 동등한 식은 COUNTROWS(VALUES(<columnName>)) = 1입니다.
예
다음 예에서는 미리 정의된 시나리오에 따라 백분율을 예상하기 위해 컨텍스트가 하나의 값으로 조각화되는지를 확인하는 수식을 만들려고 합니다. 여기에서는 대리점 판매를 2007년 판매와 비교하고 컨텍스트가 각 연도별로 필터링되는지 확인해야 합니다. 또한 비교가 무의미한 경우 BLANK를 반환하도록 합니다.
시나리오를 따라 해보려면 PowerPivot 예제 데이터 스프레드시트에서 모델이 포함된 스프레드시트를 다운로드할 수 있습니다.
다음 식을 사용하여 [ResellerSales compared to 2007]이라는 측정값을 만듭니다.
=IF(HASONEVALUE(DateTime[CalendarYear]),SUM(ResellerSales_USD[SalesAmount_USD])/CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]),DateTime[CalendarYear]=2007),BLANK())
측정값을 만든 후에는 아래 표시된 것처럼 [ResellerSales compared to 2007] 아래에 빈 결과가 표시됩니다.
ResellerSales compared to 2007
결과에서 BLANK 셀이 표시된 이유는 컨텍스트 어디에도 단일 연도 필터가 없기 때문입니다.
DateTime[CalendarYear]를 열 레이블 상자로 끕니다. 테이블이 다음과 같이 표시됩니다.
열 레이블
2005
2006
2007
2008
ResellerSales compared to 2007
24.83 %
74.88 %
100.00 %
50.73 %
ProductCategory[ProductCategoryName]을 행 레이블 상자로 끌면 다음과 같이 표시됩니다.
ResellerSales compared to 2007
열 레이블
행 레이블
2005
2006
2007
2008
Accessories
6.74 %
31.40 %
100.00 %
55.58 %
Bikes
28.69 %
77.92 %
100.00 %
53.46 %
Clothing
3.90 %
55.86 %
100.00 %
44.92 %
Components
11.05 %
65.99 %
100.00 %
38.65 %
총합계
24.83 %
74.88 %
100.00 %
50.73 %
위 테이블에서는 총합계가 열 맨 아래에 표시되었지만 행에 대해서는 표시되지 않은 것을 알 수 있습니다. 그 이유는 행에 대한 총합계 컨텍스트는 2년 이상을 의미하기 때문입니다. 하지만 열의 경우에는 단일 연도를 의미합니다.
DateTime[CalendarYear]를 수평 슬라이서 상자로 끌고 SalesTerritory[SalesTerritoryGroup]을 가로 레이블 상자로 끕니다. 테이블에는 여러 연도에 대한 데이터가 포함되므로 결과 집합은 비어 있어야 합니다. 슬라이서에서 2006를 선택하면 이제 테이블에 다시 데이터가 나타납니다. 다른 연도도 선택하여 결과가 어떻게 변경되는지 확인합니다.
요약하면, HASONEVALUE()를 사용할 경우 columnName에 대해 단일 값 컨텍스트에서 식을 계산 중인지 확인할 수 있습니다.