Développement > Business Intelligence > Paramétrage > Tables de faits 

Cette fonction permet de décrire les tables de faits qui serviront de support aux restitutions de la version pilotée du progiciel. Une table de faits est une table de données alimentée par une ou plusieurs tables issues d'un ou de plusieurs dossiers d'exploitation, présente dans un datamart. Elle intègre :

  • des champs (qui pourront être utilisés dans les éditions de pilotage)
  • des liens (vers des tables de dimension utilisées comme critères d'analyse)
  • des agrégats (afin de stocker des montants cumulés sur des combinaisons de critères, dans un but d'optimisation)
  • des index (toujours dans un but d'optimisation).

Les tables de fait ne sont pas créées dans le dossier lui-même, mais dans une structure de données, appelée datawarehouse, qui peut être commune à plusieurs dossiers.

L'alimentation des tables de faits se fait par une fonction intégrée au progiciel (l'utilisation d'un logiciel externe de type ETL n'est donc pas utile). Son paramétrage est défini par une fonction dédié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 fait 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 ABRABF)

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

On trouve ici des informations générales associées à la table de fait, et notamment :

  • des conditions d'habilitation par site, si un champ de ce type existe. Dans la description de chaque état basé sur les données correspondantes, on pourra définir si des restrictions par site doivent être appliquées aux utilisateurs, en précisant quelle est la fonction dont les habilitation par site doivent être considérées.
  • Une date utilisable pour l'épuration des données de la table de faits.
  • Un type de mise à jour utilisé par les fonctions d'alimentation.

 

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)

 

Habilitations

  • Autorisation site (champ AUZFCY)

Si cette case est cochée, un filtrage par site pourra être fait sur les données de la table de faits. Ceci suppose qu'un champ site existe dans cette table.

Le droits d'accès au site dans les éditions seront déterminés par l'intermédiaire d'un code fonction gérant des données filtrées par site : les sites autorisés pour la fonction en question à un utilisateur donné seront accordés sur les données de l'état.

  • Champ site (champ FLDFCY)

Obligatoire si une habilitation par site est définie, cette rubrique permet de définir le code du champ site utilisé pour filtrer les données. Il doit correspondre à un champ défini dans l'onglet Champs de la table des faits. Ce champ doit en outre être de type FCY.

Infos d'épuration

  • Champ date (champ FLDDAT)

Ce champ de type date permet, s'il existe, de baser d'éventuelles épurations de la table de faits à partir de cette date.

  • Nb jours de conservation (champ NBEPU)

Nombre de jours de retention  de l'information. C'est à dire qu'on épure les données superieures à cette date calculée.

Génération

  • Type de mise à jour (champ TYPMAJ)

