我正在尝试找到 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()
也不对吗?
我希望有人能用这个表达来帮助我。