我现在正在试用 Filemaker Pro 12,之前没有 FM 经验,尽管有其他基本的 DB 经验。我遇到的问题是尝试对跨越一对多关系的报告进行过滤查询。这是一个例子;
2张桌子:
Sample_Replicate
PK
Sample FK
other fields
Weights
Sample_Replicate_FK (linked to PK of Sample_Replicate)
Weight
Measurement type (tare, gross, dry, ash)
Wash type (null or from list of lab assays)
我想创建一个报告,显示:(毛皮)、(干皮)/(毛皮)、(灰皮)/(毛皮)和(干皮)/(毛皮) ) 适用于所有具有非零洗涤类型的干重。
FM 似乎希望我为这些值中的每一个创建列(这是可行的,因为实验室化验列表的变化很小,并且更新数据库是可以接受的,尽管不是首选)。我试图将总重量、皮重重量等添加到 Sample_Replicate 表中,但当我使用计算字段和方法时,它只返回第一条记录(皮重重量):
tare wt field = Case ( Weights::Measurement type = "Tare"; Weights::Weights )
gross wt field = Case ( Weights::Measurement type = "Gross"; Weights::Weights )
etc...
当我添加标准时,它似乎也失败了:
and Is Empty(Weights::Wash type )
有人可以在这个问题上指出我正确的方向。谢谢
编辑: 我遇到了这个:http ://www.filemakertoday.com/com/showthread.php/14084-Calculation-based-on-1-to-many-relationship
似乎我可以为权重表上的每个测量和清洗类型组合创建约 15 个计算字段,然后在将这 15 列添加到表中之后,在 sample_replicate 中对这些列进行求和。这看起来绝对是愚蠢的。难道没有更好的方法来过滤 FM 中一对多关系的结果吗?