집합 분석 및 집합 표현식

집합 분석은 현재 선택에 의해 정의된 일반 집합과 다른 데이터 값의 집합(또는 그룹)을 정의할 수 있는 방법을 제공합니다.

일반적으로 사용자가 선택을 하면 Sum, Max, Min, Avg, Count와 같은 집계 함수는 사용자가 지정한 선택 내용(현재 선택 내용)에 대해 집계를 수행합니다. 사용자의 선택 내용에 따라 집계할 데이터 셋이 자동으로 정의됩니다. 집합 분석을 사용하여 현재 선택 내용과 독립적인 그룹을 정의할 수 있습니다. 이는 예를 들어 현재 선택 내용과 무관하게 전체 지역에 걸친 제품의 시장 점유율과 같은 특정 값을 보여주고자 할 때 유용할 수 있습니다.

집합 분석은 또한 가장 잘 팔리는 제품과 가장 안 팔리는 제품 또는 올해와 지난 해의 판매량 등 다양한 종류의 비교를 할 때에도 유용합니다.

목록 상자에서 2010년을 선택하여 문서에서 작업을 시작하는 예를 가정하겠습니다. 그러면 해당 선택 내용을 기준으로 집계가 수행되며, 차트에는 해당 연도의 값만이 표시됩니다. 새로운 선택을 하면 차트가 그에 따라 업데이트됩니다. 현재 선택에 의해 정의된 사용 가능한 레코드의 집합에 대해 집계가 이루어집니다. 집합 분석을 사용하면 선택 내용과 무관하게 관심이 있는 집합을 정의할 수 있습니다.

집합 표현식 작성

집합 분석 사례의 다양한 측면을 살펴보기 전에, 집합 표현식과 집합 분석을 구분해야 할 필요가 있습니다.

필드 값 집합을 정의하는 것을 집합 표현식을 정의한다고 하고, 집합 표현식을 사용하여 데이터를 분석하는 것을 집합 분석이라고 합니다. 결론적으로, 이 섹션의 나머지 부분에서는 집합 표현식과 그 구성 요소에 대해 중점적으로 다룹니다.

다음은 집합 분석의 예입니다. sum( {$<Year={2009}>} Sales ), 여기서 {$<Year={2009}>}는 집합 표현식입니다.

집합 표현식에는 다음과 같은 두 가지 일반적인 구문 규칙이 있습니다.

  • 집합 표현식은 집계 함수에서 사용해야 합니다. 이 예에서 집계 함수는 sum(Sales)입니다.
  • 집합 표현식은 괄호, {}로 둘러싸여야 합니다. 이 예에서 집합 표현식은 다음 부분입니다. {$<Year={2009}>}.

집합 표현식은 다음 부분의 조합으로 구성됩니다.

  • Identifiers. 집합 표현식 사이의 관계와 표현식의 나머지 부분에서 평가되는 항목을 정의하는 하나 이상의 식별자입니다. 단순한 집합 표현식은 현재 선택 내용에 포함된 모든 레코드를 의미하는 달러 기호, {$} 등과 같은 하나의 식별자로 구성됩니다.
  • Operators. 식별자가 두 개 이상일 경우, 예를 들어 식별자로 표현되는 데이터 셋을 어떻게 조합하여 하위 집합 또는 상위 집합을 만들 것인지 지정함으로써 데이터 셋을 정제하는 데 연산자가 사용됩니다.
  • Modifiers. 집합 표현식에 수정자를 추가하여 선택 내용을 변경할 수 있습니다. 수정자는 단독으로 또는 식별자를 수정하여 데이터 셋을 필터링하는 데 사용할 수 있습니다.

​예:  

예 1:  

{$<Year={2009}>}

이 집합 표현식에는 식별자 $와 수정자 <Year={2009>}가 포함되어 있습니다. 이 예에는 연산자가 포함되어 있지 않습니다. 집합 표현식은 다음과 같이 해석됩니다. "현재 선택 내용 중에서 2009년에 속하는 모든 레코드".

예 2:  

Sum({$<Year={2009}>+1<Country={"Sweden"}>} Sales)

이 집합 표현식에는 식별자 $1, 연산자 +, 수정자 <Year={2009}><Country={'Sweden'}>이 포함되어 있습니다.

이 집합 표현식은 현재 선택과 연결된 2009년의 판매량 합계를 구하고 국가 Sweden 과 연결된 수년 동안의 전체 데이터 집합을 추가합니다.

참고: 집합 표현식은 차트 표현식에만 사용할 수 있으며 스크립트 표현식에는 사용할 수 없습니다.

식별자, 연산자, 수정자는 다음 하위 섹션에서 더 자세하게 설명됩니다.

식별자

식별자는 집합 표현식과 필드 값 또는 평가하는 표현식 사이의 관계를 정의합니다.

