On peut vous aider ?
Cherchez des réponses ou parcourez les rubriques de notre documentation
Transposition
Principe
La transposition consiste à considérer que des indicateurs sont définis par un croisement d’axes et à organiser ces axes sous forme de lignes ou de colonnes.
Considérons le document suivant :
Chaque cellule de couleur saumon est une boite de saisie permettant de comptabiliser les effectifs suivant différents axes. En l’espèce les axes sont ici :
- Catégorie (OUV, EMP, AMT ou IC)
- Genre (H ou F)
- Effectif (optionnel)
Comment souhaitons-nous que les données soient stockées ? Plusieurs possibilités s’offrent à nous :
Dans ce cas, les axes « Catégorie » et « Genre » seraient en ligne (il y a autant de lignes que d’éléments de ces axes) alors que l’axe Valeur (l’effectif) serait en colonne (il y a autant de colonnes d’indicateurs, 1 dans cet exemple).
Dans ce cas, l’axe « Catégorie » est en ligne, l’axe « Genre » est en colonne et porte l’indicateur, il n’y a donc pas besoin d’un troisième axe.
Dans ce cas, l’axe « Genre » est en ligne, l’axe « Catégorie » est en colonne et porte l’indicateur, il n’y a donc pas besoin d’un troisième axe.
La transposition consiste à distribuer les axes en :
- Axes standards dont les données seront disposées « en ligne ». Une transposition peut contenir un nombre illimité d’axe standards
- Axe valeur dont les données seront disposées « en colonne ». Une transposition doit contenir un unique axe valeur.
Création d’une transposition
La création d’une transposition se fait pour partie dans la matrice QST, où les composants devant être intégrés à la transposition devront être syntaxés d’une façon particulière, puis dans Design, ou les axes seront organisés et différentes options spécifiées.
Dans Excel
Les entêtes des composants devant être inclus dans une transposition doivent contenir tous les items des axes au croisement desquels ils sont situés séparés par 2 caractères « _ » sous la forme suivante :
ItemAxe1__ItemAxe2[__ItemAxe3]...
Dans l’exemple ci-dessus, les entêtes des boites de saisie seraient (en choisissant la première structure) :
OUV__H__Effectif EMP__H__Effectif AMT__H__Effectif IC__H__Effectif OUV__F__Effectif EMP__F__Effectif AMT__F__Effectif IC__F__Effectif
Bien évidemment, il est possible de construire tous ces entêtes avec une unique formule. Dans cet exemple, la formule qui créerait tous les composants avec leurs entêtes serait créée en B3 avec la syntaxe suivante :
="¤¤"&$A3&"__"&B$2&"__Effectif;B;C=I"
…Puis recopiée sur toutes les cellules de la zone « ZONE_COMPOSANTS » à l’aide d’un copier/coller formules. Notez l’utilisation du flag C=I permettant de garantir la saisie d’un chiffre entier.
Dans Design
Vérification de la structure
Une fois le tableau importé dans Design, allez dans le menu « Questionnaire » et sélectionnez l’élément « Définitions de transposition » puis, dans la liste des transpositions qui apparaît, cliquez sur le bouton « Ajouter ». Vous obtenez la liste des axes qui, une fois tous les axes déroulés s’affiche ainsi :
Un document GT pouvant contenir plusieurs définitions de transpositions, elles apparaitront dans cette fenêtre sous le nom TranspoDef n°1, TranspoDef n°2, etc. Dans notre cas, une seule définition est présente. En sélectionnant la définition « TranspoDef n°1 », le panneau de droite affiche la liste des entêtes compris dans cette définition.
Sur la gauche, la définition de transposition s’affiche sous la forme d’un arbre affichant les axes et leurs items. A cette étape, les axes comportent une icône orange circulaire comportant un point d’interrogation car les axes n’ont pas encore été qualifiés en axe standards et axe valeur.
Vérifications :
- à cette étape, si vous obtenez plus d’une définition de transposition, vous avez probablement commis une erreur lors de la réplication de la formule définissant les boites de saisie
- Si, en revanche, vous n’obtenez aucune définition de transposition, cela est probablement dû au fait que vous n’avez séparé les items d’axes que par un seul caractère « underscore » (« _ ») : les items d’axes d’une transposition doivent toujours être séparés par 2 caractères « underscore » : « __ »
Définition des axes
Nous renommerons les deux premiers axes en « Categorie » et « Genre ». Pour renommer les axes, effectuez un clic droit sur un axe et, dans le menu contextuel, sélectionnez « Renommer cet axe ». Vous pouvez également sélectionner l’axe à renommer avec la souris et appuyer sur la touche F2 de votre clavier.
Le dernier axe, qui contient uniquement l’item « Effectif », nous
servira d’axe valeur. Pour le spécifier, il suffit de faire un clic droit sur cet axe puis, dans le menu contextuel, de sélectionner l’élément « Sélectionner comme axe valeur ».
Assurez-vous que l’unique item de l’axe valeur : « Effectif », est bien coché dans le panneau de droite.
Test de la structure obtenue
Cliquez sur le bouton « Tester ». Un nouvel onglet apparaît alors, vous illustrant la structure des données transposées à l’aide de chiffres aléatoires. Notez que si les composants fournissant les données à transposer ne portaient pas de contrainte numérique (champ de type texte, ou sans type explicite comme pour les composants contrôles, la prévisualisation afficherait « Dummy » pour les valeurs correspondantes.
Pour sortir de la prévisualisation, vous devez cliquer sur l’onglet « Définition de la transposition ». Si vous fermez cette fenêtre, les modifications apportées à votre définition de transposition seront perdues.
Une fois revenu sur l’onglet de définition de transposition, modifiez votre définition ou cliquez sur le bouton « Ok » pour la sauvegarder.
Gestion des transpositions à même nombre de dimensions/axes
Lorsque vous ajoutez une définition de transposition à votre formulaire, Design va détecter automatiquement toutes les entêtes susceptibles de faire partie d’une transposition et les regrouper suivant le nombre d’axes. Cela peut ne pas correspondre à la structure de données que vous souhaitez mettre en place. Si deux tableaux utilisent le même nombre de dimensions/axes, les transpositions souhaitées pour chacun des tableaux sont peut-être différentes.
Considérons l’exemple suivant :
Ces deux tableaux correspondent à des données totalement différentes d’un point de vue métier. Hors, ils possèdent a priori le même nombre d’axes de transposition. Voyons comment gérer cela :
- Tapez la formule suivante dans la cellule G3 :
="¤¤"&$F3&"__"&G$2&"__Effectif;B;C=I"
- Copiez/collez cette formule sur la zone « ZONE_COMPOSANTS_EFFECTIFS »
- Tapez la formule suivante dans la cellule B13 :
="¤¤"&$P13&"__"&B$12&"__CA"&$Q13
- Notez comment la syntaxe des objets ainsi que certains libellés sont rejetés en-dehors de la zone d’import afin de pouvoir créer tous les composants de ce tableau avec une formule unique
- Copiez/collez cette formule sur la zone « ZONE_COMPOSANTS_CA »
- Importez la zone « ZONE_IMPORT » dans un nouveau formulaire
- Ajoutez une définition de transposition
Design ne détecte qu’une seule définition de transposition car tous les entêtes du questionnaire possèdent le même nombre d’axes (3 dans notre cas). Cela pose problème si nous souhaitons intégrer les données collectées dans 2 tables de stockage distinctes et/ou alimenter ces tableaux par 2 tables/vues distinctes.
Deux méthodes peuvent être employées pour parvenir au résultat : une sélection différentielle des axes valeurs, ou bien un filtre sur un axe discriminant.
Sélection des items des axes valeur
1. A partir du formulaire vierge dans lequel vous avez importé la sélection Excel, ajoutez une nouvelle définition de transposition.
2. Commencez par définit le troisième axe comme axe valeur
3. Dans le panneau de droite, décochez l’indicateur « Effectif », seule « CA » doit être coché.
4. Une fois « Effectif » décoché, tous les autres axes ne contiennent que les items relatifs au tableau de CA.
5. Enregistrez votre définition de transposition
6. Créez une nouvelle définition de transposition dans laquelle, à l’inverse, vous ne sélectionnerez que l’indicateur « Effectif ».
Note : cette méthode fonctionne dans l’exemple décrit car pour les 2 tableaux, l’indicateur est le troisième axe. Attention à l’ordre des axes si vous prévoyez d’utiliser cette méthode de filtrage.
Filtre sur axe standard
La capacité de ne conserver qu’une partie des items est réservée à l’axe valeur. Il est néanmoins possible de filtrer une transposition par rapport à un axe standard. Dans notre cas, nous allons ajouter un nouvel axe contenant le nom du tableau, et nous effectuerons un filtre sur cet axe. Pour réaliser cette manipulation, procédez comme suit :
1. Modifiez la formule en G3 par celle-ci : = »¤¤Tableau_Effectif__ »&$F3& »__ »&G$2& »__Effectif;B;C=I »
2. Modifiez la formule en B13 par celle-ci := »¤¤Tableau_CA__ »&$P13& »__ »&B$12& »__CA »&$Q13
3. Répliquez les formules sur les zones de composants respectives
4. Importez le classeur modifié dans un nouveau formulaire
5. Dans le champ « Filtre », tapez le filtre suivant Tableau=Tableau_Effectif
6. Sauvegardez votre définition de transposition puis réalisez la même opération avec le filtre suivant :
Tableau=Tableau_CA
- Note : contrairement au filtre sur axe valeur, le filtre n’agit pas à la conception : si vous déroulez les axes de la transposition, les items des 2 tableaux apparaîtront. Effectuez une prévisualisation pour contrôler l’effet du filtre.
- Note 2 : les filtres peuvent être combinés sous la forme (Axe1<>Item1 AND Axe2=Item2) OR … Si les items contiennent des espaces ou autres caractères non alphanumériques, les protéger avec des guillemets simples. Si les axes contiennent des espaces ou autres caractères non alphanumériques, les protéger avec des crochets.
- Note 3 : Le champ « Filtre » peut également servir à sélectionner/filtrer les items de l’axe valeur en utilisant la syntaxe {} pour désigner l’axe valeur. Par exemple, {}=Effectif ne retiendra que l’item « Effectif » dans l’axe valeur
Anonymisation des dates
Principe
Les formulaires sont très souvent « glissants » : ils sont transmis à intervalles réguliers et, typiquement, comparent la valeur d’une période à celle de la période précédente. La fonction d’anonymisation des dates a pour objet de traduire un décalage de date par rapport à une date de référence (qui sera généralement la date d’arrêté de la campagne).
L’anonymisation des dates spécifiera les périodes avec la syntaxe suivante :
Le décalage par rapport à la date d’arrêté sera spécifié ainsi :
[mp_+-]nombre
- Note : il est déconseillé d’utiliser les opérateurs « + » et « -« , les entêtes comportant ces caractères étant incompatibles avec la fonction « Poser les noms » pour créer une matrice de saisie, utilisez de préférence « m », « p » et « _ »
- Note 2 : le décalage peut être absolu ou relatif
- Note 3 : à partir de la version 3.7, les dates nulles/vides ou qui ne peuvent être interprétées par la transposition (ex: vide ou 35/05/99) lèvent un avertissement. Dans le cas des dates nulles, l’avertissement peut être évité en convertissant dans une vue du SGBD les dates vides/nulles en une date n’interférant pas avec les données (par exemple 01/01/1970).
Exemples :
- M-12 pour spécifier une date de 12 mois en arrière par rapport à la date d’arrêté. (M_12 et Mm12 sont équivalents)
- A-1 pour spécifier une année en arrière par rapport à la date d’arrêté. (A_1 et Am1 sont équivalents)
- M12A_1 pour spécifier le mois de décembre de l’année précédente par rapport à la date d’arrêté (M12A-1 et M12Am1 sont équivalents)
- M1Ap1 pour spécifier le mois de janvier de l’année par rapport à la date d’arrêté (M1A+1 est équivalent)
Exemple 1
Considérons le fichier Excel suivant :
Ce formulaire est censé permettre la saisie des indicateurs pour le mois en cours et le mois suivant et les comparer au mois précédent du mois en cours. Pour permettre le rafraîchissement du formulaire d’un mois sur l’autre et le stockage des données sans avoir à construire « manuellement » la date de chaque valeur, nous procéderons comme suit :
- La date d’arrêté est spécifiée en A1. « Date_Arrete » est l’une des variables systèmes fournies par GTServer.
- La ligne 9 contient les décalages de mois : Mm1, M, Mp1… Ces décalages sont relatifs par rapport à la date d’arrêté
- La colonne H contient les libellés d’indicateurs
- La ligne 11 contient les types et switchs des composants à créer
- En C4, tapez la formule permettant de créer tous les objets du tableau :
="¤¤"&$H4&"__"&C$9&C$11
- Dupliquez cette formule sur toute la zone de C4 à E5
- Importez la zone « GT.Mois » dans un nouveau formulaire
- Créez une nouvelle définition de transposition avec les paramètres suivants :
- Axe 1 : Définissez cet axe comme Axe valeur
- Axe 2 : Renommez cet axe en « Periode »
- Dans le champ « Anonymisation », tapez la syntaxe suivante :
Periode/Date_Arrete
- Testez votre transposition :
Constatez l’effet de l’anonymisation : le champ « Periode » qui contenait les items « M », « Mp1 », « Mm1″… Contient dorénavant les dates résolues.
Note : Les dates sont toujours résolues au format JJ/MM/AAAA
Note 2 : Lors d’une prévisualisation, la date d’arrêté est toujours résolue par la date système.
Exemple 2
Considérons le fichier Excel suivant:
Ce formulaire est censé, pour une année donnée, permettre la saisie des indicateurs pour tous les mois de l’année en cours et les comparer au mois de décembre de l’année précédente. Pour permettre le rafraichissement du formulaire d’une année sur l’autre et le stockage des données sans avoir à construire « manuellement » la date de chaque valeur, nous procèderons comme suit :
- La date d’arrêté est spécifiée en A1. « Date_Arrete » est l’une des variables systèmes fournies par GTServer.
- La ligne 8 contient les décalages pour l’année : A_1 ou A. Ces décalages sont relatifs par rapport à la date d’arrêté
- La ligne 9 contient les décalages de mois : M12, M1, M2… Ces décalages sont absolus par rapport à la date d’arrêté
- La colonne R contient les libellés d’indicateurs
- La ligne 11 contient les types et switchs des composants à créer
- En C4, tapez la formule permettant de créer tous les objets du tableau :
="¤¤"&$R4&"__"&C$8&C$9&C$11
- Dupliquez cette formule sur toute la zone « ZONE_COMPOSANTS »
- Importez la zone « GT.ZONE_IMPORT » dans un nouveau formulaire
- Créez une nouvelle définition de transposition avec les paramètres suivants :
- Axe 1 : Définissez cet axe comme Axe valeur
- Axe 2 : Renommez cet axe en « Periode »
- Dans le champ « Anonymisation », tapez la syntaxe suivante :
Periode/Date_Arrete
- Testez votre transposition :
Constatez l’effet de l’anonymisation : le champ « Periode » qui contenait les items « A_1M12 », « AM1 », « AM2″… Contient dorénavant les dates résolues.
Note : Les dates sont toujours résolues au format JJ/MM/AAAA
Note 2 : Lors d’une prévisualisation, la date d’arrêté est toujours résolue par la date système.