2017-08-07 1 views
2

Mon RMarkdown avec un morceau de SQL fonctionne bien quand je lance tous les morceaux un par un de manière interactive, mais lorsque je tente de tricoter, le morceau SQL ne doit pas enregistrer les données dans le spécifié variable. Lorsque l'ensemble de données supposé être généré à l'aide du segment SQL est référencé dans les blocs R ultérieurs, la variable de l'ensemble de données est simplement vide.knitr morceau sql pas enregistrer les données dans bloc-notes variables

Voici un exemple

{r setup, include=FALSE, warning=FALSE, message=FALSE} 
# load necessary libraries 
library(bigrquery) 
library(knitr) 
library(tidyverse) 

db <- dbConnect(dbi_driver(), dataset = 'sandbox', project = 'project_id', use_legacy_sql = FALSE) 

df <- NULL 
``` 


```{sql, connection=db, output.var=df} 
select * from example_dataset 
limit 10 
``` 
returns dataset 


```{r} 
head(df) 
``` 
NULL 

J'ai essayé la solution ici (R: Knitr gives error for SQL-chunk), mais il n'a pas résolu mon problème.

Répondre

2

Je viens de croiser le même problème et il semble que vous avez besoin de citer la variable que vous assignez.

```{sql, connection=db, output.var="df"} 
select * from example_dataset 
limit 10 
``` 

Source: http://rmarkdown.rstudio.com/authoring_knitr_engines.html#sql

+0

Wow c'est incroyable! J'essayais de comprendre cela depuis si longtemps! J'avais d'abord regardé un autre exemple ailleurs qui n'avait pas utilisé de citations et n'avait jamais pensé à les inclure. Je vous remercie! –