Références de niveau dans les builds de dimension

Les niveaux sont définis à partir d'une hiérarchie ascendante, où les membres feuille sont de niveau 0, et chaque étape plus proche du nom de dimension incrémente le niveau de 1. Lorsque vous créez des dimensions Essbase à partir d'une source ascendante, utilisez la méthode de construction Niveau. Si les données source contiennent des valeurs NULL, utilisez la méthode de construction Niveau de processus, valeurs NULL.

Dans une source de données ascendante, chaque enregistrement définit un seul membre d'une dimension. La définition commence par les informations les plus spécifiques sur le membre et fournit progressivement des informations plus générales. Un enregistrement type indique le nom du nouveau membre, le nom de son parent, le parent de son parent, etc.

Par exemple, dans l'outline illustrée ci-dessous, les membres de niveau inférieur se trouvent au bas des branches de la dimension Product.

Figure 14-3 Numéros de génération et de niveau


Cette image présente le numéro de génération et le numéro de niveau de chaque membre.

Pour créer l'outline à l'aide d'un travail de construction de dimension, vous pouvez entrer la source de données ascendante suivante :

100-10-12  100-10  100
100-20-12  100-20  100

En général, vous exécutez une construction de dimension à l'aide de la méthode de construction Niveau lorsque les membres de niveau inférieur sont séquencés de gauche à droite. Les membres de niveau 0 (niveau feuille) se trouvent dans le premier champ, les membres de niveau 1 dans le deuxième champ, etc. Cette organisation est le contraire de la façon dont les données sont présentées pour les références de génération (de haut en bas).

Supposons que vous disposiez d'un cube avec une dimension Product et que vous souhaitiez utiliser le fichier de données ci-dessous, délimité par des tabulations, pour créer d'autres membres de produit dans la dimension Product.

600-10-11	600-10	600
600-20-10	600-20	600
600-20-18	600-20	600

La source de données est "ascendante" en ce sens que la première colonne de la source de données contient de nouveaux membres de niveau feuille (600-10-11, 600-20-10 et 600-20-18). La deuxième colonne contient les parents des nouveaux membres (600-10 et 600-20), et la troisième colonne contient les parents des nouveaux membres (600).

