好的,我有一张货主表和一张单独的费用表。每个都有数百万条记录,它从遗留系统进入Filemaker,因此所有字段都被定义为Text,即使它们可能是Date,Number等。
费用表中有一个日期字段。我想创建一个数字字段来表示只是年份。我可以使用Middle函数来解析字段并在Calculation字段中获取年份。但是将年份作为字面数字字段会不会更快,特别是因为我将要进行过滤和排序?那么如何将此计算转换为其值?我试过将计算字段更改为数字,但它只是渲染空白。
答案 0 :(得分:2)
你的计算有问题,因为字段类型不同,所以不应该变成空白。即:
Middle("10-12-2010", 7, 4)
如果将calc结果设置为Number,则应该足够了。您也可以将其包装到GetAsNumber(...)中,但实际上,只要字段类型正确就没有区别。
如果你有FM高级版,尝试在数据查看器(工具 - >数据查看器)中设置你的计算而不是在定义字段中,这会更快,一旦你喜欢结果,你可以将它转移到一个领域或进行替换。但是,从搜索/排序的角度来看,(存储的)计算和常规字段之间没有区别,因此替换是没有意义的,实际上更危险,因为没有办法撤消错误的替换。
答案 1 :(得分:1)
基本上,而不是使用 计算字段,您创建的是EMPTY 数字,日期或文本字段和用法 从记录菜单中替换字段内容,然后输入 你的计算(或参考,或 两个)那里。
答案 2 :(得分:0)
根本没有放弃FileMaker,但数百万条记录意味着FileMaker可能是错误的选择。您的系统将缓慢,缓慢,缓慢。 FileMaker非常适合工作组,没有办法更快地开发数据库应用程序。但FileMaker擅长的一件事就是处理大量的记录。
BTW,Mikhail Edoshin完全正确。