Ce champ définit si la logique d'alimentation de la table de faits doit être :

  • de type Incrémental(à chaque déclenchement, on reporte les modifications de la table d'origine, qui ont été tracées à l'aide d'un trigger de base de données)
  • ou de type Annule et remplace (on supprime toutes les lignes de la table pour les recréer complètement).
  • Objet 'Nombre de' (champ NBRABF)

Si cette case est cochée, un objet permettant de compter le nombre de lignes dans la table de faits est créé dans l'univers.

 

Onglet Champs

Présentation

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

  • des dimensions (c'est-à-dire des critères d'analyse en principe reliés à une table annexe).
  • des mesures (valeurs pouvant être présentées en détail ou agrégées selon les valeurs des dimensions).
  • des informations (champs informatifs complémentaires).

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau

  • No de ligne (champ NUMFLD)

 

  • Code champ (champ CODFLD)

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é normal (champ ZINTFLD)

 

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.

Dans le cas des tables de faits, il est nécessaire de renseigner des informations complémentaires pour certains types (dates, tables diverses, menus locaux).

  • Lng (champ LNGFLD)

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 faits. Les valeurs suivantes sont possibles :

  • Mesure suppose que le champ soit numérique. Ce type de champ pourra être agrégé sur des combinaisons de dimensions dans les états d'analyse, afin notamment d'obtenir des sommes, des minima, des maxima sur des agrégats.
  • Dimension signifie que l'on considère le champ comme un critère d'analyse. En principe, il est lié à une table de dimensions qui permet d'en stocker les valeurs et de leur associer d'autres caractéristiques. 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.

Il est à noter qu'un champ de type ACS (code d'accès) est automatiquement défini comme technique (il n'apparaîtra pas dans la description des champs de la table de faits, mais sera utilisé pour filtrer les données lors des requêtes sur la table de faits).

  • Sous-classe (champ ZINTSSC)

 

  • Tunnel vers objet (champ TUNNEL)

 

  • Compte distinct (champ TYPOPE)

Permet de préciser si on désire disposer d'un compte du nombre de lignes par valeur de critère. Une mesure de type compte est alors créée, pour optimiser les accès correspondants.

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é.

 

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 (si la table de faits porte le nom d'une des tables du progiciel, ce nom est proposé 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.
  • S'il est de type DCB, il est défini comme une Mesure.
  • Sinon, il est défini comme une Information.

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

 

 

Onglet Liens

Présentation

Cet onglet permet de définir les différents liens vers les tables de dimension gérées par le progiciel.

Un lien se caractérise par le code de la table de dimensions, et par une expression de lien. Quand plusieurs liens existent vers une même table de dimensions, il faut donner un numéro d'alias distinct.

Il est à noter que les liens automatiques n'ont pas besoin d'être décrits ici. Par liens automatiques, on entend ceux générés pour les champs suivants :

  • Les champs de type date (D), qui ont une jointure implicite avec un alias de la table AX3DAT.
  • Les champs de type menu local (M), qui ont une jointure implicite avec un alias d’une table AX3MNLxxx.
  • Les champs de type table diverse (ADI), qui ont une jointure implicite avec un alias d’une table AX3ADIyyy.
  • Les champs de type code dossier (ADS), qui ont une jointure implicite avec un alias de AX3DOS.
  • Les champs de type code d'accès (ACS), qui ont une jointure implicite avec un alias de la AX3ACC .

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau

  • Numéro de ligne (champ NUMLNK)

 

Définit la table de dimensions liée à la table de faits.

  • Expression de lien (champ EXPLNK)

Contient l'expression de liens permettant de remonter à la table de dimensions par l'intermédiaire de sa clé. Une expression de liens peut être composée de champs issus de la table de faits et/ou de constantes, séparés par un point-virgule lorsqu'il y en a plusieurs.

  • Option de jointure (champ OPTJNT)

 

  • Intitulé (champ ZINTLNK)

 

  • Complément (champ ZINTCOMP)

 

 

Onglet Index

Présentation

Cet onglet permet de définir des index qui seront créés sur la table de faits, dans un but d'optimisation des temps d'accès.

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau

  • Numéro de ligne (champ NUMIND)

 

  • Description (champ EXPIND)

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.

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é.

Caractéristiques de stockage

  • champ STK

On peut saisir dans ce bloc un texte décrivant la configuration technique de table dans la base de données. Ce texte est enregistré dans un fichier "nom de table.cfg" dans le répertoire FIL de l'application. Ce fichier est utilisé par l'instruction "valfil". On consultera l'annexe technique dédiée pour plus d'informations.

 

Onglet Agrégats

Présentation

On définit dans cet onglet les agrégats que l'on souhaite gérer. Un agrégat est une table stockant des cumuls intermédiaires basés sur les différentes valeurs que peuvent prendre un champ ou une combinaison de champs. L'intérêt de ces agrégats réside dans une optimisation des temps d'accès lorsqu'une restitution ne s'intéresse qu'aux mesures cumulées sur l'un des agrégats : l'accès est alors direct, les données n'étant pas recalculées.

On peut définir dans cet écran un ou plusieurs agrégats :

  • une ligne du tableau supérieur représente un agrégat
  • lorsque le curseur est positionné sur une ligne du tableau, les tableaux inférieurs (Dimensions et Index) se remplissent avec les caractéristiques de chaque agrégat.

Le tableau Dimensions donne la liste des dimensions dont le croisement définit un agrégat. Ces dimensions peuvent être d'un type prédéfini (date, menu local, table diverse), ou du type Autre; ce type permet de saisir une des dimensions listées dans l'onglet correspondant.

Il est à noter que, pour chaque agrégat défini sur la table de faits :

  • la dimension site est obligatoire si une autorisation par site est gérée sur la table de faits.
  • les dimensions porteuses d'un code d'accès sont également obligatoires.

Le tableau Index permet de définir des index pour rendre l'accès plus rapide aux données de l'agrégat.

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau Agrégats

  • champ NUMAGG

 

  • Nom (champ CODAGG)

Ce code identifie l'agrégat paramétré sur la table de faits.

Ce code activité permet de rendre optionnel des agrégats définis sur une table de faits.

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é.

Tableau Dimensions

  • Type dimension (champ TYPDIM)

Ce champ définit le type de dimension faisant partie de l'agrégation. Ce peut être soit une dimension définie dans l'onglet des liens (dans ce cas, on utilise le type Autre), soit une dimension implicitement créée à partir de types de données particuliers (le type Date, sur lequel des agrégats temporels peuvent être définis, et les types menu local et tables diverses).

Permet de donner le codee de la dimension qui fait partie de l'agrégat. Lorsque le type de dimension n'est pas Autre, la première dimension du type sélectionnée est proposée par défaut (elle est imposée s'il n'en n'existe pas d'autre).

  • Champs (champ CHAMPS)

Valeur affichée uniquement qui donne la liste des champs concernés par la dimension faisant partie de l'agrégat.

  • Niveau d'agrégation (champ NIVEAU)

Définit le niveau d'agrégation d'une dimension lorsqu'elle est de type date. Ce peut être au choix le jour, le mois, le trimestre, ou l'année (mais seuls les niveaux définis dans le tableau des champs peuvent être utilisés).

Tableau Index

  • Index (champ INDEX)

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.

 

Boutons spécifiques

Permet de créer le traitement qui alimentera les agrégats créés.

Ce traitement a pour nom WMF suivi du code de la table de faits; on y trouve des étiquettes OUVRE, FERME, INSERT, ERASE, ALIM_i (i=numéro de l'agrégat) qui sont appelées par les traitements permettant de mettre à jour les données.

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

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :

Il doit y avoir au moins un champ

On a voulu créer une table de faits sans aucun champ.

Le champ doit être numérique

On a voulu créer une mesure sur un champ non numérique.

Code déjà défini en ligne LIG

Il est interdit de définir deux fois un lien vers la même dimension.

Nombre de champs incorrect
        DIMENSION(NBCHAMPS)

L'expression de liens définie dans le tableau des liens comporte un nombre de composantes différent de celui défini par la clé principale de la dimension (dont le code est donné dans le message, le nombre de composants attendus étant donné entre parenthèses).

CHAMP :Champ de type incorrect (XXX)
         (le champ doit être de type : xxxxxxxx)

On a saisi, dans une expression de lien, un champ dont le type ne correspond pas au type de composant défini dans la clé.

CHAMP : le champ doit être de type dimension
CHAMP : Champ de type incorrect

Lorsqu'on saisit, dans le tableau des agrégats, un agrégats sur champ de type date, menu local, ou dimension, le système vérifie que le champ en question a bien été déclaré comme dimension (et non pas comme information ou champ technique), et qu'il est du bon type. Si ce n'est pas le cas, l'un des deux messages précédents est affiché.

EXPRESSION : Expression de type incorrect

Si on saisit, dans le tableau des agrégats, un agrégat de type Autres, l'expression de liens n'est saisie que si plusieurs liens vers une même dimension existent. Cette erreur est affichée si le lien saisi ne correspond pas à une des expressions de liens de l'onglet Liens.

CHAMP : Champ site de type incorrect (XXX)

Le champ site ne peut pas avoir de code activité

Ces erreurs concernent le champ site indiqué dans le premier onglet. Ce champ doit impérativement être de type FCY (ici, il est de type XXX), et il peut en aucun cas être optionnel, comme ce pourrait être le cas si un code activité lui était affecté.

CHAMP : Champ date inexistant
CHAMP : Champ date de type incorrect (XXX)

Ces erreurs concernent le champ date indiqué dans le premier onglet. Ce champ doit impérativement être de type D (ici, il est de type XXX), et il peut en aucun cas être optionnel, comme ce pourrait être le cas si un code activité lui était affecté.

CHAMP : Champ non référencé dans les liens

Un champ défini comme une dimension n'est présent dans aucune expression de liens.

AGREG : l'agrégat n'a aucune dimension

On a défini un agrégat sans lui associer aucune dimension.

SITE: le champ site n'est pas présent dans l'agrégat AGREG

Le champ qui définit le site (SITE dans l'exemple) n'est pas présent dans agrégat correspondant.

CHAMP Incompatibilité entre agrégats et code d'accès

Lorsqu'un champ permet de filtrer les accès à la table de faits, gérer des agrégats n'a pas de sens (car ces agrégats risquent de cumuler des informations qui seront partiellement filtrées en cas de zoom sur le détail).

DIMENSION : Dimension non définie sur la table

Dans l'onglet des agrégats, on référence une dimension existante, mais non déclarée dans l'onglet Liens de la table de faits.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre