ALLNOBLANKROW
관계의 부모 테이블에서 빈 행을 제외한 모든 행 또는 빈 행을 제외한 열의 모든 고유 값을 반환하고 존재할 수 있는 컨텍스트 필터를 무시합니다.
통사론
ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )
매개 변수
학기 | 정의 |
---|---|
table |
모든 컨텍스트 필터가 제거되는 테이블입니다. |
column |
모든 컨텍스트 필터가 제거되는 열입니다. |
매개 변수를 하나만 전달해야 합니다. 매개 변수는 테이블 또는 열입니다.
반환 값
전달된 매개 변수가 테이블이거나 값 열인 경우 전달된 매개 변수가 열인 테이블입니다.
발언
ALLNOBLANKROW 함수는 부모 테이블이 부모 열에 일치하지 않는 값을 가진 자식 테이블에 하나 이상의 행이 있을 때 부모 테이블이 표시하는 빈 행만 필터링합니다. 자세한 설명은 아래 예제를 참조하세요.
다음 표에서는 DAX제공되는
ALL
변형 및 차이점을 요약합니다.함수 및 사용 묘사 ALL(Column)
테이블의 지정된 열에서 모든 필터를 제거합니다. 테이블의 다른 모든 필터는 다른 열보다 계속 적용됩니다. ALL(Table)
지정된 테이블에서 모든 필터를 제거합니다. ALLEXCEPT(Table,Col1,Col2...)
지정한 열을 제외한 테이블의 모든 컨텍스트 필터를 재정의합니다. ALLNOBLANK(table|column)
관계의 부모 테이블에서 빈 행을 제외한 모든 행 또는 빈 행을 제외한 열의 모든 고유 값을 반환하고 존재할 수 있는 컨텍스트 필터를 무시합니다. ALL(테이블) 및 ALL(열)를 사용하는 단계별 예제와 함께 ALL 함수의 작동 방식에 대한 일반적인 설명은 ALL 함수참조하세요.
이 함수는 계산 열 또는 RLS(행 수준 보안) 규칙에서 사용되는 경우 DirectQuery 모드에서 사용할 수 없습니다.
본보기
샘플 데이터에서 ResellerSales_USD 테이블에는 값이 없으므로 통합 문서 내 관계의 부모 테이블과 관련될 수 없는 행이 하나 포함되어 있습니다. 빈 행 동작과 관련 없는 데이터에 대한 개수를 처리하는 방법을 볼 수 있도록 피벗 테이블에서 이 테이블을 사용합니다.
1단계: 관련 없는 데이터 확인
파워 피벗 창연 다음 ResellerSales_USD 테이블을 선택합니다. ProductKey 열에서 빈 값을 필터링합니다. 한 행이 남아 있습니다. 해당 행에서 SalesOrderLineNumber를 제외한 모든 열 값은 비어 있어야 합니다.
2단계: 피벗 테이블 만들기
새 피벗 테이블을 만든 다음 날짜/시간 열을 끕니다. [Calendar Year], 행 레이블 창 다음 표에서는 예상 결과를 보여줍니다.
행 레이블 |
---|
2005 |
2006 |
2007 |
2008 |
총합계 |
2008 및 총합계사이의 빈 레이블을 확인합니다. 이 빈 레이블은 부모 테이블에 일치하는 값이 없는 자식 테이블의 값을 설명하기 위해 만들어진 특수 그룹인 알 수 없는 멤버를 나타냅니다. 이 예제에서는 datetime입니다. [Calendar Year] 열입니다.
피벗 테이블에 이 빈 레이블이 표시되면 날짜/시간 열과 관련된 일부 테이블에서 알 수 있습니다. [Calendar Year]에는 빈 값 또는 일치하지 않는 값이 있습니다. 부모 테이블은 빈 레이블을 표시하는 테이블이지만 일치하지 않는 행은 하나 이상의 자식 테이블에 있습니다.
이 빈 레이블 그룹에 추가되는 행은 부모 테이블의 값과 일치하지 않는 값(예: datetime 테이블에 없는 날짜) 또는 null 값으로, 날짜 값이 전혀 없음을 의미합니다. 이 예제에서는 자식 판매 테이블의 모든 열에 빈 값을 배치했습니다. 자식 테이블보다 부모 테이블에 값이 더 많으면 문제가 발생하지 않습니다.
3단계: ALL 및 ALLNOBLANK를 사용하여 행 개수 계산
datetime 테이블에 다음 두 측정값을 추가하여 테이블 행 수를 계산합니다. Countrows ALLNOBLANK of datetime, Countrows ALL datetime. 이러한 측정값을 정의하는 데 사용할 수 있는 수식은 다음과 같습니다.
// Countrows ALLNOBLANK of datetime
= COUNTROWS(ALLNOBLANKROW('DateTime'))
// Countrows ALL of datetime
= COUNTROWS(ALL('DateTime'))
// Countrows ALLNOBLANKROW of ResellerSales_USD
= COUNTROWS(ALLNOBLANKROW('ResellerSales_USD'))
// Countrows ALL of ResellerSales_USD
= COUNTROWS(ALL('ResellerSales_USD'))
빈 피벗 테이블에서 날짜/시간을 추가합니다. [Calendar Year] 열을 행 레이블에 추가한 다음 새로 만든 측정값을 추가합니다. 결과는 다음 표와 같습니다.
행 레이블 | datetime의 Countrows ALLNOBLANK | datetime의 countrows ALL |
---|---|---|
2005 | 1280 | 1281 |
2006 | 1280 | 1281 |
2007 | 1280 | 1281 |
2008 | 1280 | 1281 |
1280 | 1281 | |
총합계 | 1280 | 1281 |
결과는 테이블 행 수에서 1행의 차이를 보여 줍니다. 그러나 파워 피벗 창 열고 날짜/시간 테이블을 선택하면 여기에 언급된 특수한 빈 행이 알 수 없는 멤버이므로 테이블에서 빈 행을 찾을 수 없습니다.
4단계: 개수가 정확한지 확인
ALLNOBLANKROW 실제로 빈 행을 계산하지 않고 부모 테이블의 특수한 빈 행만 처리한다는 것을 증명하기 위해 ResellerSales_USD 테이블에 Countrows ALLNOBLANKROW ResellerSales_USD, Countrows ALL ResellerSales_USD등 두 가지 측정값을 ResellerSales_USD 테이블에 추가합니다.
새 피벗 테이블을 만들고 날짜/시간 열을 끕니다. [Calendar Year], 행 레이블 창 이제 방금 만든 측정값을 추가합니다. 결과는 다음과 같습니다.
행 레이블 | ResellerSales_USD 카운트로 ALLNOBLANKROW | ResellerSales_USD 카운트로 ALL |
---|---|---|
2005 | 60856 | 60856 |
2006 | 60856 | 60856 |
2007 | 60856 | 60856 |
2008 | 60856 | 60856 |
60856 | 60856 | |
총합계 | 60856 | 60856 |
이제 두 측정값의 결과가 동일합니다. ALLNOBLANKROW 함수는 테이블에서 실제로 빈 행을 계산하지 않고, 관계의 하나 이상의 자식 테이블에 일치하지 않는 값이나 빈 값이 포함된 경우 부모 테이블에서 생성된 특수한 경우인 빈 행만 처리하기 때문입니다.