Solicitar dados agregados do subtotal
A API Total e Subtotal permite que visuais personalizados com uma exibição de dados de matriz solicitem dados de subtotal agregados do host do Power BI. Os subtotais são calculados para todo o modelo semântico da matriz ou especificados para níveis individuais da hierarquia de dados da matriz. Consulte o relatório de exemplo para obter um exemplo da API Total e Subtotal em um visual do Power BI.
Nota
A solicitação de dados de subtotal é suportada na versão 2.6.0 e posterior. A rowSubtotalType
propriedade 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 usuário arrastou para os poços 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 do subtotal devem ser solicitados para todos os campos no campo de colunas.columnSubtotalsPerLevel
: (booleano) Indica se os dados do subtotal podem ser alternados para campos individuais no campo de colunas bem.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 o total de dados deve ser recuperada antes () ou depoisbottom
(top
) do resto dos dados. Se essa propriedade estiver definida comobottom
, o total só poderá ser exibido depois que todos os dados tiverem sido buscados. A predefinição ébottom
.
A cada uma das opções listadas anteriormente é atribuído um valor com base nas propriedades relacionadas no painel de propriedades e nos padrões.
Como usar a API subtotal
O arquivo capabilities.json do visual deve:
- Especifique a propriedade para a qual cada uma das opções acima é mapeada.
- Forneça o valor padrão a ser usado se a propriedade for indefinida.
As opções usam um formato como o exemplo a seguir:
"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 subTotals
objeto. A propriedade tem um valor padrão de true
.
A API é ativada automaticamente para um visual sempre que a estrutura dos subtotais e todos os mapeamentos de switch 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 enumerateProperties()
função 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 enumerateProperties()
função 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 Subtotais no painel de propriedades Formatar. Modifique as configurações de subtotais e controle as alterações na apresentação de subtotais (chamada Totais) no painel Visualizações.
Considerações e limitações
A
rowSubtotalsType
propriedade só está disponível para linhas. Não é possível definir subtotais de coluna para o início de uma coluna.O recurso expandir e recolher substitui o
rowSubtotals
. Os subtotais são exibidos quando as linhas são expandidas, mesmo querowSubtotals
esteja definido como false.
Conteúdos relacionados
Adicionar interatividade ao visual usando seleções visuais do Power BI