我已使用此处显示的代码连接到SQL Server数据库,然后尝试运行查询以收集按日期过滤的数据,该数据在表中以YYYYMMDD格式保存为整数
con <- DBI::dbConnect(odbc::odbc(), driver = "SQL Server", server = "***")
fact_transaction_line <- tbl(con,in_schema('***', '***'))
data <- fact_transaction_line %>%
filter(key_date_trade == 20200618)
这存储为查询,但是当我使用瞥见来查看数据时失败,并出现以下错误
“ dbplyr_031”
在哪里(“ key_date_trade” = 20200618.0)'
为什么这不起作用,我是否有更好的方法来格式化查询以获取此数据?
答案 0 :(得分:0)
示例代码中的fact_transaction_line
和data
都是远程表。这的一个重要后果是,您仅限于与某些dplyr命令进行交互。 glimpse
可能不是远程表支持的命令。
您可以做些什么(包括@Bruno的建议):
head
查看远程数据的前几行。show_query(data)
查看远程表的基础SQL查询。检查此查询是否正确。remote_table%>% ungroup() %>% summarise(num = n())
检查远程表的大小。如果远程表足够小以适合您的本地R内存,则local_table = collect(remote_table)
会将表复制到R内存中。local_table = data %>% head(100) %>% collect()
会将远程表的前100行加载到R中。然后您可以glimpse(local_table)
。