Filemaker 自加入门户过滤
Filemaker self join portal filtering
我有一个项目数据库,这些项目是从多个 XML 来源导入到名为 Import.
的 table
每个 XML 源都有自己的 SourceID 编号。这个号码放在每一个项目记录中。
每次导入都记录在名为 Import_History 的相关 table 中。这会记录 SourceID、每次导入的日期以及导入的项目数。
所以...
TABLE: 导入
SourceID = 编号
TABLE: IMPORT_HISTORY
fk_SourceID = 数量
导入日期 = 时间戳
ImportCount = 数量
关系
导入::SourceID = Import_History::fk_SourceID
我需要什么
在 Import table 布局中,我想要一个显示来自 Import_History 的记录的门户,所以我可以查看每个 XML 源最后一次导入的时间。我只想显示每个 SourceID 的 最近 Import_History 记录。
我想我需要在 Import 和 table 新出现的 Import_History (Import_History_All) 之间进行笛卡尔连接,以及自加入 table 出现的 Import_History (Import_History_All_Self_Join).
所以...
笛卡尔
导入::SourceID x Import_History_All::fk_SourceID
自行加入
Import_History_All::fk_SourceID = Import_History_All_Self_Join::fk_SourceID
到目前为止我做了什么
我关注了这个:
http://www.filemakertoday.com/com/archive/index.php?t-32667.html
还有这个:
http://scarpettagroup.com/filemaker-portal-show-distinct-value-tutorial/
但它不过滤记录。我总是在门户中获得所有 Import_History 记录。我无休止地用谷歌搜索,但没有弄明白。
有人能帮忙吗?
**EXAMPLE DATA**
*Import*
- SourceID: 1234
- Item: Widget1
- Price: 3
- SourceID: 1234
- Item: Widget2
- Price: 5
- SourceID: 1234
- Item: Widget3
- Price: 10
*Import_History*
- fk_SourceID: 1234
- ImportDate: 22/03/2016 12:00:00
- ImportCount: 3
- fk_SourceID: 1234
- ImportDate: 21/03/2016 12:00:00
- ImportCount: 2
I want a portal that shows records from Import_History so I can see
when each XML source was last imported. I only want to show the most
recent Import_History record for each SourceID.
如果您按 ImportDate(在关系设置中)对来自 Import_History 的相关记录进行排序,那么最近的导入将成为 第一个 相关记录。
如果您将来自 Import_History 的字段直接放置到导入 table 的布局上(在任何门户之外),它们将显示来自 Import_History 中第一条相关记录的数据。
这假定了一个简单的关系,其中:
Import::SourceID = Import_History_All::fk_SourceID
我不明白你为什么需要其他任何东西。
Import_History_All::fk_SourceID = Import_History_All_Self_Join::fk_SourceID
上面的关系是一个联接,它将导致在门户中显示具有指定源 ID 的每条记录。基本上上面的关系将在 IMPORT HISTORY table 中显示具有相同 SourceID 的指定门户记录。如果您想查看您所在记录的 sourceID 的最新记录,这将是所需的关系,剩下的就是对门户进行排序和过滤以仅显示最新值。如果您只想为您当前所在的 SourceID 导入最新的数据,这很好。
On the Import table layout, I want a portal that shows records from Import_History so I can see when each XML source was last imported. I only want to show the most recent Import_History record for each SourceID.
仅显示每个 SourceID 的最新记录的最有效方法是利用另一个 table 来存储最新值。 table 将包含源 ID 具有唯一值的记录(每个源只有一个记录),这些记录将包含最新记录的导入 ID。导入 ID 是 Import_History table 的主键,您可以添加它来定义每个 Import_History 记录之间的区别。要实现此结果,必须修改当前的导入脚本。修改应包括一个捕获 Import_ID 的变量。 tables Import和Import_Tracking的关系只会调出一条记录,然后就可以使用set field 脚本步骤将字段 Import_Tracking::Most_Recent 设置为先前定义的变量,该变量保存 Import_ID 的值。此时您有 Import_Tracking table,其中包含每个源的最近更新记录的唯一 Import_ID。您可以在 Import table 和 Import_Tracking table 中使用笛卡尔连接来显示所有Import_Tracking table 中的记录,其中只有每个唯一来源的最新 importID。如果您想查看 Import_History table 中的数据,您需要做的就是在 Import_Tracking 之间创建关系 和 Import_History table,然后您可以将相关字段放在您的门户中以查看数据。我已经在下面包含了应该添加的关系和字段。如果有什么不明白的地方请告诉我。
关系:
Import::SourceID = Import_Tracking::fk_SourceID(具有通过关系添加记录的能力)
Import_Tracking::Most_Recent = Import_History::ImportID
TABLE: IMPORT_HISTORY
fk_SourceID = 数量
导入日期 = 时间戳
ImportCount = 数量
ImportID = Text/Number(主键)
TABLE: IMPORT_TRACKING
fk_SourceID = 数量
Most_Recent = Text/Number(无论您将 "ImportID" 定义为什么)
我有一个项目数据库,这些项目是从多个 XML 来源导入到名为 Import.
的 table每个 XML 源都有自己的 SourceID 编号。这个号码放在每一个项目记录中。
每次导入都记录在名为 Import_History 的相关 table 中。这会记录 SourceID、每次导入的日期以及导入的项目数。
所以...
TABLE: 导入
SourceID = 编号
TABLE: IMPORT_HISTORY
fk_SourceID = 数量
导入日期 = 时间戳
ImportCount = 数量
关系
导入::SourceID = Import_History::fk_SourceID
我需要什么
在 Import table 布局中,我想要一个显示来自 Import_History 的记录的门户,所以我可以查看每个 XML 源最后一次导入的时间。我只想显示每个 SourceID 的 最近 Import_History 记录。
我想我需要在 Import 和 table 新出现的 Import_History (Import_History_All) 之间进行笛卡尔连接,以及自加入 table 出现的 Import_History (Import_History_All_Self_Join).
所以...
笛卡尔
导入::SourceID x Import_History_All::fk_SourceID
自行加入
Import_History_All::fk_SourceID = Import_History_All_Self_Join::fk_SourceID
到目前为止我做了什么
我关注了这个:
http://www.filemakertoday.com/com/archive/index.php?t-32667.html
还有这个:
http://scarpettagroup.com/filemaker-portal-show-distinct-value-tutorial/
但它不过滤记录。我总是在门户中获得所有 Import_History 记录。我无休止地用谷歌搜索,但没有弄明白。
有人能帮忙吗?
**EXAMPLE DATA**
*Import*
- SourceID: 1234
- Item: Widget1
- Price: 3
- SourceID: 1234
- Item: Widget2
- Price: 5
- SourceID: 1234
- Item: Widget3
- Price: 10
*Import_History*
- fk_SourceID: 1234
- ImportDate: 22/03/2016 12:00:00
- ImportCount: 3
- fk_SourceID: 1234
- ImportDate: 21/03/2016 12:00:00
- ImportCount: 2
I want a portal that shows records from Import_History so I can see when each XML source was last imported. I only want to show the most recent Import_History record for each SourceID.
如果您按 ImportDate(在关系设置中)对来自 Import_History 的相关记录进行排序,那么最近的导入将成为 第一个 相关记录。
如果您将来自 Import_History 的字段直接放置到导入 table 的布局上(在任何门户之外),它们将显示来自 Import_History 中第一条相关记录的数据。
这假定了一个简单的关系,其中:
Import::SourceID = Import_History_All::fk_SourceID
我不明白你为什么需要其他任何东西。
Import_History_All::fk_SourceID = Import_History_All_Self_Join::fk_SourceID
上面的关系是一个联接,它将导致在门户中显示具有指定源 ID 的每条记录。基本上上面的关系将在 IMPORT HISTORY table 中显示具有相同 SourceID 的指定门户记录。如果您想查看您所在记录的 sourceID 的最新记录,这将是所需的关系,剩下的就是对门户进行排序和过滤以仅显示最新值。如果您只想为您当前所在的 SourceID 导入最新的数据,这很好。
On the Import table layout, I want a portal that shows records from Import_History so I can see when each XML source was last imported. I only want to show the most recent Import_History record for each SourceID.
仅显示每个 SourceID 的最新记录的最有效方法是利用另一个 table 来存储最新值。 table 将包含源 ID 具有唯一值的记录(每个源只有一个记录),这些记录将包含最新记录的导入 ID。导入 ID 是 Import_History table 的主键,您可以添加它来定义每个 Import_History 记录之间的区别。要实现此结果,必须修改当前的导入脚本。修改应包括一个捕获 Import_ID 的变量。 tables Import和Import_Tracking的关系只会调出一条记录,然后就可以使用set field 脚本步骤将字段 Import_Tracking::Most_Recent 设置为先前定义的变量,该变量保存 Import_ID 的值。此时您有 Import_Tracking table,其中包含每个源的最近更新记录的唯一 Import_ID。您可以在 Import table 和 Import_Tracking table 中使用笛卡尔连接来显示所有Import_Tracking table 中的记录,其中只有每个唯一来源的最新 importID。如果您想查看 Import_History table 中的数据,您需要做的就是在 Import_Tracking 之间创建关系 和 Import_History table,然后您可以将相关字段放在您的门户中以查看数据。我已经在下面包含了应该添加的关系和字段。如果有什么不明白的地方请告诉我。
关系:
Import::SourceID = Import_Tracking::fk_SourceID(具有通过关系添加记录的能力)
Import_Tracking::Most_Recent = Import_History::ImportID
TABLE: IMPORT_HISTORY
fk_SourceID = 数量
导入日期 = 时间戳
ImportCount = 数量
ImportID = Text/Number(主键)
TABLE: IMPORT_TRACKING
fk_SourceID = 数量
Most_Recent = Text/Number(无论您将 "ImportID" 定义为什么)