【发布时间】:2012-08-07 19:22:34
【问题描述】:
我现在正在试用 Filemaker Pro 12,之前没有 FM 经验,但有其他基本的 DB 经验。我遇到的问题是尝试对跨越一对多关系的报告进行过滤查询。这是一个例子;
两张桌子:
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中一对多关系的结果吗?
【问题讨论】:
标签: filemaker