我有一个FM13数据库,带有一个表"机器"及其相关表"消费"与ID连接。 我的布局显示了机器数据和带有相关消耗条目的门户。 现在我想总结一下这些字段" amount"所有相关条目中的" fuelType"是"柴油"和#34;年"是" 2015"进入机器表中的一个计算字段。
任何人都可以告诉我如何做到这一点吗?
THX 担
答案 0 :(得分:1)
基于连接字段,基于两个表中的计算字段创建另一个关系:
id_fueltype_year:12345_diesel_2015
然后,您可以在包含Sum(newrelation:amount)
的Machines中创建一个Calculation字段如果您在calc field machines表中硬编码燃料类型,那么结果将始终是指定的燃料类型(例如柴油)。因此,您需要为每种字段类型创建多个字段。或者您可以创建燃料类型字段,当您更改它时,摘要计算字段将在选择时更新。
答案 1 :(得分:1)
如果仅用于显示,您可以根据现有关系创建一个单行门户并过滤它以仅显示记录=
Consumption::FuelType = "diesel" and Consumption::Year = 2015
或(最好是恕我直言)=
Consumption::FuelType = Machines::gFuelType
and
Consumption::Year = Machines::gYear
Machines::gFuelType
和Machines::gYear
是全局字段,您可以在其中选择要汇总的任何类型/年份。
将已定义的摘要字段(在“消耗”表中)作为已过滤门户内的[金额]总计。
如果您需要结果作为进一步处理的数据,那么您需要添加一个专用关系(使用另一个出现的消耗表):
Machines::MachineID = Consumption 2::MachineID
AND
Machines::gFuelType = Consumption 2::FuelType
AND
Machines::gYear = Consumption 2::Year
并使用Sum ( Consumption 2::Amount )
汇总相关条目。
答案 2 :(得分:1)
除了Michael建议的方式之外,FM13还引入了ExecuteSQL命令,该命令可用于计算字段。计算结果如下:
ExecuteSQL (
"SELECT SUM(amount)" & ¶ &
"FROM consumption" & ¶ &
"WHERE FuelType = 'diesel' AND \"Year\" = 2015" ;
"" ; ""
)