La règle de chargement de construction de dimension utilise la méthode de construction de référence de niveau pour ajouter les membres à la dimension Product. La règle spécifie le numéro de niveau et le type de champ pour chaque champ de la source de données. Vous devez également sélectionner la méthode de construction Niveau dans les propriétés de dimension de la règle, sauf si vos données source contiennent des valeurs NULL (pour ce cas d'emploi, reportez-vous à la rubrique Gestion des champs vides ci-dessous).

Règle de construction de dimension pour une construction de niveau

Essbase crée la hiérarchie suivante à partir de la source des données et de la règle :

Figure 14-4 Niveaux


Cette image présente les nouveaux membres créés lors de la création du niveau.

Gérer les champs vides

Lorsque vous créez des dimensions à partir de références de génération ou de niveau dans les données source, vous pouvez choisir de traiter des valeurs NULL. Le traitement NULL indique les actions qu'Essbase doit effectuer lorsqu'il rencontre des champs vides dans la source de données.

Remarques :

Les options de traitement NULL ne sont disponibles que pour les règles de construction de dimension standard (non basées sur un index).

Si le traitement NULL n'est pas activé, Essbase rejette tous les enregistrements avec des valeurs NULL et écrit une erreur dans le journal des erreurs.

Pour activer le traitement NULL, sélectionnez l'une des méthodes de construction de traitement NULL dans les propriétés de dimension lorsque vous créez la nouvelle règle de construction de dimension.


Méthodes de construction de traitement NULL dans les propriétés de dimension pour une nouvelle règle

Si vous utilisez la méthode de construction Niveau de traitement NULL, elle indique à Essbase d'attendre des valeurs NULL lors du traitement des références de niveau dans les données source, ce qui permet d'éviter les erreurs.

Exemple

Pour cet exemple de construction de dimension, supposons que vous souhaitiez ajouter une hiérarchie chiffrée/asymétrique telle que la suivante dans une nouvelle dimension Canal sur Sample Basic.


La dimension Canal contient quatre niveaux de profondeur des membres. Les ID de canal sont au niveau 0. Les ID canal indirect ont trois niveaux de membres au-dessus d'eux, et les ID canal direct ont quatre niveaux de membres au-dessus d'eux, ce qui en fait une hiérarchie déséquilibrée / décalée.

La source de données est ascendante, ce qui signifie que les niveaux les plus bas apparaissent en premier dans chaque enregistrement. Par conséquent, il est logique d'utiliser une méthode de construction de références de niveau. Cependant, des instructions de traitement NULL seront requises. Les trois premiers enregistrements de données source contiennent des champs NULL, car il n'existe aucune donnée d'emplacement pour les canaux indirects.

Channel-04,,Indirect,"All Channels"
Channel-07,,Indirect,"All Channels"
Channel-24,,Indirect,"All Channels"
Channel-21,Outlet,Direct,"All Channels"
Channel-29,Mall,Direct,"All Channels"
Channel-31,Kiosk,Direct,"All Channels"

Vous pouvez créer une règle pour créer les dimensions et éviter les erreurs liées aux valeurs NULL à l'aide de la méthode de construction Niveau de processus NULL.

Pour créer une règle pour cet exemple,

  1. Importez/créez le cube Sample Basic à l'aide du classeur d'application disponible dans la galerie du catalogue de fichiers sur le serveur Essbase.

  2. Créez un fichier de données délimité par des virgules comme suit, nommez-le levchannel.txt et téléchargez-le vers le répertoire de cube Sample Basic.

    Channel-04,,Indirect,"All Channels"
    Channel-07,,Indirect,"All Channels"
    Channel-24,,Indirect,"All Channels"
    Channel-21,Outlet,Direct,"All Channels"
    Channel-29,Mall,Direct,"All Channels"
    Channel-31,Kiosk,Direct,"All Channels"
  3. Sur la page d'accueil, ouvrez l'application, puis la base de données (cube).

  4. Sélectionnez l'onglet Scripts, puis cliquez sur Règles.


    L'onglet Scripts est sélectionné et la mosaïque Rules est mise en surbrillance dans l'interface Web Essbase.

  5. Cliquez sur Créer et choisissez Construction de dimension (standard).


    Dans la boîte de dialogue de la base de données, cliquez sur le bouton Create et sélectionnez l'option Dimension Build (Regular)

  6. Dans la boîte de dialogue Nouvelle règle,

    1. Entrez un nom de règle, par exemple, levchannel.

    2. Pour Type de source, sélectionnez Fichier, cliquez sur Catalogue et accédez à levchannel.txt.

      Lorsque vous cliquez sur Catalogue, le fichier doit se trouver dans le répertoire du cube sur le serveur Essbase par défaut. Vous devez donc l'avoir déjà téléchargé à l'aide de la section Fichiers de l'interface Web Essbase. Si le fichier se trouve sur votre ordinateur client, cliquez sur Navigateur de fichiers pour le localiser.

    3. Conservez les champs Numéro d'enregistrement d'en-tête et Numéro d'enregistrement de construction de dimension sur 0. Les enregistrements d'en-tête ne sont pas utiles pour les builds de dimension.

    4. Cliquez sur Continuer.

    5. La règle de construction de dimension s'ouvre avec des champs non définis et affiche un aperçu des données (du fichier texte) qui alimentent la grille sous les champs.
      Editeur de règles de construction de dimension pour la nouvelle règle "levchannel", avec les champs non définis 1 à 4 en tant que colonnes de métadonnées en attente de remplissage. Sous chaque champ figurent les valeurs de données importées à partir du fichier de données source.

  7. Comme il s'agit d'une nouvelle règle, aucune dimension n'est encore associée.

    1. Cliquez sur Dimensions.
      Bouton Dimensions dans l'éditeur de règles

    2. Saisissez le nom de la nouvelle dimension Canal, puis cliquez sur Ajouter.
  8. Vous devez maintenant définir la méthode de construction et vérifier les autres instructions opérationnelles de construction de dimension. Cliquez sur le lien Canal pour modifier les propriétés de dimension.

  9. Remplacez la méthode de création par Niveau de processus NULL.


    Fenêtre Modifier les dimensions dans l'éditeur de règles de construction de dimension, avec le niveau de processus NULL sélectionné.

    Cliquez ensuite sur OK.

  10. Cliquez sur le sélecteur Dimension dans le champ 1, puis sélectionnez Canal.
    Champ 1 de l'éditeur de règles de construction de dimension, rempli de données et avec la dimension Canal sélectionnée.

  11. Remplacez le sélecteur Type du champ 1 par Niveau.

  12. Incrémentez le niveau sur 0, car les ID de canal sont au niveau 0.

  13. Dans les champs 2 à 4, la dimension Canal doit maintenant être sélectionnée. Remplacez les sélecteurs de type par niveau et marquez les numéros de niveau comme 1 pour le champ 2, 2 pour le champ 3 et 3 pour le champ 4.


    Règle de construction de dimension permettant de créer une dimension de canal avec une hiérarchie irrégulière à l'aide de la méthode de construction NULL de niveau processus. Le champ 1 est défini comme Canal, Niveau, 0 et contient les ID canal. Le champ 2 est défini comme Canal, Niveau, 1 et contient trois champs NULL et trois champs d'emplacement (Outlet, Mall et Kiosk). Le champ 3 est défini comme Canal, Niveau, 2 et Indirect pour trois enregistrements et Direct pour trois enregistrements. Le champ 4 est défini comme Canal, Niveau, 3 et contient Tous les canaux.

  14. Vérifiez la règle, puis enregistrez-la et fermez-la. En cas d'erreur, reportez-vous à Conditions requises pour les fichiers de règles de construction de dimension valides.

  15. Exécutez le travail de construction de dimension.

  16. Affichez l'outline pour vérifier que la dimension Channel et la hiérarchie de membres attendue ont été ajoutées.

Flux de traitement NULL pour les builds de dimension basés sur le niveau

Si le traitement des valeurs NULL est activé, Essbase traite les valeurs NULL de plusieurs manières :

  • Champ de niveau NULL : si une valeur NULL se produit lorsque Essbase attend un champ de niveau, Essbase promeut le champ de niveau suivant pour remplacer le champ manquant.

    Exemple

    La construction de dimension place Indirect au niveau 1 au lieu du niveau 2, car le champ 2 du niveau 1 contient une valeur NULL.


    Le champ 1 est Canal, niveau 0 contenant un ID canal sur la première ligne. Le champ 2 est Canal, niveau 1 contenant une valeur NULL sur la première ligne. Le champ 3 est Canal, niveau 2, contenant Indirect dans la première ligne. Le champ 4 est Canal, niveau 3, contenant Tous les canaux.

  • Champ NULL avant un champ secondaire : si une valeur NULL se produit directement avant un champ secondaire, Essbase ignore le champ secondaire. (Les options de champ secondaire sont Alias, Propriété, Formule, Niveau en double, Alias de niveau en double, Nom de devise, Catégorie de devise, Parent d'attribut, Attribut défini par l'utilisateur et Nom d'une dimension d'attribut.)

    Exemple

    La construction de dimension ignorera l'alias dans le champ 3, car le champ 2 contient une valeur NULL. Essbase placera Indirect au niveau 1 et Tous les canaux au niveau 2.


    Le champ 1 est Canal, niveau 0 contenant un ID canal. Le champ 2 est Canal, le niveau 1 contenant une valeur NULL. Le champ 3 est Canal, Alias, contenant le catalogue. Le champ 4 est Canal, niveau 2, contenant Indirect. Le champ 5 est Canal, niveau 3 contenant Tous les canaux.

  • Champ secondaire NULL : si une valeur NULL se produit lorsque Essbase attend un champ secondaire, Essbase ignore le champ NULL secondaire et poursuit le chargement (il s'agit du même comportement que pour la méthode de construction Niveau).

    Exemple

    La construction de dimension ignorera le premier alias dans le champ 3, car ce champ contient une valeur NULL. Le membre Outlet sera ajouté à l'outline sans alias.


    Le champ 1 est Canal, le niveau 0 contenant les ID canal. Le champ 2 est Canal, le niveau 1 contenant Sortie dans la première ligne et Centre commercial et Kiosque dans les deux lignes suivantes. Le champ 3 est Canal, Alias, contenant une valeur NULL dans la première ligne et des alias dans les deux lignes suivantes. Le champ 4 est Canal, niveau 2, contenant Direct dans toutes les lignes. Le champ 5 est Canal, niveau 3 contenant Tous les canaux dans toutes les lignes.