OCL (Object Constraint Language) выберите, используйте сумму для атрибута
Я пытаюсь найти выражение OCL (калькулятор), но я не уверен, как получить сумму атрибутов коллекции.
У меня есть класс Customer
и класс Orders
, Я хочу сохранить сумму всех заказов определенного года в Customer
класс, атрибут revenue
, Orders
имеет атрибуты 'date_order' и 'amount'. Данный год (Дата) дает год определенной даты и Date.now()
дает текущую дату.
Я нашел это решение:
context Customer::revenue
derive: self.orders -> select(year(datum_order) = (year(Date.now()) – 1)) -> collect(amount) -> sum()
Я бы не хотел использовать метод collect, но я действительно не знаю, как это сделать, используя только оператор select. Я предполагаю, что вычеркнуть сумму и изменить сумму на amount.sum()
тоже не правильно?
Я надеюсь, что кто-то может помочь мне с этим выражением.