Formules de mesures personnalisées

Vous utilisez le programme UJA_MAINTAIN_MEASURE_FORMULA pour créer et gérer des formules de mesures personnalisées.

Restrictions sur la gestion des mesures

  • Les mesures fournies avec SAP Business Planning and Consolidation ne peuvent pas être supprimées.

  • Les mesures PERIODIC sur un InfoProvider périodique et le cumul sur un InfoProvider par année cumulée qui sont fournis avec SAP Business Planning and Consolidation ne peuvent être modifiées. Les autres mesures fournies peuvent être modifiées à vos propres risques.

    Remarque
    Les modifications apportées aux mesures fournies avec SAP Business Planning and Consolidation sont remplacées par les modifications que vous effectuez sur ce modèle depuis l'écran Administration. Nous vous recommandons de créer des mesures personnalisées au lieu de modifier les mesures livrées.
  • Les noms de formule ne peuvent être dupliqués.

  • Les noms de formule doivent être saisis en majuscules.

  • Les nœuds parent d'une hiérarchie ne peuvent être utilisés dans les formules de mesure.

Conseils pour gérer les formules

  • Utilisez le même nom de formule que celui indiqué dans le champ Nom de formule lorsque vous nommez la mesure dans [MEASURES].[<measure name>].

  • Si votre formule doit se référer à une autre mesure, saisissez l'autre instruction de formule et une nouvelle formule dans la section de l'instruction de formule. Par exemple, vous pouvez vous référer à l'instruction de la formule des mesures Periodic et QTD dans le modèle avec un type de stockage YTD.

  • Si vous souhaitez utiliser une propriété de dimension dans Formule de mesure, vous devez inclure le nom technique de SAP Business Warehouse. Par exemple, vous pouvez trouver ce nom à l'aide de la transaction MDXTEST. Dans cette transaction, choisissez InfoProvider comme catalogue puis sélectionnez votre modèle (InfoProvider). Le système affiche la liste des dimensions. Étendez la dimension puis ses propriétés pour afficher la liste de propriétés.

    [%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/GJPDBWP ") est une syntaxe permettant d'utiliser la propriété TIMEID de la dimension TIME.

Création d'une formule de mesure personnalisée

  1. Accédez à la transaction SE38 dans la couche ABAP et saisissez UJA_MAINTAIN_MEASURE_FORMULA comme nom de programme.

  2. Cliquez sur le bouton Débogage.

  3. Dans l'écran Gérer la formule de mesure, saisissez l'ID de l'ensemble de modèles, l'ID du modèle et l'ID utilisateur. Vous devez disposer d'un accès en écriture sur l'environnement pour enregistrer une formule.

  4. Cliquez sur le bouton Entrer sur la Barre de fonction du système.

  5. Sur l'écran Gérer les formules de mesure, effectuez l'une des actions suivantes :

    • Pour créer une mesure :

      1. Cliquez sur le bouton Nouvel élément.

      2. Saisissez un nom de formule de mesure, une description et une formule.

    • Pour afficher une formule de mesure, cliquez deux fois dessus.

    • Pour afficher une mesure existante, placez le curseur sur la mesure que vous souhaitez afficher et cliquez sur le bouton Afficher.

    • Pour modifier une mesure existante, placez le curseur sur la mesure que vous souhaitez modifier et cliquez sur le bouton Modifier.

    • Pour supprimer une mesure, placez le curseur sur la mesure que vous souhaitez supprimer et cliquez sur le bouton Supprimer.

Exemple — YTD dans le modèle YTD

MEMBER [MEASURES].[YTD] AS 'IIF(([%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="INC" OR [%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="LEQ"),-([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%TIME%].[LEVEL02])), ([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%TIME%].[LEVEL02])))' SOLVE_ORDER=3

Exemple — PERIODIC dans le modèle YTD

MEMBER [MEASURES].[YTD] AS 'IIF(([%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="INC" OR [%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="LEQ"),-([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%TIME%].[LEVEL02])), ([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%TIME%].[LEVEL02])))' SOLVE_ORDER=3## AS 'IIF(([%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="INC" OR [%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="EXP") AND NOT ([%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/PERIOD")="TOTAL" OR [%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/PERIOD")="Q1" OR [%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/PERIOD")="JAN" ), [MEASURES].[YTD]-([MEASURES].[YTD],[%TIME%].LAG(1)), [MEASURES].[YTD])' SOLVE_ORDER=3

Exemple — QTD dans le modèle YTD

MEMBER [MEASURES].[YTD] AS 'IIF(([%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="INC" OR [%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="LEQ"),-([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%TIME%].[LEVEL02])), ([MEASURES].[/CPMB/SDATA], CLOSINGPERIOD([%TIME%].[LEVEL02])))' SOLVE_ORDER=3

AS 'IIF(([%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="INC" OR [%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="EXP") AND NOT ([%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/PERIOD")="TOTAL" OR [%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/PERIOD")="Q1" OR [%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/PERIOD")="JAN" ), [MEASURES].[YTD]-([MEASURES].[YTD],[%TIME%].LAG(1)), [MEASURES].[YTD])' SOLVE_ORDER=3

MEMBER [MEASURES].[QTD] AS 'IIF(([%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="INC" OR [%P_ACCT%].CURRENTMEMBER.PROPERTIES("2/CPMB/ACCTYPE")="EXP"),IIF([%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/TILEVEL")="QUARTER",[MEASURES].[PERIODIC],IIF([%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/TILEVEL")="MONTH" OR [%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/TILEVEL")="WEEK" OR [%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/TILEVEL")="DAY",SUM(PERIODSTODATE([%TIME%].CURRENTMEMBER.PARENT.LEVEL, [%TIME%].CURRENTMEMBER),[MEASURES].[PERIODIC]),NULL)),[MEASURES].[YTD])' SOLVE_ORDER = 3