我有一个从多个XML源导入的项目数据库,这个数据库名为导入。
每个XML源都有自己的 SourceID 编号。这个数字放在每个项目记录中。
每个导入都记录在名为 Import_History 的相关表中。这会记录SourceID,每次导入的日期以及导入的项目数。
因此...
表:IMPORT
SourceID = Number
表:IMPORT_HISTORY
fk_SourceID =数字
ImportDate =时间戳
ImportCount = Number
关系
Import :: SourceID = Import_History :: fk_SourceID
我需要什么
在导入表格布局中,我想要一个显示 Import_History 记录的门户网站,以便查看上次导入每个XML源的时间。我只想显示每个SourceID的最新 Import_History记录。
我想我需要在Import和Import_History( Import_History_All )的新表格之间进行笛卡尔联接,并且新表格的自联接出现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记录。我无休止地用Google搜索,并没有想到这一点。
有人可以帮忙吗?
**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
答案 0 :(得分:0)
我想要一个显示Import_History记录的门户网站,以便我可以看到 上次导入每个XML源时。我只想展示最多 每个SourceID的最近Import_History记录。
如果您按ImportDate(在关系设置中)对Import_History中的相关记录进行排序,则最近的导入将成为第一个相关记录。
如果将Import_History中的字段直接放置到Import表的布局(任何门户网站之外),它们将显示Import_History中第一个相关记录的数据。
这假设了一个简单的关系:
Import::SourceID = Import_History_All::fk_SourceID
我不明白为什么你需要任何其他的。
答案 1 :(得分:0)
Import_History_All :: fk_SourceID = Import_History_All_Self_Join :: fk_SourceID
上述关系是一个连接,它将导致在门户中显示具有指定源ID的每条记录。基本上,上面的关系将在IMPORT HISTORY表中显示具有相同SourceID的指定门户记录。如果您想查看您所在记录的sourceID的最新记录,那么这将是所需的关系,剩下的就是对门户网站进行排序并过滤以仅显示最新值。如果您只想要当前使用的SourceID的最新导入,那就没问题了。
在Import表布局上,我想要一个显示Import_History记录的门户,这样我就可以看到上次导入每个XML源的时间。我只想显示每个SourceID的最新Import_History记录。
仅显示每个SourceID的最新记录的最有效方法是利用另一个表来存储最新值。此表将包含具有源ID唯一值的记录(每个源只有一个记录),其中包含最新记录的导入ID。导入ID是Import_History表的主键,您可以添加该表以定义每个Import_History记录之间的区别。必须修改当前的导入脚本才能实现此结果。修改应包括捕获Import_ID的变量。表格导入和 Import_Tracking 之间的关系只会显示一条记录,然后您可以使用设置字段脚本步骤来设置字段Import_Tracking :: Most_Recent到先前定义的包含Import_ID值的变量。此时,您拥有 Import_Tracking 表,其中包含每个来源最近更新记录的唯一Import_ID。您可以在导入表中使用笛卡尔联接,并使用 Import_Tracking 表来显示 Import_Tracking 表中的所有记录,这些记录只有最多每个唯一来源的最近importID。如果您想查看 Import_History 表中的数据,您需要做的就是在 Import_Tracking 和 Import_History 表之间建立关系,然后您可以在门户中放置相关字段以查看数据。我已经包含了下面应该添加的关系和字段。如果有任何意义,请告诉我。
<强>关系:强>
导入:: SourceID = Import_Tracking :: fk_SourceID(具有通过关系添加记录的能力)
Import_Tracking :: Most_Recent = Import_History :: ImportID
表:IMPORT_HISTORY
fk_SourceID =数字
ImportDate =时间戳
ImportCount = Number
ImportID =文字/数字(主键)
表:IMPORT_TRACKING
fk_SourceID =数字
Most_Recent =文本/数字(无论您将“ImportID”定义为)