#r #dplyr
#r #dplyr
Вопрос:
У меня есть таблица в базе данных MS SQL Server. В этой таблице есть столбец даты и времени с наблюдениями типа 2020-10-21 00:00:00
и я хочу сгенерировать два новых столбца из этих наблюдений даты dplyr
и времени, а именно current_calendar_week
и week_of_that_specific_date
Обычно, помимо баз данных, было бы:
tibble(date=as_datetime("2020-10-21 00:00:00")) %>%
mutate(`current_week` = isoweek(Sys.Date()), `specific_week` = isoweek(date))
Но эти функции isoweek()
(из lubridate) не могут быть переведены в SQL должным образом. Итак, мой вопрос в том, как мне правильно изменить эти новые столбцы с помощью dplyr, чтобы был эквивалентный перевод SQL?
Комментарии:
1. Вы можете сделать это в базе данных, но вы специально просите сделать это в R. Я удалил теги SQL и database .
Ответ №1:
DATE_PART
и встроенный sql с dplyr::sql()
tibble(date = as_datetime("2020-10-21 00:00:00")) %>%
mutate(`current_week` = dplyr::sql(DATE_PART('week', current_date)),
`specific_week` = dplyr::sql(DATE_PART('week', date)))