Cell.cross() 在 Google Refine 项目中返回错误



我正在尝试根据主项目的"日期"列创建一个新列,该列从另一个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"]— 为这些行返回空值。

我直接从 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()缓存错误。

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

最新更新