Примеры формул расширенных правил

Формулы расширенных правил включают расчеты перемещений и распределение расходов на основе типа сущности.

Функции

Можно использовать следующие функции формул расширенных правил:

Расчеты перемещений

Расчеты перемещений определяют копирование или перемещение данных из одного периода времени в другой. В примерах формул ниже [AccRec] представляет счет дебиторской задолженности, а [AccPay] - счет кредиторской задолженности.

Пример

Счет

Описание

Формула

Mvmt Acc Rec

Перемещения в дебиторской задолженности

IIF([TIME].CURRENTMEMBER.PROPERTIES("CALC")="N", [ACCOUNT].[ACCREC] - ([ACCOUNT].[ACCREC], [TIME].PREVMEMBER), SUM(DESCENDANTS([TIME].CURRENTMEMBER, 20, LEAVES)))

С помощью этой формулы можно определить, является ли текущий элемент измерения времени (TIME) родительским, путем проверки свойства CALC = NO. Если этот элемент не является родительским, из его дебиторской задолженности (ACCREC) вычитается дебиторская задолженность за предыдущий месяц. Если текущий элемент измерения времени является родительским, просто суммируются все его дочерние элементы.

Mvmt Inventory

Перемещения в запасах

IIF([TIME].CURRENTMEMBER.CHILDREN.COUNT=0, [ACCOUNT].[INVENTORY] - ([ACCOUNT].[INVENTORY], [TIME].PREVMEMBER), SUM(DESCENDANTS([TIME].CURRENTMEMBER, 20, LEAVES)))

Формула проверяет запасы.

Mvmt Acc Pay

Перемещения в кредиторской задолженности

IIF([TIME].CURRENTMEMBER.CHILDREN.COUNT=0, [ACCOUNT].[ACCPAY] - ([ACCOUNT].[ACCPAY], [TIME].PREVMEMBER), SUM(DESCENDANTS([TIME].CURRENTMEMBER, 20, LEAVES)))

Mvmt Work Cap

Перемещения в оборотном капитале

SUM([ACCOUNT].[MVMT ACC REC]:[ACCOUNT].[MVMT ACC PAY])

Распределение расходов на основе типа сущности

В следующих примерах предполагается наличие свойства сущности с именем Function (функция). Если у сущности есть функция SM, итоговые расходы отдела присваиваются счету S&M Exp. Если у сущности есть функция RD, итоговые расходы отдела присваиваются счету R&D Exp. Если у сущности есть функция CORP, итоговые расходы отдела присваиваются счету G&A Exp.

Пример

Счет

Описание

Формула

S&M Exp

Расходы по продажам и маркетингу

IIF([ENTITY].CURRENTMEMBER.PROPERTIES("CALC")="N", IIF([ENTITY].CURRENTMEMBER.PROPERTIES(FUNCTION) = SM, [ACCOUNT].[TOTAL DEPT EXP], NULL), SUM(DESCENDANTS([ENTITY].CURRENTMEMBER, [ENTITY].[LEV1], LEAVES)))

Сначала проверяется, является ли текущий элемент измерения сущности (ENTITY) родительским. Затем считывается свойство FUNCTION текущего элемента сущности, чтобы узнать, имеет ли оно значение “SM”. Если да, то итоговые расходы отдела берутся как расходы по продажам и маркетингу. В противном случае им присваивается нуль. Если текущая сущность является родительским элементом, выводится сумма всех дочерних элементов.

R&D Exp

Расходы на исследования и разработки

IIF([ENTITY].CURRENTMEMBER.PROPERTIES("CALC")="N", IIF([ENTITY].CURRENTMEMBER.PROPERTIES(FUNCTION) = RD, [ACCOUNT].[TOTAL DEPT EXP], NULL), SUM(DESCENDANTS([ENTITY].CURRENTMEMBER, [ENTITY].[LEV1], LEAVES)))

В этой формуле берутся значения “RD” свойства FUNCTION.

G&A Exp

Общие и административные расходы

IF([ENTITY].CURRENTMEMBER.PROPERTIES("CALC")="N", IIF([ENTITY].CURRENTMEMBER.PROPERTIES(FUNCTION) = CORP, [ACCOUNT].[TOTAL DEPT EXP], NULL), SUM(DESCENDANTS([ENTITY].CURRENTMEMBER, [ENTITY].[LEV1], LEAVES)))

Любое кодирование программного обеспечения и/или строки текста программы ("Код"), включенные в эту документацию, являются только примерами и не предназначены для использования в среде продуктивной системы. Код предназначен лишь для лучшего объяснения и наглядного представления синтаксиса и правил построения выражений в определенном кодировании. SAP не гарантирует правильность и полноту приведенного здесь Кода. SAP не будет нести ответственность за ошибки и ущерб, возникшие по причине использования этого Кода, за исключением случаев, если такой ущерб нанесен со стороны SAP намеренно или по грубой неосторожности.