5

true または false を含む新しい列を作成しようとしています。基本的に、列 A には 1 から 6 までの数字があり、3 より大きい場合は新しい列「一致」に true を含め、そうでない場合は false を含めます。次のGRELを試す際に列に基づいて列を追加する

if(value > 5, "True", "False")

それは基本的にすべてが間違っているという結果になります。

次のように動作するため、IF ステートメントが正しいことはわかっています。

if(value.length() > 1, "Double", "Single")

Value が 5 より大きい場合に機能しない理由がわかりません。明らかに何かが欠けていますが、ドキュメントでそれを特定できないようです。

4

1 に答える 1

6

GREL if() は正しいです。そのためのドキュメントはこちら: https://github.com/OpenRefine/OpenRefine/wiki/GREL-Controls

しかし、本当にその Column にすべての数値があるのだろうか? すべての値は「緑色」ですか? そうでない場合は、[列の編集] を使用して空白をトリミングしてから、テキストを数値に変換してみてください。次に、その列で if() をもう一度試して、何が起こるかを確認してください。

于 2016-10-14T02:43:43.327 に答える