Guest User

Untitled

a guest
Dec 26th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. # Connect Via RJDBC -------------------------------------------------------
  2. library(RJDBC)
  3. drv <- JDBC("oracle.jdbc.OracleDriver", classPath="~/import/instantclient_12_2/ojdbc8.jar")
  4. con <- dbConnect(drv,"jdbc:oracle:thin:@server:1521:database",
  5. rstudioapi::askForSecret("Username"),
  6. rstudioapi::askForSecret("Database Password"))
  7. dbGetQuery(con,"select count(*) from schema.table")
  8.  
  9.  
  10. # Setup dplyr and dbplyr to work with RJDBC -------------------------------
  11. sql_translate_env.JDBCConnection <- dbplyr:::sql_translate_env.Oracle
  12. sql_select.JDBCConnection <- dbplyr:::sql_select.Oracle
  13. sql_subquery.JDBCConnection <- dbplyr:::sql_subquery.Oracle
  14.  
  15.  
  16. # Use dplyr and dbplyr ----------------------------------------------------
  17. library(dplyr)
  18. library(dbplyr)
  19.  
  20. db_table <- tbl(con, in_schema("schema", "table"))
  21.  
  22. db_table %>%
  23. filter(CURRENT_AGE >= 60) %>%
  24. mutate(age = case_when(
  25. CURRENT_AGE < 65 ~ "60 - 64",
  26. CURRENT_AGE < 70 ~ "65 - 79",
  27. CURRENT_AGE < 75 ~ "70 - 74",
  28. CURRENT_AGE < 80 ~ "75 - 79",
  29. CURRENT_AGE < 85 ~ "80 - 84",
  30. CURRENT_AGE >= 85 ~ "85+"
  31. )) %>%
  32. count(age, GENDER) %>%
  33. arrange(age, desc(n))
Add Comment
Please, Sign In to add comment