0

私はFilemakerPro12を今試していますが、他の基本的なDBの経験はありますが、これまでFMの経験はありませんでした。私が抱えている問題は、1対多の関係にまたがるレポートに対してフィルター処理されたクエリを実行しようとしていることです。これが例です。

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で1対多の関係の結果をフィルタリングするためのより良い方法はありませんか?

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

重量テーブルに風袋重量フィールドなどを追加しますが、Sample_Replicate テーブルに計算フィールドを追加して、関連するすべての値の合計を取得します。

例: フィールド「total tare wt」を「sum ( Weights::tare wt)」になるように追加します。

于 2012-08-08T21:39:52.923 に答える