현재 예 sum( {$<Year={2009}>} Sales )에서 식별자는 달러 기호, $이며 평가될 레코드 집합이 현재 선택 내용의 모든 레코드로 구성됨을 의미합니다. 그 다음 이 집합은 집합 표현식의 수정자 부분에 의해 추가로 필터링됩니다. 더 복잡한 집합 표현식의 경우 연산자를 사용하여 두 식별자를 조합할 수 있습니다.

아래 표에 일부 자주 사용되는 식별자가 나와 있습니다.

식별자 설명
1 선택 내용과 관계없이 응용 프로그램에 있는 모든 레코드의 전체 집합을 나타냅니다.
$ 현재 선택의 레코드를 나타냅니다. 따라서 집합 표현식 {$}는 집합 표현식을 지정하지 않는 것과 동일합니다.
$1 이전 선택 내용을 나타냅니다. $2는 하나를 제외한 이전 선택 내용을 나타냅니다.
$_1 다음(이후) 선택 내용을 나타냅니다. $_2는 하나를 제외한 다음 선택 내용을 나타냅니다.
BM01 북마크 ID 또는 북마크 이름을 사용할 수 있습니다.
MyAltState 상태 이름을 사용하면 대체 상태에서 선택한 내용을 참조할 수 있습니다.

아래 표에 다양한 식별자를 사용하는 일부 예가 나와 있습니다.

결과
sum ({1} Sales) 선택 내용은 무시하되 차원은 무시하지 않고 문서에 해당하는 총 판매량을 반환합니다.

sum ({$} Sales)

현재 선택의 판매량을 반환하며, sum(Sales)과 동일합니다.

sum ({$1} Sales)

이전 선택에 해당하는 판매량을 반환합니다.

sum ({BM01} Sales)

BM01이란 이름의 북마크에 해당하는 판매량을 반환합니다.

연산자

연산자는 데이터 셋 일부 또는 전체를 포함, 제외 또는 교차시키는 데 사용합니다. 모든 연산자는 집합을 피연산자로 사용하며 집합을 결과로 반환합니다.

아래 표에 집합 표현식에 사용할 수 있는 연산자가 나와 있습니다.

연산자 설명
+ 합집합. 이 2항 연산은 두 집합 피연산자 중 하나에라도 속하는 레코드로 구성된 집합을 반환합니다.
- 차집합. 이 2항 연산은 두 집합 피연산자 중 첫 번째 집합에는 속하지만 다른 집합에는 속하지 않는 레코드로 구성된 집합을 반환합니다. 또한 단항 연산자로 사용된 경우 차집합을 반환합니다.
* 교집합. 이 2항 연산은 두 집합 피연산자 모두에 속하는 레코드로 구성된 집합을 반환합니다.
/ 대칭차(XOR). 이 2항 연산은 두 집합 피연산자 중 한 집합에만 속하는 레코드로 구성된 집합을 반환합니다.

아래 표에 연산자를 사용하는 일부 예가 나와 있습니다.

결과
sum( {1-$} Sales ) 선택을 통해 제외된 모든 항목의 판매량을 반환합니다.
sum( {$*BM01} Sales ) 선택과 북마크 BM01 사이의 교집합의 판매량을 반환합니다.
sum( {-($+BM01)} Sales )

선택과 북마크 BM01에 의해 제외된 판매량을 반환합니다.

Sum({$<Year={2009}>+1<Country={"Sweden"}>} Sales) 현재 선택과 연결된 2009년의 판매량을 반환하고 국가 Sweden 과 연결된 수년 동안의 전체 데이터 집합을 추가합니다.

수정자

수정자는 선택 내용을 추가 또는 변경하는 데 사용합니다. 이러한 수정은 집합 표현식으로 작성할 수 있습니다. 수정자는 하나 또는 여러 필드 이름으로 구성되며, 각각에 필드 내에서 실행할 수 있는 하나 또는 몇 가지 선택 내용이 이어집니다. 수정자는 꺾쇠 괄호, <>로 시작되고 끝납니다.

집합 수정자는 이전 집합 식별자의 선택 내용을 수정합니다. 집합 식별자를 참조하지 않는 경우 현재 선택 상태는 암시적입니다.

아래 표에 수정자를 사용하는 일부 예가 나와 있습니다.

결과
sum({$<OrderDate = DeliveryDate>} Sales) OrderDate = DeliveryDate일 때 현재 선택의 판매량을 반환합니다.

sum({1<Region = {US}>} Sales)

현재 선택 내용을 무시하고 미국 지역의 판매량을 반환합니다.

sum({$<Region = >} Sales)

Region의 선택을 제거하고 선택의 판매량을 반환합니다.

sum({<Region = >} Sales)

위 예와 동일한 내용을 반환합니다. 수정할 집합이 생략된 경우 상속된 상태로 간주됩니다.

sum({$<Year={2000}, Region={“U*”}>} Sales) YearRegion 모두에 새로운 선택 내용을 적용하여 현재 선택의 판매량을 반환합니다.

참조: 집합 수정자 수정자에 대한 자세한 설명과 더 복잡한 집합 분석에서 사용하는 방법.