Примеры формул расширенных правил
Формулы расширенных правил включают расчеты перемещений и распределение расходов на основе типа сущности.
Можно использовать следующие функции формул расширенных правил:
Расчеты перемещений
Расчеты перемещений определяют копирование или перемещение данных из одного периода времени в другой. В примерах формул ниже [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 намеренно или по грубой неосторожности.