カスタムメジャー式
UJA_MAINTAIN_MEASURE_FORMULA プログラムを使用して、カスタムメジャー式を登録および更新します。
メジャー更新に関する制約
Business Planning and Consolidation で提供されるメジャーは削除することができません。
Business Planning and Consolidation で提供される期間インフォプロバイダのメジャー PERIODIC と YTD インフォプロバイダのメジャー YTD は変更することができません。提供されるその他のメジャーは、ユーザ自身の責任において変更することができます。
注記Business Planning and Consolidation で提供されるメジャーの変更は、管理画面からそのモデルに対する変更を行うと上書きされます。提供されたメジャーは変更せずに、カスタムメジャーを登録することをお奨めします。式名は重複することができません。
式名は大文字で入力する必要があります。
階層の親ノードをメジャー式に使用することはできません。
式更新のヒント
[MEASURES].[<measure name>] でメジャー名を指定する場合は、式名項目で定義したものと同じ式名を使用します。
式で別のメジャーを参照する必要がある場合は、式ステートメントセクションにその式ステートメントと新規式を一緒に入力します。たとえば、ストレージタイプが YTD のモデルでは、期間および QTD メジャーの式ステートメントを参照してください。
メジャー式内のディメンションのプロパティを使用する場合は、SAP Business Warehouse 技術名称を含める必要があります。この名称は、たとえば、トランザクション MDXTEST で検索することができます。このトランザクションでは、カタログとしてインフォプロバイダを選択してから、モデル (インフォプロバイダ) を選択します。ディメンション一覧が表示されます。ディメンションを展開してからプロパティを展開し、プロパティ一覧を表示します。
[%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/GJPDBWP ") は、TIME ディメンションの TIMEID プロパティを使用するための構文です。
カスタムメジャー式の登録
ABAP レイヤのトランザクション SE38 にジャンプし、プログラム名として UJA_MAINTAIN_MEASURE_FORMULA を入力します。
デバッグボタンをクリックします。
メジャー式更新画面で、モデルセット ID、モデル ID、およびユーザ ID を入力します。式を保存するには、コアモデルへの書込アクセス権が必要です。
システム機能バーの入力ボタンをクリックします。
メジャー式更新画面で、次のいずれかの操作を行います。
メジャーを登録します。
新規アイテムボタンをクリックします。
メジャー式名、説明、式を入力します。
メジャー式を照会するには、ダブルクリックします。
既存のメジャーを照会するには、照会するメジャーにカーソルを置き、照会ボタンをクリックします。
既存のメジャーを変更するには、照会するメジャーにカーソルを置き、変更ボタンをクリックします。
メジャーを削除するには、削除するメジャーにカーソルを置き、削除ボタンをクリックします。
サンプル - YTD モデルの 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
サンプル - YTD モデルの PERIODIC
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
サンプル - YTD モデルの QTD
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