在 Filemaker Pro 12 中,我正在尝试为计算字段编写一个公式,该公式将根据同一个相关表中的另一个字段对相关表中的一个字段进行求和。正常的 Filemaker 总和方程如下所示:
总和(资产::资产数量)
但是,我需要指定只有与名为 Asset Type 且值为“Building”的字段相关的数量将用于过滤将在总和中使用的 Asset Quantity 中的值。
在 Filemaker Pro 12 中,我正在尝试为计算字段编写一个公式,该公式将根据同一个相关表中的另一个字段对相关表中的一个字段进行求和。正常的 Filemaker 总和方程如下所示:
总和(资产::资产数量)
但是,我需要指定只有与名为 Asset Type 且值为“Building”的字段相关的数量将用于过滤将在总和中使用的 Asset Quantity 中的值。
有几种方法可以做到这一点:
首先,您可以在资产表中添加一个新的计算字段,例如建筑数量,其计算值为:
If (Asset Type = "Building" ; Asset Quantity ; 0)
然后您可以使用这个新建筑数量的总和,就像您之前使用 Sum(Assets::Asset Quantity) 一样。
其次,您可以在主表中添加一个新的计算字段,其值始终等于“Building”,然后添加 Assets 表的新表实例。我们将其命名为“BuildingAssets”并设置关系,以便您的 ID 匹配,并且您的新“Building”字段与资产类型匹配
Summary ID \____________/ BuildingAssets::Summary ID
BuildingText / \ BuildingAssets::Asset Type
然后你将使用
Sum (BuildingAssets::Asset Quantity)
而不是 Sum (Assets::Asset Quantity),这样您就只需要通过 Building 类型。
最后,FileMaker 12 引入了 ExecuteSQL 步骤。这可能是执行上述操作的最优雅的方式,因为它不涉及更改任何架构。该声明将类似于:
SELECT
SUM (Asset Quantity)
FROM
Assets
WHERE
Summary ID = ID AND
Asset Type = Building
有关更多信息,请查看 FileMaker 的页面:http ://www.filemaker.com/12help/html/func_ref3.33.6.html
另请查看 FileMaker SQL Sugar ("@") 模块以帮助构建查询:http ://www.modularfilemaker.org/2013/03/filemaker-sql-sugar/