Я пытался получить набор данных из запроса БД, чтобы показать результаты на flexdashboard. Поэтому я попробовал следующий код, используя кнопку действия для запуска запроса:
---
title: "Untitled"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
runtime: shiny
---
```{r setup, include=FALSE}
library(flexdashboard)
library(DBI)
library(RPostgreSQL)
library(tidyverse)
library(DT)
drv <- dbDriver("PostgreSQL")
```
Column {.sidebar}
-----------------------------------------------------------------------
```{r}
dateInput("input_date_start", “Start date:”, value = Sys.Date()-30)
dateInput("input_date_end", “End date:”, value = Sys.Date()-3)
selectInput("input_marca", “Select brand:”,
c(“Cookies” = “Cookies”,
“Corn_Flakes” = “Corn Flakes”,
“Fruit_Loops” = “Fruit Loops“))
actionButton("button_execute", “Excute”)
```
Column
-----------------------------------------------------------------------
### Chart B
```{r global}
query <- reactive(input$button_execute) {
initial <- input_date_start
final <- input_date_end
query <- paste0("SELECT * from the_table tt
WHERE tt.starting >= ",initial,
"AND tt.finishing <= ",final)
}
drv <- dbDriver("PostgreSQL")
# Connect to database
conection <- dbConnect(drv,
dbname = “the_database”,
host = “the_host”,
user = “the_userl”,
password = “the_password”,
port = 9999)
rs <- dbSendQuery(conection, query)
dataset <- dbFetch(rs)
dbDisconnect(dataset)
```
```{r}
DT::datatable(dataset)
```
Но я получаю ошибку, что отсутствует неожиданная скобка, которая находится внутри реактивной sql. Я понимаю, что для реактивных действий нужны эти скобки, но я не совсем уверен, как это работает с actionButton.
Пожалуйста, ваша помощь будет принята с благодарностью.