首页 > 解决方案 > 使用带有 SQL-Server 的 R 的闪亮应用程序

问题描述

我正在尝试学习 R 的闪亮功能。我目前正在阅读此“手册”,并且正在尝试重新创建此示例。该示例只是编写一个允许您选择特定数据集并下载它的应用程序。我正在尝试遵循示例的确切编码格式,但我想从 SQL 服务器中提取数据,将其存储在我的应用程序中并允许其他人下载它。我将 SQL 调用函数添加到下面的代码中(在反应函数上方)。

我尝试在下面执行我的代码,它只是运行而不会产生任何反馈错误或输出。我认为我的问题是我在server代码部分中调用数据集的方式。非常感谢对我的代码或要使用的其他资源的任何反馈。谢谢!

library(shiny)
library(RODBC)

ui <- fluidPage(
  
  # App title ----
  titlePanel("Downloading Data"),
  
  # Sidebar layout with input and output definitions ----
  sidebarLayout(
    
    # Sidebar panel for inputs ----
    sidebarPanel(
      
      # Input: Choose dataset ----
      selectInput("dataset", "Choose a dataset:",
                  choices = c("climate")),
      
      # Button
      downloadButton("downloadData", "Download")
      
    ),
    
    # Main panel for displaying outputs ----
    mainPanel(
      
      tableOutput("table")
      
    )
    
  )
)

server <- function(input, output) {
  
  conn <- odbcConnect("xyz")
  query <- " SELECT XYZ..."

dataset <- sqlQuery(channel = conn, query = query)

# Reactive value for selected dataset ----
datasetInput <- reactive({
  switch(input$dataset,
         "climate" = dataset)
})

# Table of selected dataset ----
output$table <- renderTable({
  datasetInput()
})

# Downloadable csv of selected dataset ----
output$downloadData <- downloadHandler(
  filename = function() {
    paste(input$dataset, ".csv", sep = "")
  },
  content = function(file) {
    write.csv(datasetInput(), file, row.names = FALSE)
  }
)

}

标签: rshiny

解决方案


推荐阅读