0

我现在正在试用 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 中一对多关系的结果吗?

4

2 回答 2

1

下面的结构怎么样:

Replicate
  ID
Wash Weight
  Replicate ID
  Type (null or from list of lab assays)
  Tare
  Gross
  Dry
  Ash
  + calculated fields

我假设您只计算相同洗涤类型的重量比。重量类型(皮重、毛重等)在这里不仅仅是标签;由于您在特定地方的公式中使用它们,它们更像是角色,所以我认为它们应该有自己的领域。

于 2012-08-12T20:54:06.537 回答
0

在 Weights 表中添加 tare wt 字段等,然后在 Sample_Replicate 表中添加一个 calc 字段以获取所有相关值的总和

例如:将字段“total tare wt”添加为“sum (Weights::tare wt)”

于 2012-08-08T21:39:52.923 回答