Ищете способ рассчитать промежуток времени в openrefine

Это данное выражение языка GREL в OpenRefine.

diff (дата d1, дата d2, необязательная строка timeUnit)

Для дат возвращает разницу в заданных единицах времени.

Таким образом, вопрос заключается в том, как получить доступ к значениям обоих столбцов, что не ясно из представленного в документации.

Спасибо

2 ответа

Решение

Формула для доступа к другому столбцу:

cells.YourColumnName.value

Если имя вашего столбца содержит пробелы или символы не ascii:

cells['Your Column Name'].value

Итак, предполагая, что ваши два столбца названы "date1" и "date2", и вы хотите разницу в днях, формула GREL выглядит следующим образом:

diff(cells.date1.value, cells.date2.value, "days")

или же

diff(cells['date1'].value, cells['date2'].value, "days")

Я сам нашел способ, вот пример рабочей команды, документация GREL не так явно относится к этой процедуре.

Вот рекомендация, которую я использовал, я умножил результат на -1, чтобы сделать его положительным.

diff(cells["DATA_COMPRA"].value, cells["DATA_VENCIMENTO"].value, "days") * -1

Надеюсь, это поможет, мне иногда приходится возвращаться сюда, чтобы снова и снова получать этот сценарий.

Другие вопросы по тегам