Solicitar dados de subtotais agregados

O da API Total e Subtotal do 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 num visual do Power BI.

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.

Captura de tela do visual com linha e colunas de subtotais realçadas.

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 como bottom, 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 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.

Captura de ecrã do painel Visualizações do Power BI, que mostra os campos de subtotais de Coluna e de Linha.

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 que rowSubtotals esteja definido como falso.

Adicionar interatividade ao visual usando seleções visuais do Power BI