Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico discute a classe Open XML SDK PivotTableDefinition e como ela se relaciona com o esquema SpreadsheetML do formato de arquivo Open XML. Para obter mais informações sobre a estrutura geral das partes e elementos que compõem um documento SpreadsheetML, consulte Estrutura de um documento SpreadsheetML.
Tabela Dinâmica em SpreadsheetML
As seguintes informações da especificação ISO/IEC 29500 introduzem o PivotTableDefinition elemento (<pivotTableDefinition/>).
As Tabelas Dinâmicas exibem exibições agregadas de dados com facilidade e em um layout compreensível. Centenas ou milhares de informações subjacentes podem ser agregadas em eixos de linha & coluna, revelando os significados por trás dos dados. Os relatórios de Tabela Dinâmica são usados para organizar e resumir seus dados de diferentes maneiras. Criar um relatório de tabela dinâmica consiste em mover informações para ver como elas se encaixam. Em alguns gestos, as linhas e colunas dinâmicas podem ser movidas para diferentes arranjos e layouts.
Um objeto de Tabela Dinâmica tem uma área de eixo de linha, uma área de eixo de coluna, uma área de valores e uma área de filtro de relatório. Além disso, as Tabelas Dinâmicas têm um painel de lista de campos correspondente exibindo todos os campos de dados que podem ser colocados em uma das áreas da Tabela Dinâmica.
A pasta de trabalho aponta para (e possui a longevidade) da parte pivotCacheDefinition, que, por sua vez, aponta para e é proprietária da parte pivotCacheRecords. A pasta de trabalho também aponta para e é proprietária da parte da planilha, que, por sua vez, aponta para e possui uma definição de parte da Tabela Dinâmica, quando uma Tabela Dinâmica está na planilha (pode haver várias Tabelas Dinâmicas em uma planilha). A parte da Tabela Dinâmica aponta para o pivotCacheDefinition apropriado que está usando. Como várias Tabelas Dinâmicas podem usar o mesmo cache, a parte da Tabela Dinâmica não possui a longevidade de pivotCacheDefinition.
A parte da Tabela Dinâmica descreve os detalhes do layout da Tabela Dinâmica na planilha. Indica quais campos estão no eixo da linha, no eixo da coluna, no filtro de relatório e nas áreas de valores da Tabela Dinâmica. Também indica informações de formatação sobre a Tabela Dinâmica. Se tiver sido aplicada formatação condicional à Tabela Dinâmica, isso também será expresso na parte da Tabela Dinâmica.
A definição de cache dinâmico contém as definições de todos os campos na Tabela Dinâmica. Se você criar uma Tabela Dinâmica com base em uma tabela regular, cada coluna da tabela se tornará um campo da definição do cache dinâmico. O cache dinâmico contém as definições de campo e informações sobre o tipo de conteúdo encontrado nesse campo. Ele também mantém uma referência aos dados de origem na marcação de cache para que o cache dinâmico possa ser atualizado junto com os dados armazenados em cache na parte de registros do cache dinâmico.
Os dados exibidos na Tabela Dinâmica são armazenados em dois locais. A parte de registros de cache dinâmico mantém os dados reais da Tabela Dinâmica. As células da tabela na planilha também armazenam uma versão em cache dos dados, mas isso é apenas para fins de exibição. A parte de registros de cache dinâmico armazena dados de duas maneiras. Os valores exclusivos para a área de dados da Tabela Dinâmica são armazenados em cache embutido. Os itens repetidos que você normalmente encontra na linha e na coluna são referenciados. Esses dados compartilhados são realmente armazenados na definição de cache dinâmico. Cada registro na parte do registro de cache dinâmico consiste em N valores, em que N é igual ao número de campos definidos na definição de cache dinâmico.
A etapa final é criar a própria Tabela Dinâmica. A parte de definição da Tabela Dinâmica contém as informações sobre qual campo está presente em qual local da Tabela Dinâmica. Você pode colocar um campo em quatro áreas: linha, coluna, dados ou filtro. Os campos são escolhidos entre os campos armazenados em cache na definição do cache dinâmico.
Para criar uma Tabela Dinâmica pronta para uso quando a pasta de trabalho for aberta, você também precisa criar a marcação para as células da tabela. A Tabela Dinâmica é exibida nas células de uma planilha e, portanto, você também precisa construí-las. Também é possível fazer com que o usuário atualize as células da Tabela Dinâmica ao abrir o documento.
A tabela a seguir lista as classes comuns do Open XML SDK usadas ao trabalhar com a PivotTableDefinition classe.
| Elemento SpreadsheetML | Classe Open XML SDK |
|---|---|
<pivotField/> |
PivotField |
<pivotCacheDefinition/> |
PivotCacheDefinition |
<pivotCacheRecords/> |
PivotCacheRecords |
Open XML SDK Classe PivotTableDefinition
A classe Open XML SDK PivotTableDefinition representa o elemento de definição de Tabela Dinâmica (<pivotTableDefinition/>) definido no esquema de formato de arquivo Open XML para documentos SpreadsheetML. Use a PivotTableDefinition classe para manipular elementos individuais <pivotTableDefinition/> em um documento SpreadsheetML.
A principal função da definição de Tabela Dinâmica é armazenar informações sobre qual campo é exibido em qual eixo da Tabela Dinâmica e em que ordem. Há muitas outras configurações que podem ser adicionadas à definição da Tabela Dinâmica, mas as seguintes explicam os conceitos básicos.
O elemento raiz nomeia a Tabela Dinâmica para que ela possa ser usada como uma fonte de dados. O elemento raiz também faz referência ao cache dinâmico usando a ID adicionada à parte da pasta de trabalho e define o rótulo da legenda a ser exibido acima da área de dados da Tabela Dinâmica. Todos esses elementos são necessários.
As três partes principais são PivotTableDefinition : a localização da tabela, as informações de exibição dos campos armazenados em cache e as informações de posicionamento dos campos armazenados em cache. Para obter mais informações sobre esses e outros elementos adicionais que compõem o PivotTableDefinition, consulte a especificação ISO/IEC 29500.
Classe PivotField
O PivotTableDefinition elemento contém os PivotField elementos (<pivotField/>). As seguintes informações da especificação ISO/IEC 29500 introduzem o PivotField elemento (<pivotField/>).
Representa um único campo na Tabela Dinâmica. Esse elemento contém informações sobre o campo, incluindo a coleção de itens no campo.
Primeiro, defina a coleção de campos que aparecem na Tabela Dinâmica usando o pivotFields elemento. Cada campo serve como um cache para os dados desse campo na fonte de dados. Você não precisa definir o cache. Em vez disso, você pode definir o item elemento igual default a e fazer com que o usuário atualize a tabela quando abrir o documento. O showAll atributo é usado para ocultar determinados elementos para essa dimensão de dados.
Depois de definir quais campos fazem parte da tabela, os campos são aplicados às quatro áreas da Tabela Dinâmica.
Classe de Definição de Cache Dinâmico
As seguintes informações da especificação ISO/IEC 29500 introduzem o PivotCacheDefinition elemento (<pivotCacheDefinition/>).
A parte pivotCacheDefinition define cada campo na parte pivotCacheRecords, incluindo o nome do campo e as informações sobre os dados contidos no campo. A parte pivotCacheDefinition também define itens dinâmicos que são compartilhados entre as partes da Tabela Dinâmica e da Tabela Dinâmica.
O cache dinâmico define a origem dos dados na Tabela Dinâmica, o que permite que eles sejam atualizados, e define a lista de campos nesses dados. Lembre-se de que o cache define todos os campos disponíveis para a Tabela Dinâmica, não os que realmente são usados. A definição de Tabela Dinâmica define quais campos disponíveis são usados por uma determinada Tabela Dinâmica.
A definição da fonte de dados faz referência aos dados exibidos na Tabela Dinâmica. A Tabela Dinâmica também mantém os dados na parte de registros de cache para permitir que a tabela seja atualizável quando a conexão de dados não estiver disponível. Não é possível confiar nas células da Tabela Dinâmica para armazenar os dados, pois os dados nessas células são de natureza transitória e mudam quando você dinamiza a tabela. Há vários tipos de fontes de dados, por exemplo: planilhas, banco de dados, cubo OLAP e outras Tabelas Dinâmicas.
A última parte da definição de cache define os campos da fonte de dados usando o cacheField elemento. O cacheField elemento é usado para duas finalidades: define o tipo de dados e a formatação do campo e é usado como um cache para cadeias de caracteres compartilhadas. Os valores dinâmicos são armazenados na parte de registros do cache dinâmico. Quando uma cadeia de caracteres recorrente é usada como um valor, o registro de cache usa uma referência na cacheField coleção de itens compartilhados.
Classe de Registros de Cache Dinâmico
As seguintes informações da especificação ISO/IEC 29500 introduzem o PivotCacheRecords elemento (<pivotCacheRecords/>).
A parte pivotCacheRecords contém os dados subjacentes a serem agregados. É um cache dos dados de origem.
A parte de registros de cache pode armazenar qualquer número de registros armazenados em cache. Cada registro tem o mesmo número de valores definidos conforme os campos na definição de cache. Cada registro é definido com o r elemento. Esse registro contém itens de valor como elementos filho. Você pode fornecer determinados valores digitados, como Numérico, Booliano ou Data-Hora, ou pode fazer referência aos itens compartilhados.