我現在嘗試使用Filemaker Pro 12,沒有以前的FM經驗,雖然其他基本的數據庫經驗。我遇到的問題是嘗試爲跨越一對多關係的報表執行過濾查詢。這是一個例子;帶計算字段和過濾的FileMaker數據庫設計
的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中。這似乎絕對asinine。沒有更好的方法來過濾FM中的一對多關係的結果嗎?
這是從我添加的編輯的建議。我做了這個,從而增加了15個計算列。那裏肯定有更好的方法。 – 2012-08-09 02:11:29
代替calc可以設置腳本並使用ExecuteSQL從權重表中獲取值。您仍然必須在sample_replicate表中包含字段來保存查詢結果,但這會讓您遠離權重表中的計算字段。 檢出FileMaker Pro中的ExecuteSQL 12幫助 – andyknas 2012-08-10 22:02:08