我正在尝试根据主项目的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复制了语法。谁能建议我可能忽略的内容?

谢谢。

最佳答案

如果无法访问您的项目,将很难回答这个问题,但是我建议的第一件事是您对表达式进行修整以准确找出null的来源。

以来

cell.cross("Clean5 Timeline", "TimelineDate")

返回一个空数组([]),基于该结果的任何操作都将无法正常工作。

我想到了三个可能的问题:1)项目名称错误,2)列名称错误,3)数据值不匹配(或Refine认为它们不匹配),或4)您正在运行带有Refine 2.5中存在的cross()的caching bug

如果您遇到错误,则重新启动Refine服务器应清除缓存,并且该错误也已在当前源存储库中修复。该修补程序将包含在OpenRefine 2.6中。

09-11 02:29