Utilisation des tableaux croisés dynamiques
Cette rubrique décrit la classe PivotTableDefinition du Kit de développement logiciel (SDK) Open XML et la façon dont elle est liée au schéma SpreadsheetML au format de fichier Open XML. Pour plus d’informations sur la structure globale des composants et éléments qui composent un document SpreadsheetML, consultez Structure d’un document SpreadsheetML.
Tableau croisé dynamique dans SpreadsheetML
Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément PivotTableDefinition (<pivotTableDefinition>).
Les tableaux croisés dynamiques affichent facilement des vues agrégées de données, selon une présentation compréhensible. Des centaines ou des milliers d’éléments d’information sous-jacentes peuvent être agrégées sur des axes de ligne et de colonne, révélant ce qui se trouve derrière les données. Les rapports de tableau croisé dynamique sont utilisés pour organiser et synthétiser vos données de différentes façons. La création d'un rapport de tableau croisé dynamique consiste à déplacer des éléments d'information pour voir comment ils peuvent se disposer les uns par rapport aux autres. En quelques actions, les lignes et les colonnes du tableau croisé dynamique peuvent être déplacées selon différents arrangements et différentes dispositions.
Un objet PivotTable comporte une zone d'axe des lignes, une zone d'axe des colonnes, une zone de valeurs et une zone de filtre de rapport. En outre, les tableaux croisés dynamiques comportent un volet de liste des champs correspondants affichant tous les champs de données qui peuvent être placés sur une des zones du tableau.
Le classeur pointe vers le composant pivotCacheDefinition (et détient sa longévité), qui à son tour pointe vers et détient le composant pivotCacheRecords. Le classeur pointe aussi vers et détient le composant de feuille, qui à son tour pointe vers et détient une définition de composant pivotTable, lorsqu'un tableau croisé dynamique se trouve sur la feuille (il peut y avoir plusieurs tableaux croisés dynamiques sur une feuille). Le composant pivotTable pointe vers l'élément pivotCacheDefinition approprié qu'il utilise. Plusieurs tableaux croisés dynamiques pouvant utiliser le même cache, le composant pivotTable ne détient pas la longévité de l'élément pivotCacheDefinition.
Le composant pivotTable décrit les particularités du tableau croisé dynamique sur la feuille. Il indique quels champs se trouvent sur les zones de l'axe des lignes, de l'axe des colonnes, du filtre de rapport et des valeurs du tableau croisé dynamique. Il indique aussi des informations de mise en forme pour le tableau croisé dynamique. Si une mise en forme conditionnelle a été appliquée au tableau croisé dynamique, celle-ci est également exprimée dans le composant pivotTable.
La définition de cache de tableau croisé dynamique contient les définitions de tous les champs du tableau croisé dynamique. Si vous créez un tableau croisé dynamique sur la base d'un tableau standard, chaque colonne du tableau devient un champ de la définition de cache de tableau croisé dynamique. Le cache de tableau croisé dynamique contient les définitions et les informations des champs sur le type de contenu trouvé dans ces champs. Il gère également une référence aux données source dans le balisage du cache pour que le cache de tableau croisé dynamique puisse être actualisé en même temps que les données mises en cache du composant des enregistrements du cache de tableau croisé dynamique.
Les données qui sont affichées dans le tableau croisé dynamique sont stockées à deux emplacements. Le composant des enregistrements du cache de tableau croisé dynamique gère les données réelles pour le tableau croisé dynamique. Les cellules du tableau de la feuille de calcul stockent également une version mise en cache des données, mais uniquement à des fins d'affichage. Le composant des enregistrements du cache de tableau croisé dynamique stocke les données de l'une ou l'autre de ces deux façons. Les valeurs uniques pour la zone de données du tableau croisé dynamique sont mises en cache en ligne. Les éléments répétés que vous trouvez normalement sur la ligne et la colonne sont référencés. Ces données partagées sont réellement stockées dans la définition du cache de tableau croisé dynamique. Chaque enregistrement du composant des enregistrements du cache de tableau croisé dynamique est constitué de N valeurs, où N est égal au nombre de champs définis dans la définition du cache de tableau croisé dynamique.
L'étape finale consiste à créer le tableau croisé dynamique lui-même. Le composant de définition du tableau croisé dynamique contient des informations sur quels champs sont présents à quel endroit du tableau croisé dynamique. Vous pouvez placer un champ dans quatre zones : ligne, colonne, données ou filtre. Les champs sont choisis parmi les champs mis en cache dans la définition de cache de tableau croisé dynamique.
Pour créer un tableau croisé dynamique qui est prêt à être utilisé lorsque le classeur est ouvert, vous devez aussi créer le balisage pour les cellules du tableau. Le tableau croisé dynamique est affiché dans les cellules d'une feuille de calcul et vous devez donc également les construire. Il est également possible que l'utilisateur mette à jour les cellules du tableau croisé dynamique lors de l'ouverture du document.
Le tableau suivant répertorie les classes courantes du Kit de développement logiciel (SDK) Open XML utilisées lors de l’utilisation de la classe PivotTableDefinition .
Élément SpreadsheetML | Classe du Kit de développement logiciel (SDK) Open XML |
---|---|
Pivotfield | PivotField |
pivotCacheDefinition | PivotCacheDefinition |
pivotCacheRecords | PivotCacheRecords |
Classe PivotTableDefinition du Kit de développement logiciel (SDK) Open XML
La classePivotTableDefinition du Kit de développement logiciel (SDK) Open XML représente l’élément de définition de tableau croisé dynamique (<pivotTableDefinition>) défini dans le schéma de format de fichier Open XML pour les documents SpreadsheetML. Utilisez la classe PivotTableDefinition pour manipuler des éléments pivotTableDefinition> individuels < dans un document SpreadsheetML.
La principale fonction de la définition de tableau croisé dynamique est de stocker des informations sur quel champ est affiché sur quel axe du tableau croisé dynamique, et dans quel ordre. Il existe de nombreux autres paramètres qui peuvent être ajoutés à la définition de tableau croisé dynamique ; seuls sont abordés ici les paramètres de base.
L'élément racine nomme le tableau croisé dynamique pour qu'il puisse être utilisé en tant que source de données. L'élément racine référence également le cache du tableau croisé dynamique à l'aide de l'ID ajouté au composant de classeur et il définit le libellé de la légende à afficher au-dessus de la zone de données du tableau croisé dynamique. Tous ces éléments sont requis.
Les trois composants principaux de la pivotTableDefinition sont : l'emplacement du tableau, les informations d'affichage pour les champs mis en cache et les informations de positionnement pour les champs mis en cache. Pour plus d'informations sur ces éléments et sur les autres éléments qui constituent la pivotTableDefinition, voir la spécification ISO/IEC 29500.
Classe PivotField
L’élément PivotTableDefinition contient les éléments PivotField (<pivotField>). Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément PivotField (<pivotField>).
Représente un champ unique du tableau croisé dynamique. Cet élément contient des informations sur le champ, y compris la collection d'éléments du champ.
Définissez d'abord la collection de champs qui apparaissent sur le tableau croisé dynamique à l'aide de l'élément pivotFields. Chaque champ sert de cache pour les données de ce champ dans la source de données. Vous n'avez pas besoin de définir le cache. Au lieu de cela, vous pouvez définir l'élément item comme étant égal à default et permettre à l'utilisateur de mettre à jour le tableau lors de l'ouverture du document. L'attribut showAll est utilisé pour masquer certains éléments pour cette dimension Données. Après avoir défini quels champs font partie du tableau, les champs sont appliqués aux quatre zones du tableau croisé dynamique.
Classe de définition du cache de tableau croisé dynamique
Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément PivotCacheDefinition (<pivotCacheDefinition>).
Le composant pivotCacheDefinition définit chaque champ du composant pivotCacheRecords, y compris le nom du champ et les informations sur les données contenues dans le champ. Le composant pivotCacheDefinition définit aussi les éléments du tableau croisé dynamique qui sont partagés entre les composants pivotTable et pivotRecords.
Le cache de tableau croisé dynamique définit la source des données du tableau croisé dynamique, ce qui lui permet d'être mis à jour, et il définit la liste des champs de ces données. Notez bien que le cache définit tous les champs disponibles pour le tableau croisé dynamique et non pas ceux qui y sont réellement utilisés. La définition de tableau croisé dynamique définit, parmi les champs disponibles, ceux qui sont utilisés par un tableau croisé dynamique particulier.
La définition de source de données référence les données qui sont affichées dans le tableau croisé dynamique. Le tableau croisé dynamique gère aussi les données du composant cache-enregistrements pour permettre au tableau d'être mis à jour lorsque la connexion de données n'est pas disponible. Vous ne pouvez pas vous appuyer sur les cellules du tableau croisé dynamique pour stocker les données car les données de ces cellules sont temporaires par nature : elles changent lorsque vous faites pivoter le tableau. Il existe différents types de sources de données, par exemple des feuilles de calcul, des bases de données, des cubes OLAP et d'autres tableaux croisés dynamiques.
La dernière partie de la définition du cache définit les champs de la source de données à l'aide de l'élément cacheField. L'élément cacheField est utilisé pour deux objectifs : il définit le type de données et la mise en forme du champ, et il est utilisé en tant que cache pour les chaînes partagées. Les valeurs du tableau croisé dynamique sont stockées dans le composant des enregistrements du cache de tableau croisé dynamique. Lorsqu'une chaîne récurrente est utilisée en tant que valeur, l'enregistrement du cache utilise une référence dans la collection cacheField d'éléments partagés.
Classe des enregistrements du cache de tableau croisé dynamique
Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément PivotCacheRecords (<pivotCacheRecords>).
Le composant pivotCacheRecords contient les données sous-jacentes à agréger. Il s'agit d'un cache des données source.
Le composant des enregistrements de cache peut stocker un nombre quelconque d'enregistrements mis en cache. Chaque enregistrement a le même nombre de valeurs définies qu'il y a de champs dans la définition du cache. Chaque enregistrement est défini avec l'élément r. Cet enregistrement contient des éléments de valeur en tant qu'éléments enfants. Vous pouvez fournir certaines valeurs typées, telles que des types Numérique, Booléen ou Date-Heure, ou bien vous pouvez référencer un élément parmi les éléments partagés.