CALCULATETABLE
수정된 filter 컨텍스트에서 테이블 식을 평가합니다.
메모
CALCULATE 함수도 있습니다. 스칼라 value반환하는 식에 적용된 filter 컨텍스트 수정할 except 정확히 동일한 기능을 수행합니다.
통사론
CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])
매개 변수
학기 | 정의 |
---|---|
expression |
평가할 테이블 식입니다. |
filter1, filter2,… |
(선택 사항) 부울 식은 filters, orfilter 한정자 함수를 정의하는 테이블 식을 or. |
first 매개 변수로 사용되는 식은 테이블을 반환하는 함수를 or 모델 테이블이어야 합니다.
Filters 수 있습니다.
- 부울 filter 식
- 테이블 filter 식
- 수정 함수 Filter
여러 filters있는 경우 AND논리 연산자사용하여 평가됩니다. 즉, all 조건은 동일한 timeTRUE
합니다.
부울 filter 식
부울 식 filterTRUE
orFALSE
계산되는 식입니다. 준수해야 하는 몇 가지 규칙이 있습니다.
- 단일 열만 참조할 수 있습니다.
- 측정값을 참조할 수 없습니다.
- 중첩된 CALCULATE 함수를 사용할 수 없습니다.
Power BI Desktop의 2021년 9월 릴리스부터 다음이 적용됩니다.
- 집계 함수에 인수로 전달되지 않는 한 테이블을 반환할 or 검사하는 함수를 사용할 수 없습니다.
- 스칼라 value반환하는 집계 함수를 포함할 수 있습니다.
테이블 filter 식
테이블 식 filter 테이블 개체를 filter적용합니다. 모델 테이블에 대한 참조일 수 있지만 테이블 개체를 반환하는 함수일 가능성이 높습니다. FILTER 함수를 사용하여 부울 filter 식으로 정의할 수 없는 조건을 포함하여 복잡한 filter 조건을 적용할 수 있습니다.
Filter 한정자 함수
Filter 한정자 함수를 사용하면 단순히 filters추가하는 것 이상을 수행할 수 있습니다. filter 컨텍스트를 수정할 때 추가 제어를 제공합니다.
기능 | 목적 |
---|---|
REMOVEFILTERS | 단일 테이블의 all 열에서 or 테이블의 or 더 많은 열에서 allfilters, orfilters 제거합니다. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | 단일 테이블의 all 열에서 or 한 or 더 많은 열에서 filters 제거합니다. |
KEEPFILTERS | 동일한 열에서 기존 filters 제거하지 않고 filter 추가합니다. |
USERELATIONSHIP | related 열 간에 비활성 관계를 적용하면 활성 관계가 자동으로 비활성 상태가 됩니다. |
CROSSFILTER | 관계를 사용하지 않도록 설정할 orfilter 방향(둘 다에서 단일 방향, or 둘 다에서 둘 다로)을 수정합니다. |
1 해당 변형을 andALL 함수는 두 filter 한정자가 모두 테이블 개체를 반환하는 함수로 and 동작합니다. 도구에서 REMOVEFILTERS 함수를 지원하는 Iffilters제거하는 데 사용하는 것이 좋습니다.
반환 value
values테이블입니다.
발언
filter 식이 제공되면 CALCULATETABLE 함수는 filter 컨텍스트를 수정하여 식을 evaluate. 각 filter 식에 대해 filter 식이 KEEPFILTERS 함수에 래핑될 not 두 가지 가능한 표준 결과가 있습니다.
- 열(or 테이블)이 filter 컨텍스트에 없는 Iffilter 컨텍스트에 새 filters 추가하여 식을 evaluate.
- 열(or 테이블)이 이미 filter 컨텍스트에 IfCALCULATETABLE 식을 evaluate 새 filters 기존 filters 덮어씁니다.
이 함수는 not RLS(행 수준 보안) 규칙에 or 계산 열에서 사용되는 경우 DirectQuery 모드에서 사용할 수 있습니다.
본보기
다음 예제에서는 CALCULATETABLE 함수를 사용하여 2006년 인터넷 판매 sum 가져옵니다. 이 value 나중에 year 2006의 all 판매와 비교하여 인터넷 판매 비율을 calculate 데 사용됩니다.
다음 수식은 다음과 같습니다.
= SUMX(
CALCULATETABLE(
'InternetSales_USD',
'DateTime'[CalendarYear] = 2006
),
[SalesAmount_USD]
)
그러면 다음 표가 표시됩니다.
행 레이블 | 인터넷 SalesAmount_USD | CalculateTable 2006 인터넷 판매 | Internet Sales to 2006 ratio |
---|---|---|---|
2005 | $2,627,031.40 | $5,681,440.58 | 0.46 |
2006 | $5,681,440.58 | $5,681,440.58 | 1.00 |
2007 | $8,705,066.67 | $5,681,440.58 | 1.53 |
2008 | $9,041,288.80 | $5,681,440.58 | 1.59 |
총합계 | $26,054,827.45 | $5,681,440.58 | 4.59 |