집계된 부분합 데이터 요청
총합 및 부분합 API를 사용하면 행렬 데이터 뷰가 있는 사용자 지정 시각적 개체가 Power BI 호스트에서 집계된 부분합 데이터를 요청할 수 있습니다. 부분합은 전체 행렬 의미 체계 모델에 대해 계산되거나 행렬 데이터 계층 구조의 개별 수준에 대해 지정됩니다. Power BI 시각적 개체의 Total 및 Subtotal API 예제는 샘플 보고서를 참조하세요.
참고 항목
부분합 데이터 요청은 버전 2.6.0 이상에서 지원됩니다. rowSubtotalType
속성은 버전 5.1.0 이상에서 사용할 수 있습니다. 사용 중인 버전을 확인하려면 pbiviz.json 파일에서 apiVersion
을 확인합니다.
시각적 개체는 데이터를 새로 고칠 때마다 Power BI 백 엔드에 데이터 가져오기 요청을 발행합니다. 이러한 데이터 요청은 일반적으로 사용자가 시각적 개체의 필드 웰로 끌어온 필드 값에 대한 것입니다. 경우에 따라 시각적 개체에는 이러한 필드 웰에 적용된 다른 집계 또는 부분합(예: 합계, 개수) 필요합니다. Total 및 Subtotal API를 사용하면 나가는 데이터 쿼리를 사용자 지정하여 더 많은 집계 또는 부분합 데이터를 요청할 수 있습니다.
부분합 API
API는 각 데이터 뷰 형식에 대해 다음과 같은 사용자 지정 스위치를 제공합니다(현재는 행렬 데이터 뷰만 해당).
rowSubtotals
: (부울) 행 필드 웰에 있는 모든 필드에 대해 부분합 데이터를 요청해야 하는지 여부를 나타냅니다.rowSubtotalsPerLevel
: (부울) 행의 필드 웰에 있는 개별 필드에 대해 부분합 데이터를 전환할 수 있는지를 나타냅니다.columnSubtotals
: (부울) 행 필드 웰에 있는 모든 필드에 대해 부분합 데이터를 요청해야 하는지 여부를 나타냅니다.columnSubtotalsPerLevel
: (부울) 행의 필드 웰에 있는 개별 필드에 대해 부분합 데이터를 전환할 수 있는지를 나타냅니다.levelSubtotalEnabled
: (부울) 이 속성은 행 또는 열에 대해 부분합이 요청되었는지를 나타냅니다. 다른 모든 속성과 달리 이 속성은 개별 행 또는 열에 적용됩니다.rowSubtotalsType
: ("Top" 또는 "Bottom") 전체 데이터가 있는 행을 나머지 데이터 이전(top
) 또는 이후(bottom
) 검색해야 하는지 여부를 나타냅니다. 이 속성이bottom
으로 설정된 경우 모든 데이터를 가져온 후에만 합계를 표시할 수 있습니다. 기본값은bottom
입니다.
앞서 나열한 각 스위치에서는 속성 창의 관련 속성 및 기본값에 따라 값이 할당됩니다.
부분합 API를 사용하는 방법
시각적 개체의 capabilities.json 파일은 다음을 수행해야 합니다.
- 위의 각 스위치가 매핑되는 속성을 지정합니다.
- 속성이 정의되지 않은 경우 사용할 기본값을 제공합니다.
스위치는 다음 예제와 같은 형식을 사용합니다.
"rowSubtotals": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "rowSubtotals"
},
"defaultValue": true
},
앞의 코드는 행 부분합이 subTotals
개체의 rowSubtotals
속성에 의해 사용됨을 보여줍니다. 속성의 기본값은 true
입니다.
부분합 구조와 모든 스위치 매핑이 capabilities.json 파일에 정의될 때마다 시각적 개체에 대해 API가 자동으로 활성화됩니다.
다음 코드는 capabilities.json 파일의 전체 API 구성 예입니다(API 샘플 시각적 개체에서 복사됨).
"subtotals": {
"matrix": {
"rowSubtotals": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "rowSubtotals"
},
"defaultValue": true
},
"rowSubtotalsPerLevel": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "perRowLevel"
},
"defaultValue": false
},
"columnSubtotals": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "columnSubtotals"
},
"defaultValue": true
},
"columnSubtotalsPerLevel": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "perColumnLevel"
},
"defaultValue": false
},
"levelSubtotalEnabled": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "levelSubtotalEnabled"
},
"defaultValue": true
},
"rowSubtotalsType": {
"propertyIdentifier": {
"objectName": "subtotals",
"propertyName": "rowSubtotalsType"
},
"defaultValue": "Bottom"
}
}
}
시각적 개체의 enumerateProperties()
함수는 capabilities.json 파일에 지정된 기본값과 일치해야 합니다. 사용자 지정 논리는 지정된 기본값에 따라 작동합니다. enumerateProperties()
함수와 기본값이 정렬되지 않으면 실제 부분합 사용자 지정이 사용자 예상과 다를 수 있습니다.
enum RowSubtotalType {
Top = "Top",
Bottom = "Bottom",
}
사용 가능한 사용자 지정을 검토하려면 서식 속성 창에서 부분합 드롭다운 메뉴를 확장합니다. 부분합 설정을 수정하고 시각화 창에서 부분합 프레젠테이션(Totals)의 변경 내용을 추적합니다.
고려 사항 및 제한 사항
rowSubtotalsType
속성은 행에만 사용할 수 있습니다. 열 부분합을 열의 시작 부분으로 설정할 수 없습니다.확장 및 축소 기능은
rowSubtotals
를 재정의합니다. 부분합은rowSubtotals
가 false로 설정된 경우에도 행이 확장될 때 표시됩니다.