Cette fonction permet de définir des tables de dimensions contenant des données de référence. Ces tables de dimensions peuvent être rattachées à des tables de faits dans l'onglet de description des liens.

Une table de dimension se caractérise par une liste de champs.

Contrairement aux tables de faits, qui peuvent être alimentées par plusieurs règles de synchronisation (notamment parce que l'on peut, dans une même table de faits, avoir plusieurs types de faits caractérisés par un type), une dimension est alimentée à partir d'une seule logique de synchronisation. C'est pourquoi, on retrouve, directement dans la description de la table de dimension, un onglet précisant la façon dont la table est alimentée.

Point d'entée ABITUNNEL

Ce point d'entrée ABITUNNEL permet de modifier la valeur de la variable locale OKK.

Si [L]OKK vaut 0 alors on ne peut pas définir de tunnel sur la dimension.

Sinon on peut définir un tunnel sur la dimension.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Présentation

Permet de définir, outre le code et l'intitulé de la table, une abréviation qui sera utilisée pour l'accès à la table de dimension par les traitements de mise à jour.

 

Champs

Les champs suivants sont présents dans cet onglet :

Ce code identifie de façon unique les fiches créées.

Il correspond au nom de la table qui sera créé dans la base de données du datamart.

  • Abréviation (champ ABRDIM)

L'abréviation de la table doit être composée de 1 à 4 caractères (lettres ou chiffres mais commençant obligatoirement par une lettre). C'est un identificateur unique pour l'ensemble des abréviations des tables du dictionnaire de données. Les mots réservés d'Adonix sont interdits.

  • Intitulé (champ ZINTIT)

 

  • champ W

 

  • Intitulé évalué (champ INTEVAL)

 

 

Onglet Description

Présentation

Cet onglet permet de définir les caractéristiques générales de la table de dimension, et notamment les règles d'alimentation. Ces règles se caractérisent par une table d'origine, à laquelle peuvent être liées un ensemble de tables annexes, ainsi qu'une condition logique d'extraction et un type d'extraction. Un code de traitement spécifique permet, le cas échéant, de gérer des exceptions.

 

Champs

Les champs suivants sont présents dans cet onglet :

Caractéristiques

Un code activité vous permet de :

  • rendre optionnel un élément du dictionnaire si la valeur associée au code activité est nulle,
  • signer les éléments spécifiques dès lors qu'ils sont marqués par un code commençant par X, Y ou Z,
  • dimensionner un nombre de lignes maximum lorsque le code activité marque des éléments d'un tableau,

Si le code activité est désactivé :

  • l'élément marqué n'est pas utilisable,
  • le code associé n'est pas généré ou activé.
  • Module (champ MODULE)

 

Définit la table d'origine qui sera parcourue (avec les enregistrements des tables liées) à chaque fois qu'une mise à jour de la table de dimension sera déclenchée. Ce parcours sera complet, si le type de mise à jour est Annule et remplace; sinon, il sera incrémental, basé sur les enregistrements modifiés dans la table principale.

  • Clé (champ INDLEC)

 

  • Filtre d'extraction (champ FILTRE)

Cette condition est appliquée aux enregistrements de la table d'origine lors du processus de mise à jour de la table de dimensions. Si elle n'est pas réalisée, l'engistrement n'est pas retenu pour permettre la mise à jour.

Il est important de noter que des expressions complexes peuvent ici être appliquées, y compris des conditions faisant intervenir des fonctions définies par le programmeur (syntaxes func PRG.FONCTION...)

  • Type de mise à jour (champ TYPMAJ)

Ce champ permet de définir si la logique d'alimentation de la table de dimensions doit être :

  • de type Incrémental(à chaque déclenchement, on reporte les modifications de la table d'origine). Contrairement à la table de faits, où on utilise un trigger de base de données, dans le cas des dimensions, on se base sur la date de dernière modification ou de création, qui doit donc exister pour les tables de dimension.
  • ou de type Annule et remplace (on supprime toutes les lignes de la table pour les recréer complètement).
  • champ WA

 

  • Suppression enregistrement vide (champ SUPVID)

Cet option permet d'ajouter ou pas une ligne vide dans la table de la dimension lors de la synchronisation.

  • Multi-dossier (champ MULDOS)

Ce paramètre permet de définir si cette dimension est multi-dossier ou pas.

  • Script standard (champ TRTSTD)

Permet de définir le code d'un traitement optionnel.

S'il est renseigné, ce traitement est appelé durant la mise à jour, afin de permettre de réaliser des traitements particuliers.

Dans ce traitement, on retrouve une étiquette $ACTION, et deux variables permettent de définir le contexte d'appel :

  • La variable nommée ACTION permet de définir le contexte d'appel. Les valeurs possibles sont :
    • "DEB_DIM" en début de mise à jour.
    • "FIN_DIM" en fin de mise à jour.
  • La variable nommée TABLE permet de connaître le nom de la table de dimension en cours de mise à jour.

On peut ainsi prendre la main lorsque la mise à jour de la dimension ne se résume pas à une simple recopie de table.

  • Script vertical (champ TRTSPV)

 

  • Script spécifique (champ TRTSPE)

 

Tableau Liens

  • Tables liées (champ TABLNK)

Permet de définir des tables liées à la table d'origine, ou à l'une des tables la précédant dans le tableau des liens.

  • Abréviation (champ ABRLNK)

Correspond à l'abréviation sous laquelle la table liée est ouverte.

Si ce champ n'est pas saisi, l'abrévation est l'abréviation par défaut de la table. Il peut être utile de saisir une abréviation pour ne pas rentrer en conflit avec le contexte appelant.

  • Clé de lien (champ CLELNK)

Définit le code de la clé de la table utilisée pour réaliser la lecture des lignes liées. Par défaut, la première clé de la table est utilisée.

Une fois ce champ alimenté, le tableau suivant Mapping clés - propriétés est alimenté suivant le code des différents segments de clé.

  • Type (champ TYPLNK)

 

  • Expression de lien (champ EXPLNK)

Ce champ est défini comme une ou plusieurs expressions calculées et séparées par un point-virgule. Chaque expression est évaluée, et le résultat permet de connaître la valeur de la clé utilisée pour réaliser la jointure. Lorsque les jointures multiples sont autorisées, vous ne pouvez donner que les premiers segments de clé.

Dans les expressions, vous pouvez utiliser des constantes, et des champs issus des tables précédemment définies dans la liste des liens.

  • Champ date (champ FLDDAT)

Ce champ permet de paramétrer la table qui contient les champs CREDAT et UPDDAT pour réaliser la synchronisation des dimensions.

Tableau Dossiers

  • Dossier (champ ADXDOS)

 

 

Onglet Champs

Présentation

On trouve ici la définition détaillée des champs qui peuvent être de type :

  • Dimension (c'est-à-dire des critères d'analyse).
  • Dimension père(critères d'analyse eux-même définis par une autre dimension).
  • Information (champs informatifs complémentaires).
  • Technique (champs présents dans le datamart, mais non visibles pour l'utilisateur final. Ils peuvent notamment servir à la gestion des habilitations, ou a préciser des contextes de liens).

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau Champs

  • Numéro de ligne (champ NUMDIM)

 

  • Code champ (champ FLDDIM)

Définit le code du champ dans la table de faits ou la table décrivant les dimensions. Ce code est celui sous lequel le champ est connu de la base de données (il est automatiquement postfixé avec les caractères "_0"). Il n'est pas visible lorsqu'on bâtit des états de pilotage (c'est l'intitulé qui est présenté), mais peut être vu si on regarde les syntaxes SQL qui extraient les données du datamart.

  • Intitulé (champ ZINTDIM)

 

On définit ici le type de la zone, qui caractérise son format de saisie (numérique, caractères quelconques, date...) et des contrôles de cohérence (référence à une table par exemple).

Les principaux types génériques existants sont :

A : Alphanumérique
C : Entier court
L : Entier long
DCB : Décimal
D : Date
M : Menu local
MM : Menu local avec filtre
ACB : clob
ABB : blob

Mais beaucoup d'autres types prédéfinis existent. Ils font souvent référence à une table annexe (devise, pays,...). Un dictionnaire dédié permet de les décrire, et ils peuvent être sélectionnés via la touche qui permet d'en obtenir la liste.

  • Lng (champ LNG)

Permet de définir la longueur d'un champ lorsque ce champ utilise un type de données générique dont la longueur n'est pas fixée. C'est le cas notamment pour les types A et DCB.

Pour les blob, comme pour les clob, il faut saisir la longueur qui sera une longueur maximale de stockage. La codification est la suivante :

Longueur

Taille mémoire

Caractères maximum

 0

 1020

 510

 1

 2044

 1022

 2

 4092

 2046

 3

 8188

 4094

 n

 1024*(2^n) - 4

 512*(2^n) - 2

  • Date (champ TYPDAT)

Lorsqu'un champ de la table de faits ou de dimensions est de type date, et qu'elle est définie comme dimension, elle est automatiquement associée à une table de dimensions nommée AX3DAT, qui est gérée automatiquement.

On peut alors préciser ici quels sont les caractéristiques temporelles liées à la date auquel on souhaite avoir accès pour les analyses. On donne une liste de caractères pour les définir, sachant que l'on a les correspondances suivantes :

  • Y=année
  • S=semestre
  • Q=trimestre
  • M=mois
  • F=quinzaine
  • T=décade
  • W=semaine
  • D=jour

Ainsi, par exemple, YMW signifie que l'on veut pouvoir avoir directement accès à l'année, au mois, et à la semaine définie par la date.

  • Menu (champ MENLOC)

Définit le numéro de menu local associée au champ défini sur la ligne.

Lorsqu'un champ est de type menu local, il est stocké sous la forme d'une valeur numérique (de 1 à 255) correspondant au rang d'un intitulé dans une table appelée menu local, stockée dans la table des messages APLSTD.

En saisie ou en affichage, on voit, selon les choix faits sur l'interface utilisateur :

  • soit un intitulé pouvant être choisi dans une liste déroulante communément appelée combo box
  • soit une liste de boutons de choix.

L'intérêt de ce type de saisie est que la liste des choix est présentée dans la langue de connexion de l'utilisateur.

Chaque numéro de menu local caractérise la liste des intitulés possibles. Par exemple, le menu local 1 correspond au choix Non / Oui dans cet ordre. Dans ce cas particulier, l'interface utilisateur peut aussi être la case à cocher.

Si le champ est associé à une table diverse, on donne ici le numéro qui l'identifie.

  • Type objet (champ TYPFLD)

Permet de caractériser la donnée de la table de dimensions. Les valeurs suivantes sont possibles :

  • Dimension signifie que l'on considère le champ comme un critère d'analyse stocké dans la table de dimensions.
  • Dimension père signifie que l'on considère le champ comme un critère d'analyse lié à une autre table de dimensions. Dans certains cas (les champs de type date, menu local, table diverses), la table de dimension est implicitement gérée par le progiciel.
  • Information correspond à un champ qui pourra être présenté sur les états, mais qui n'est pas considéré cmme discriminant du point de vue de l'anayse et de l'agrégation des données.
  • Technique correspond à des champs qui sont utiles à la structure de données (par exemple pour définir des liens), mais qui n'ont pas besoin d'être visibles lorsqu'on construira les états.
  • Auto-jointure (champ ZAUTO)

 

  • Tunnel vers objet (champ TUNNEL)

 

  • Dimension liée (champ FLDLIE)

Lorsqu'un champ est de type Information dans une table de dimensions, il doit être rattaché à un champ de type Dimension. On saisit donc ici un des champs de type Dimension présent dana la table de dimensions.

Lorsque le champ est de type Dimension père, on saisit ici le code de la dimension à laquelle il est rattaché.

  • Intitulé dimension (champ ZDIMINT)

 

  • Nom du champ (champ DIMFLD)

 

  • Option de jointure (champ OPTJNT)

 

  • Formule alimentation (champ FLDORG)

Cette formule de calcul adonix permet de définir la façon dont est alimenté le champ de la table de dimensions lorsque le datamart est mis à jour à partir d'un dossier du progiciel.

Une telle formule peut intégrer des constantes, des champs issus des tables déclarées en lignes, des fonctions standard, mais également des fonctions définies par un développeur (par la syntaxe func PRG.FONCTION).

Un code activité vous permet de :

  • rendre optionnel un élément du dictionnaire si la valeur associée au code activité est nulle,
  • signer les éléments spécifiques dès lors qu'ils sont marqués par un code commençant par X, Y ou Z,
  • dimensionner un nombre de lignes maximum lorsque le code activité marque des éléments d'un tableau,

Si le code activité est désactivé :

  • l'élément marqué n'est pas utilisable,
  • le code associé n'est pas généré ou activé.

Complément

  • Clé (champ CLE)

Une table de dimension doit disposer d'un index dont les valeurs de clés permettront détablir la jointure entre les tables de faits ou les autres dimensions liées. Ce champ permet de définir ses caractéristiques.

On saisit ici la liste des champs composant l'index, séparé par un '+' s'il y a plusieurs champs (par exemple, dans la table des sites FACILITY, on trouve une clé dont la définition est LEGCPY+FCY).

Un champ trié en descendant est précédé du signe "-" (attention, si utilisé en liste gauche).

Le premier champ composant un index est sans signe et est forcément ascendant.

  • champ NAMCLE

 

  • Objet 'Nombre de' (champ NOMBRE)

Lorsque cette case est cochée, un objet Nombre est ajouté dans l'univers créé, ce qui permet d'accéder directement au nombre de lignes de la table de dimensions (globalement ou sur des critères donnés).

 

Icône Actions

Sélection champs

Champs

Les champs suivants sont présents dans cette fenêtre :

Bloc numéro 1

Le code de la table doit être composé de 1 à 10 caractères (lettres ou chiffres mais commençant obligatoirement par une lettre). C'est un identificateur unique pour l'ensemble des tables du dictionnaire des données. Les mots réservés d'adonix sont interdits.

Tableau

  • Zone (champ CODZONE)

Correspond au nom du champ dans la table de la base de données (ce nom est automatiquement complété par "_0").

  • Intitulé (champ INTITCOURT)

Intitulé associé au code précédent

  • O/N (champ SELECT)

Si on répond Ouisur la ligne, on transfère le champ sélectionné avec ses caractéristiques (type, longueur...) vers l'écran à partir duquel la fonction de sélection a été appelée.

Il est à noter que, par clic droit sur la ligne (sans être en saisie sur le champ), on peut globalement mettre à Oui ou Non les lignes à partir de la ligne courante.

Cette fonction permet de rajouter dans le tableau des champs, à partir de la ligne courante, des champs issus d'une table que l'on saisit au préalable en tête de la fenêtre qui s'ouvre (la table d'origine est proposée par défaut).

Des valeurs par défaut sont appliquées sur le tableau des lignes ainsi reprises :

  • Les caractéristiques principales du champ sont reprises en l'état (intitulé, type, longueur, intitulé, menu local, table diverse...).
  • Dès lors que le champ est caractérisé par un type lié à un objet (ou s'il est de type Dateou Table diverse, il est défini comme une Dimension père.
  • S'il est de type DCB, il est défini comme une Mesure.
  • Sinon, il est défini comme une Information liée à la dimension la plus voisine.

Si des champs portant le même intitulé qu'un champ à insérer existent déjà , on ne les insère pas.

 

 

Boutons spécifiques

Cette fonction génère un traitement, dont le nom est défini par "WMD" suivi du code de la table, et le compile. Ce traitement est automatiquement appelé par les traitements de mise à jour du datamart.

Les champs suivants sont présents dans la fenêtre ouverte par ce bouton :

Bloc numéro 1

  • champ OBJET

 

  • champ CLES

 

Bloc numéro 2

  • Depuis le dossier (champ DOSORG)

Indiquez le dossier à partir duquel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

  • Tous dossiers (champ TOUDOS)

Cette option permet de copier la fiche vers tous les dossiers définis dans le dictionnaire (table ADOSSIER de la solution courante).

  • Vers le dossier (champ DOSDES)

Indiquez le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Ce bouton permet de recopier la définition de la fiche depuis ou vers un autre dossier.

Barre de menu

Documentation / Paragraphes

Cette fonction permet d'accéder à la gestion de la documentation, sur le premier paragraphe de la documentation (si elle existe) associé à la fiche courante.

Documentation / Liens

Cette fonction permet d'accéder à la gestion des liens. Elle permet de définir des liens entre la fiche courante et d'autres fiches (par exemple des liens entre fonctions et paramètres). Ces liens, purement documentaires, permettent d'alimenter la mécanique de génération des squelettes de documentation.

Documentation / Génération

Ce menu permet de lancer une génération de documentation. La génération peut se lancer également à partir du bouton [Génération] dans le bas de la fenêtre.

Trois types de génération peuvent être lancées, séparément ou simultanément :

Les bornes proposées par défaut tiennent compte de la fiche en cours, mais elles peuvent être modifiées au lancement.

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre