Как сделать реактивный ввод в Ршины? - PullRequest
0 голосов
/ 14 января 2019

Как создать значение ввода для кода data.R?

например:

UI.R

numericInput(inputId= "diametro", label= "Diametro do Aco:", value= 0)

Server.R

????

Data.R

    query <- 
  "select 
cod_ordem_producao as Ordem,
dim_ext_tubo as Diametro,
esp_par_tubo as Parede,
cod_aqa as AQA,
tmo_ciclo_plan as Ciclo,
dth_criacao_reg as Data,
dsc_aco as Grau,

val_lim_escoamento as LE,
val_tensao_residual as TR
from
QT_QTS.PLA_ORDEM_PRODUCAO

where diametro = **_THE INPUT VALUE FOR DIAMETRO HERE_**

order by DTH_CRIACAO_REG desc"

df <- dbGetQuery(
  connection_reportUser,
  query
)
df```

Я не мог создать реактивную ценность для этого. Пользователь введет значение "diametro" в числовом гаджете, и база данных будет искать его в данных.

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Другим способом является функция paste(). Если вам нужен вектор входных данных (более одного условия), вы можете использовать paste0() с аргументом collapse, указывающим разделитель для вставки каждого элемента вектора.

UI.R

numericInput(inputId= "diametro", label= "Diametro do Aco:", value= 0)

Server.R

library(RMySQL)
library(shiny)
getQuery <- reactive({
   query <- paste("select cod_ordem_producao as Ordem, dim_ext_tubo as Diametro, esp_par_tubo as Parede, cod_aqa as AQA, tmo_ciclo_plan as Ciclo, dth_criacao_reg as Data, dsc_aco as Grau, val_lim_escoamento as LE, val_tensao_residual as TR from QT_QTS.PLA_ORDEM_PRODUCAO where diametro = ",
   input$diametro,
   " order by DTH_CRIACAO_REG desc",
   sep="")

   df <- dbGetQuery(con, query)
   return(df)
)}
0 голосов
/ 14 января 2019

Вам нужно что-то вроде этого:

library(shiny)
library(dplyr)
library(glue)

df <- eventReactive(input$diametro,{
  connection_reportUser %>% dbGetQuery(
  glue::glue( "select 
        cod_ordem_producao as Ordem,
        dim_ext_tubo as Diametro,
        esp_par_tubo as Parede,
        cod_aqa as AQA,
        tmo_ciclo_plan as Ciclo,
        dth_criacao_reg as Data,
        dsc_aco as Grau,

        val_lim_escoamento as LE,
        val_tensao_residual as TR
        from
        QT_QTS.PLA_ORDEM_PRODUCAO

        where diametro = {input$diametro}

        order by DTH_CRIACAO_REG desc"
  )
  )
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...