3

メイン プロジェクトの Date 列に基づいて、別の Google Refine プロジェクトからタイムライン イベントを取得する新しい列を作成しようとしています。

cell.cross("Clean5 タイムライン", "TimelineDate").cells["TimelineEvent"].value[0]

日付は両方の Google Refine プロジェクトで同じ形式です。しかし、それはセルを埋めず、次のエラーが発生します:

エラー: null からフィールドを取得できません

この — cell.cross("Clean5 Timeline", "TimelineDate") — は、一致するはずの行に対して [ ] を返します。

そして、この cell.cross("Clean5 Timeline", "TimelineDate").cells["TimelineEvent"] は、それらの行に対して null を返します。

GREL ヘルプ ファイルから構文を直接コピーしました: http://code.google.com/p/google-refine/wiki/GRELOtherFunctions。私が見落としている可能性のあるものを誰かが提案できますか?

ありがとう。

4

1 に答える 1

3

プロジェクトにアクセスできないと、これに答えるのが難しくなりますが、最初に提案したいのは、式を元に戻して、null がどこから来ているのかを正確に調べることです。

以来

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

は空の配列 ([]) を返します。その結果に基づくものは何も機能しません。

考えられる 3 つの問題があります: 1) プロジェクト名が間違っている、2) 列名が間違っている、3) データ値が一致しない (または Refine が一致するとは思わない)、または 4) Refine 2.5 に存在する cross() のキャッシング バグに遭遇しています。

バグが発生しており、現在のソース リポジトリでも修正されている場合は、Refine サーバーを再起動するとキャッシュがクリアされます。この修正は OpenRefine 2.6 に含まれる予定です。

于 2012-05-06T19:46:10.103 に答える