Solicitar dados de subtotais agregados
O da API Total e Subtotal do
Observação
A solicitação de dados de subtotal é suportada na versão 2.6.0 e posterior. A propriedade rowSubtotalType
está disponível na versão 5.1.0 e posterior. Para descobrir qual versão você está usando, verifique o apiVersion
no arquivo pbiviz.json.
Sempre que um visual atualiza seus dados, o visual emite uma solicitação de busca de dados para o back-end do Power BI. Essas solicitações de dados geralmente são para valores dos campos que o utilizador arrastou para as áreas de campo do visual. Às vezes, o visual precisa de outras agregações ou subtotais (por exemplo, soma ou contagem) aplicados aos poços de campo. A API Total e Subtotal permite personalizar a consulta de dados de saída para solicitar mais dados de agregação ou subtotal.
A API de subtotais
A API oferece a seguinte personalização para cada tipo de exibição de dados (atualmente, apenas exibições de dados de matriz).
-
rowSubtotals
: (booleano) Indica se os dados do subtotal devem ser solicitados para todos os campos no campo de linhas. -
rowSubtotalsPerLevel
: (booleano) Indica se os dados do subtotal podem ser alternados para campos individuais no campo da linha. -
columnSubtotals
: (booleano) Indica se os dados de subtotal devem ser solicitados para todos os campos na área das colunas. -
columnSubtotalsPerLevel
: (booleano) Indica se os dados de subtotal podem ser alternados para campos individuais no espaço dedicado a colunas. -
levelSubtotalEnabled
: (booleano) Indica se os subtotais são solicitados para a linha ou coluna. Ao contrário de todas as outras propriedades, esta propriedade é aplicada a linhas ou colunas individuais. -
rowSubtotalsType
: ("Superior" ou "Inferior") Indica se a linha com os dados totais deve ser obtida antes (top
) ou depois (bottom
) do resto dos dados. Se essa propriedade estiver definida comobottom
, o total só poderá ser exibido depois que todos os dados tiverem sido buscados. O padrão ébottom
.
A cada uma dessas opções é atribuído um valor com base nas propriedades relacionadas no painel de propriedades e nos padrões.
Como usar a API subtotal
O arquivo de capabilities.json do visual deve:
- Especifique a propriedade a que cada interruptor mapeia.
- Forneça o valor padrão a ser usado se a propriedade for indefinida.
Os interruptores usam um formato como o exemplo seguinte:
"rowSubtotals": {
"propertyIdentifier": {
"objectName": "subTotals",
"propertyName": "rowSubtotals"
},
"defaultValue": true
},
O código anterior indica que os subtotais de linha são habilitados pela propriedade rowSubtotals
no objeto subTotals
. A propriedade tem um valor predefinido de true
.
A API é habilitada automaticamente para uma visualização sempre que a estrutura dos subtotais e todos os mapeamentos de comutador são definidos no arquivo capabilities.json.
O código a seguir é um exemplo da configuração completa da API no arquivo capabilities.json (copiado do visual de exemplo da 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"
}
}
}
É importante que a função enumerateProperties()
do visual esteja alinhada com os padrões especificados no arquivo capabilities.json. A lógica de personalização opera de acordo com os padrões especificados. Se a função enumerateProperties()
e os padrões não estiverem alinhados, as personalizações reais do subtotal podem diferir das expectativas do usuário.
enum RowSubtotalType {
Top = "Top",
Bottom = "Bottom",
}
Para revisar as personalizações disponíveis, expanda o menu suspenso
Considerações e limitações
A propriedade
rowSubtotalsType
só está disponível para linhas. Não é possível definir subtotais de coluna para o início de uma coluna.O expandir e recolher recurso substitui
rowSubtotals
. Os subtotais são exibidos quando as linhas são expandidas, mesmo querowSubtotals
esteja definido como falso.
Conteúdo relacionado
Adicionar interatividade ao visual usando seleções visuais do Power BI