Пользовательские формулы показателей
Для создания и ведения пользовательских формул показателей используется программа UJA_MAINTAIN_MEASURE_FORMULA.
Ограничения на ведение показателей
Показатели, поставляемые с Business Planning and Consolidation, нельзя удалять.
Показатели PERIODIC в инфо-провайдере PERIODIC и показатели YTD в инфо-провайдере YTD, поставляемые с Business Planning and Consolidation, нельзя изменять. Другие поставляемые показатели можно изменять на собственный риск.
ПримечаниеИзменения, внесенные в показатели, поставляемые с Business Planning and Consolidation, перезаписываются при внесении любых изменений в модель на экране "Администрирование". Рекомендуется создать собственные показатели, а не изменять поставляемые.Имена формул нельзя дублировать.
Имена формул должны вводиться заглавными буквами.
В формулах показателей не могут использоваться родительские узлы иерархии.
Указания для ведения формул
Используйте то же имя формулы, которое определено в поле имени формулы, при присвоении имени показателя в [MEASURES].[<measure name>].
Если формула должна относиться к другому показателю, введите совместно другой оператор формулы и новую формулу в разделе оператора формулы. Например, см. оператор формулы PERIODIC и показатель QTD в модели с видом хранения YTD.
Если необходимо использовать в формуле показателя свойство измерения, следует включить техническое имя SAP Business Warehouse. Это имя можно найти, например, с помощью транзакции MDXTEST. В этой транзакции выберите инфо-провайдер в качестве каталога, а затем выберите нужную модель (инфо-провайдер). Появится список измерений. Разверните измерение, а затем его свойства, чтобы просмотреть список свойств.
[%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/GJPDBWP ") - синтаксис для использования свойства TIMEID измерения TIME.
Создание пользовательской формулы показателя
Перейдите к транзакции SE38 на уровне ABAP и введите UJA_MAINTAIN_MEASURE_FORMULA в качестве имени программы.
Нажмите кнопку Отладка.
На экране Ведение формулы показателя введите идентификатор набора моделей, идентификатор модели и идентификатор пользователя. Для сохранения формулы требуется доступ для записи к базовой модели.
Нажмите кнопку Ввод в строке системных функций.
На экране Ведение формулы показателя выполните одно из следующих действий:
Чтобы создать показатель:
Нажмите кнопку нового элемента.
Введите имя формулы показателя, описание и формулу.
Чтобы просмотреть формулу показателя, дважды щелкните его.
Чтобы просмотреть существующий показатель, установите курсор на показателе, который необходимо просмотреть, и нажмите кнопку Просмотр.
Чтобы изменить существующий показатель, установите курсор на показателе, который необходимо изменить, и нажмите кнопку Изменить.
Чтобы удалить показатель, установите курсор на показателе, который необходимо удалить, и нажмите кнопку Удалить.
Пример: 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
Пример: PERIODIC в модели 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
Пример: QTD в модели 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