Как вы делаете несколько транзакций в одном I-дескрипторе?

В настоящее время у меня есть IDescriptor, который извлекает Sales из другого ФАЙЛА за период 1,2,3. Я хочу иметь возможность получать затраты из периода 1,2,3 и вычитать итоговые суммы, чтобы получить прибыль.

Текущий оператор I-дескриптора:

TRANS(SAS1,ITEM,4,'X');@1<1,1,1>+@1<1,1,2>+@1<1,1,3>
  • 4 = Продажи
  • 3 = Стоимость
  • @ 1<1,1,1> = период 1
  • @ 1<1,1,2> = период 2
  • @ 1<1,1,3> = период 3
  • @ 1<1,1,4> = период 4

2 ответа

Решение

Ты ищешь EXTRACT

Итак, попробуйте следующий атрибут loc:

TRANS(SAS1,ITEM,4,'X');EXTRACT(@1,1,1,1)+EXTRACT(@1,1,1,2)+EXTRACT(@1,1,1,3)

Следующая часть вопроса не совсем понятна для меня, поэтому дайте мне знать, если я сделал неверное предположение.

Затраты поступают из текущего файла (того, к которому относится этот словарь) из атрибута (поля) 3. Он имеет тот же формат, что и данные для продаж (<1,1,1 до 3>). В этом случае вам нужно будет использовать @RECORD.

TRANS(SAS1,ITEM,4,'X');EXTRACT(@1,1,1,1)+EXTRACT(@1,1,1,2)+EXTRACT(@1,1,1,3);EXTRACT(@RECORD,1,1,1)+EXTRACT(@RECORD,1,1,2)+EXTRACT(@RECORD,1,1,3);@2-@3

Итак, давайте разберемся с этим:

  • Считать атрибут 4 из записи ITEM в файле SAS1. Вернуть пустую строку, если элемент не существует. Держите это в положении 1 (@1):

TRANS(SAS1,ITEM,4,'X');

  • Извлеките многозначные значения от 1 до 3 из значения в позиции 1, затем сложите их вместе (). Держите это в положении 2:

EXTRACT(@1,1,1,1)+EXTRACT(@1,1,1,2)+EXTRACT(@1,1,1,3);

  • Извлеките мульти-значения от 1 до 3 из текущей записи и сложите их вместе. Держите это в положении 3:

EXTRACT(@RECORD,1,1,1)+EXTRACT(@RECORD,1,1,2)+EXTRACT(@RECORD,1,1,3);

  • Наконец, вычтите значение в позиции 3 (общие затраты) из значения в позиции 2 (общие продажи). Поскольку это последняя позиция, верните результат:

@2-@3

Единственное, чего не хватает в ответе Дэна, это то, что вам нужен еще один TRANS, чтобы получить поле COST, следовательно, TRANS(SAS1,ITEM,3,'X');

после первых операций по выписке.

Другие вопросы по тегам