首页 > 解决方案 > 导出大型数据集

问题描述

我在一家中型在线时尚公司工作,我们有一个非常大的报告,我们使用 FM 服务器端脚本导出,大约 75 个字段/15k 记录。

我遇到的问题,正如你想象的那样——这需要很长时间!我们有很多计算字段,在导出之前在脚本中执行查找、替换等操作,为了每天用新数据构建和更新报告,我还应该说明,还有很多来自其他表的相关数据出口。

我非常清楚这不会是一个快速的出口,但是如果有人对如何最大限度地减少出口时间有任何建议,我将不胜感激。目前我们正在导出为 CSV,那么例如 XLSX 会更快吗?

任何关于如何加快速度的建议都将受到欢迎!

谢谢你-S

标签: exportfilemaker

解决方案


导出缓慢的原因可能是相关字段和您正在导出的任何未存储的计算。您可以通过使用缓存字段、非相关、非计算字段来解决此问题,这些字段在导出之前通过Replace Field Contents在服务器上执行的各种脚本步骤进行更新。

将脚本分成三个脚本,Find Records to ExportUpdate CachesExport Report。它们看起来像这样:

Find Records to Export

Go to Layout [ "LayoutWithFieldsToReplace" ]
Enter Find Mode [ Pause: Off ]
Set Field [ TABLE::field ; // find criterion for this field ]
Set Field [ ...
Set Error Capture [ On ]
Perform Find []

Update Caches

Perform Script [ Find Records to Export ]
Replace Field Contents [ TABLE::cache_1 ; RELATED::field ]
Replace Field Contents [ TABLE::cache_2 ; TABLE::unstored_calc ]
Replace Field Contents [ ...

Export Report

Perform Script on Server [ Update Caches ]
Perform Script [ Find Records to Export ]
Export Records [ ...

我不确定 FileMaker 是否已更改为要求,但我认为您需要替换内容的字段在替换期间需要在布局上。因此,请确保您导航到的布局具有它们,在上面的脚本中,它们将是TABLE::cache_1and TABLE::cache_2


推荐阅读