Cell.cross() возвращает ошибку в проектах Google Refine

Я пытаюсь создать новый столбец на основе столбца даты моего основного проекта, который извлекает события временной шкалы из другого проекта Google Refine:

cell.cross("Временная шкала Clean5", "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. Может ли кто-нибудь предложить, что я могу упускать из виду?

Спасибо.


person kateyg    schedule 06.05.2012    source источник


Ответы (1)


Без доступа к вашим проектам будет сложно ответить на этот вопрос, но первое, что я бы посоветовал, это урезать свое выражение, чтобы выяснить, откуда именно берется ноль.

С

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

возвращает пустой массив ([]), ничто на основе этого результата не сработает.

Есть три возможные проблемы, о которых я могу думать: 1) неправильное имя проекта, 2) неправильное имя столбца, 3) значения данных не совпадают (или Refine не думает, что они совпадают), или 4) вы столкнулись с ошибкой кэширования с cross(), которая существует в Refine 2.5.

Перезапуск сервера Refine должен очистить кеш, если вы столкнулись с ошибкой, и она также исправлена ​​в текущем исходном репозитории. Исправление будет включено в OpenRefine 2.6.

person Tom Morris    schedule 06.05.2012
comment
Спасибо, Том. Я попробовал это, отредактировав свой вопрос, чтобы обновить эти новые подсказки, но я все еще не уверен, куда с ним идти. - person kateyg; 07.05.2012
comment
После того, как я побил головой об этой же проблеме, перезапуск сделал свое дело. Большое спасибо за ссылку на баг с кешированием, существующий на 2.5. - person lmsurprenant; 20.12.2013
comment
Исправление ошибки включено в доступную бета-версию OpenRefine 2.6. - person Tom Morris; 20.12.2013
comment
Использование здесь Openrefine 2.6 и cell.cross(results_export, Phone) создает пустой массив. - person iMitwe; 26.03.2015