为计算字段选择解析上下文
上下文是可以解析出关系的关系图中的表。如果在源表中定义一个计算,而该表在关系图中具有多个摹本,则必须指定要用来解析该计算的上下文。
每种上下文选项都代表关系图中的一个不同的表以及一个不同的数据透视;为计算选择上下文将通知 FileMaker Pro 从此表摹本开始解析计算。因为每种上下文选项都代表一个不同的相关表和字段关联,为计算选择解析的上下文对于获得您希望的结果至关重要。
上下文如何改变计算结果的示例
您的数据库包含两个源表,分别名为“颜色源表”和“形状源表”。这些表具有以下属性:
源表名 |
关系图中的表摹本 |
字段名称 |
颜色源表 |
颜色表 1、颜色表 2 |
颜色 样式编号 重量 |
形状源表 |
形状表 |
形状 样式编号 重量 价格 |
这些表的关联方式如下所示:
存在两种不同的关系:
- 在第一个关系中,颜色表 1 和形状表使用“样式编号”字段关联在一起。
- 在第二个关系中,颜色表 2 和形状表使用“重量”字段关联在一起。
因为颜色表 1 和颜色表 2 共享同一个源表,在颜色源表中定义的计算既可以从颜色表 1 表摹本的上下文也可以从颜色表 2 表摹本的上下文中解析。
要了解其工作方式,请考虑上下文对于颜色源表中的两个计算字段所产生的效果。每个计算字段都使用相同的公式确定形状源表的总价;只有解析上下文不同。形状源表包含三条具有这些值的记录:
形状 |
样式编号 |
重量 |
价格 |
圆形 |
100 |
5 |
¥2.00 |
正方形 |
100 |
2 |
¥6.00 |
三角形 |
200 |
2 |
¥9.00 |
颜色源表只包含一条具有这些值的记录:
颜色 |
样式编号 |
重量 |
红色 |
100 |
2 |
因为这些关系使用不同的匹配字段,所以每种关系返回不同的相关记录集。
计算结果 1
颜色表 1 和形状表之间建立的关系使用“样式编号”作为匹配字段,返回以下两条记录:
形状 |
样式编号 |
重量 |
价格 |
圆形 |
100 |
5 |
¥2.00 |
正方形 |
100 |
2 |
¥6.00 |
在颜色源表中定义的、具有公式 Sum
(形状表::价格) 的计算字段,设置为从颜色表 1 的上下文中解析,返回值为 ¥8.00。
计算结果 2
颜色表 2 和形状表之间建立的关系使用“重量”作为匹配字段,返回以下两条记录:
形状 |
样式编号 |
重量 |
价格 |
正方形 |
100 |
2 |
¥6.00 |
三角形 |
200 |
2 |
¥9.00 |
在颜色源表中定义的、具有相同公式 Sum(形状表::价格)
的第二个计算字段,但设置为从颜色表 2 的上下文中解析,返回值为 ¥15.00。
注释
- 当构建计算公式时,解析上下文决定着哪些表是“指定计算方式”对话框中的相关表以及哪些表不相关。
- 计算公式可以从不相关的表中使用全局字段。这些全局字段是只能从不相关的表中使用的字段。