我在一家中型在线时尚公司工作,我们有一个非常大的报告,我们使用FM服务器端脚本导出,大约75个字段/ 15k记录。
我遇到的问题,就像你想象的那样 - 这需要很长时间!我们在导出之前在脚本中有很多计算字段,执行查找,替换等,为了每天用新数据构建和更新报表,我还应该说明其他表中有很多相关数据。出口。
我敏锐地意识到这不会是一个快速出口,但如果有人对如何最大限度地缩短出口时间有任何提示,我将非常感激。目前我们以CSV格式导出,例如XLSX会更快吗?
任何关于如何加快这一点的建议都是最受欢迎的!
谢谢你 - 小号
答案 0 :(得分:0)
一些通用问题,可能更适合FileMaker用户论坛。
即使对于FileMaker,15k也不是那么多记录。
CSV会比Excel导出更快,但我不认为这是你的问题
尝试打破导出阶段并记录每个阶段花费的时间。这将显示您需要优化的阶段。
答案 1 :(得分:0)
导出缓慢的原因可能是相关字段以及您要导出的任何未存储的计算。您可以使用缓存字段,不相关的非计算字段来解决这个问题,这些字段在导出之前会在服务器上执行各种Replace Field Contents
脚本步骤时更新。
将脚本分为三个脚本Find Records to Export
,Update Caches
和Export 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_1
和TABLE::cache_2
。