我正在尝试根据我的主项目的Date列创建一个新列,该列从另一个Google Refine项目中提取时间轴事件:
cell.cross(“Clean5 Timeline”,“TimelineDate”)。cells [“TimelineEvent”]。value [0]
Google Refine项目中的日期格式相同。但它没有填充任何单元格,我收到了这个错误:
错误:无法从空中检索字段
这个 - cell.cross(“Clean5 Timeline”,“TimelineDate”) - 对于应该匹配的行返回[]。
这个 - cell.cross(“Clean5 Timeline”,“TimelineDate”)。cells [“TimelineEvent”] - 为这些行返回null。
我直接从GREL帮助文件中复制了语法:http://code.google.com/p/google-refine/wiki/GRELOtherFunctions。任何人都可以提出我可能会忽略的内容吗?
感谢。
答案 0 :(得分:3)
如果不能访问你的项目,就很难回答这个问题,但我建议的第一件事就是你修剪你的表达式,找出空来源的确切位置。
由于
cell.cross("Clean5 Timeline", "TimelineDate")
返回一个空数组([]),基于该结果的任何内容都不起作用。
我可以想到三个可能的问题:1)项目名称错误,2)列名错误,3)数据值不匹配(或者Refine不认为他们这样做),或者4)你遇到了精炼2.5中存在的带有cross()的caching bug。
如果遇到错误,重新启动Refine服务器应该清除缓存,并且它也在当前源存储库中修复。该修复程序将包含在OpenRefine 2.6中。