Création de scripts de mapping

Pour les mappings Comme, vous pouvez créer des scripts de mapping pour désigner le mapping conditionnel. Ce type de mapping vous permet d'indiquer des membres source mappés avec des expressions de script plutôt qu'avec des membres cible codés en dur. Les valeurs cible sont affectées dans la valeur de script. Activez le script de mapping en plaçant #SQL dans le champ Valeur cible pour un script SQL. (La ligne qui utilise un script a la valeur cible de #SQL). La ligne suivante dispose du séparateur <!SCRIPT> et le script réel, suivi de <!SCRIPT>. Les scripts de mapping, utilisés conjointement avec l'ordre de traitement des dimensions, permettent un mapping reposant sur les résultats des mappings de dimension, c'est-à-dire les mappings de dimension ayant déjà été traités. Reportez-vous à la section Utilisation de scripts de mapping.

Pour créer un script de mapping, procédez comme suit :

  1. Dans l'onglet Workflow, sélectionnez Mapping de chargement des données.
  2. Facultatif : sélectionnez l'emplacement souhaité.
  3. Sélectionnez l'onglet Comme.

    Les scripts de mapping ne sont pas disponibles pour les types de mapping Explicite et Multidimension.

  4. Sélectionnez la valeur source.
  5. Dans Valeur cible, sélectionnez l'une des valeurs suivantes :
    • Pour un script de mapping basé sur Jython, entrez #SCRIPT.

    • Pour un script de mapping basé sur SQL, entrez #SQL.

      Pour les mappings basés sur SQL, Oracle Hyperion Financial Data Quality Management, Enterprise Edition indique la valeur spéciale #SQL pour la "valeur cible". Pour cette raison, ce champ ne peut pas être utilisé pour spécifier la valeur "IGNORE". Pour marquer une ligne, utilisez soit VALID_FLAG = "Y" (ligne valide), VALID_FLAG = "N" (ligne non valide), soit VALID_FLAG = "I" (ligne ignorée en fonction du critère défini par l'utilisateur).

      Par exemple, si vous voulez mapper des entrées NULL afin qu'elles soient ignorées, indiquez la colonne de table de données pour la dimension, puis spécifiez VALID_FLAG = "I". Dans l'exemple suivant, UD3 identifie la colonne de table de données pour la dimension de produit.

      L'image représente l'éditeur de scripts

  6. Dans Nom de la règle, entrez le nom de règle de données pour le mapping.
  7. Cliquez sur Enregistrer.

    L'icône Editeur de scripts (Image représentant l'icône Editeur de scripts) est activée.

  8. Cliquez sur l'icône Editeur de scripts.
  9. Dans Modifier le script, saisissez le script de mapping, puis cliquez sur OK.

    Par exemple, le script de mapping basé sur Jython suivant vérifie si les deux premiers caractères du compte sont 11 et si l'entité est 01. Lorsqu'une correspondance est détectée, la cible est définie sur Cash2 et le montant cible sur 0. De plus, le script met à jour la colonne attribute1 de la table TDATASEG. (Reportez-vous à la section Référence à la table TDATASEG). Ce script utilise l'objet fdmResultMap (reportez-vous à la section Utilisation d'objets Jython avec des scripts de mapping).


    Image représentant l'écran Modifier le script

    Dans cet exemple, le script SQL est utilisé et la logique est implémentée dans une instruction SQL CASE. L'instruction CASE est utilisée dans la commande SET de l'instruction UPDATE interne. L'instruction de mapping ci-dessous est convertie en instruction UPDATE répertoriée


    Image représentant l'écran Modifier le script avec le script de mapping basé sur SQL.
    UPDATE TDATASEG  
    SET ACCOUNTX =
    CASE
                  WHEN ACCOUNT LIKE ‘L%’ AND ICP = ‘000’ THEN ‘A4140‘
                  WHEN ACCOUNT IN (‘110’,’120’,’130’) THEN ‘A100’’
                  ELSE ‘A’ || ACCOUNT
    END
    ,DESC1 = COALESCE(DESC1, ACCOUNT || ‘.’ || ICP)
    WHERE ACCOUNT …..