计算FileMaker中不同表中3个总计之间的平衡

时间:2015-10-31 22:02:18

标签: filemaker

有问题的2个表:

INV

费用

有问题的3个字段:

INV_total, EXP_total, TAX_TOTAL

我需要在报告中进行计算,以显示3个字段之间的差异,有点像:

INV_total - TAX_total + EXP_total

然而由于某种原因,这个相对简单的想法使我(当然在执行方面:))

任何帮助都将不胜感激。

我对FMP比较陌生。

是......温柔......

2 个答案:

答案 0 :(得分:0)

有许多可能的答案,具体取决于您的具体需求和用途。从解决方案开始以来,您不太可能希望从所有时间总计所有发票和所有费用。

我们假设您想要针对特定​​年度进行此计算。您可以让脚本找到给定年份的发票,将发票和税金总额放在变量中(使用汇总字段来获取它们),转到费用表并执行相同的操作。

另一种方法是使用第三个表格,并根据日期范围通过关系获得总计。

加了:

这是第一个选项的扩展,使用脚本来获取总费用。

这些是脚本中使用的字段:

费用

  • 日期(日期)
  • 金额(数量)
  • sTotalAmount(摘要,总金额)

发票

  • 日期(日期)
  • gTotalExpenses(Number,Global)

脚本本身看起来像这样(这里,我们正在为当年生成报告):

Enter Find Mode []
Go to Layout [ Expenses ]
Set Field [ Expenses::Date ; Year ( Get (CurrentDate) ) ]
Perform Find []
Set Field [ Invoices::gTotalExpenses ; Expenses::sTotalAmount ]
Enter Find Mode []
Go to Layout [ Invoices ]
Set Field [ Expenses::Date ; Year ( Get (CurrentDate) ) ]
Perform Find []
Sort Records []

在此脚本的末尾,您应该看到包含全年gTotalExpenses字段的报告,其中包含当前年度的总费用。

答案 1 :(得分:0)

从长远来看,在这种情况下,我会假设费用与发票相关。因此,要进行此计算,您最好使用一些关系数据库技能。

  1. 为您的发票提供唯一ID,最好的方法是添加一个名为InvoiceID的字段,这是一个唯一的序列号。对于此示例,我们假设您的发票的发票ID为123
  2. 将一个名为InvoiceID的字段添加到您的费用表中。与InvoiceID为123的发票相关的每笔费用都需要将InvoiceID设置为123.
  3. 转到关系图并将发票表中的InvoiceID链接到费用表中的InvoiceID,将Invoice表中的InvoiceID拖放到费用表中的InvoiceID。
  4. 在发票表中,创建一个INVTotal - TAXTotal + sum( Expense::EXP_total )
  5. 的计算字段