'How to add filter on RMarkdown file to filter through all DT data tables?
Context: I have a markdown document with 14 tabs which all include DT tables. My stakeholder is requesting if I can create one filter for all tabs in the document. Screenshot below for some additional context
I understand you can include filters on DT tables, and I have them included. However, that only filters to one table. I am looking for one filter to change all tables within the document.
Code below:
data <- qc_sales %>%
mutate(Call_For_Price = ifelse(CFP_FLG == 1, "TRUE", "FALSE"), MGD_ACCT_FLG = ifelse(MGD_ACCT_FLG == "Y", "YES", "NO")) %>%
filter( STR_NBR != '8119'
, Opened_Quote_Flag == 1
, LWK_TY_LY_FLG == 'TY'
, MVNDR_NBR %in% c(vendor_nbr)
, !SUB_DEPT_NBR %in% c('0025','0028')) %>%
select( QUOTE_DT
, STORE = STR_NBR
, ST_CD
, BRANCH = BRANCH_NM
, MANAGED_ACCOUNT = MGD_ACCT_FLG
, MKT_NBR
, MKT_NM
, ASSC_FRST_NM
, ASSC_LAST_NM
, STORE_PHONE_NBR = MAIN_STR_PHN_NBR
, MVNDR_NBR
, MVNDR_NM
, SUB_DEPT_NBR
, SUB_DEPT_DESC
, PROD_DESC
, ADD_PROD_DESC
, Manufacturer_Model_NBR
, Call_For_Price
, QUOTE_DLRS) %>%
group_by( QUOTE_DT
, STORE
, ST_CD
, BRANCH
, MANAGED_ACCOUNT
, MKT_NBR
, MKT_NM
, ASSC_FRST_NM
, ASSC_LAST_NM
, STORE_PHONE_NBR
, MVNDR_NBR
, MVNDR_NM
, SUB_DEPT_NBR
, SUB_DEPT_DESC
, PROD_DESC
, ADD_PROD_DESC
, Manufacturer_Model_NBR
, Call_For_Price
) %>%
summarise(QUOTE_DOLLARS =sum(QUOTE_DLRS)
, SUB_DEPT = MAX(CONCAT(SUB_DEPT_NBR,'-', SUB_DEPT_DESC))
, MARKET_NBR_NM = MAX(CONCAT(MKT_NBR,'-', MKT_NM))
, ASSOCIATE_NM = MAX(CONCAT(ASSC_FRST_NM,' ', ASSC_LAST_NM))
, MVNDR = MAX(CONCAT(MVNDR_NBR,'-', MVNDR_NM))) %>%
mutate(QUOTE_DOLLARS = round(QUOTE_DOLLARS, 0)) %>%
mutate(QUOTE_DOLLARS = paste0('$',QUOTE_DOLLARS)) %>%
ungroup() %>%
select( QUOTE_DATE = QUOTE_DT
, STORE
, STATE = ST_CD
, BRANCH
, MANAGED_ACCOUNT
, STORE_PHONE_NBR
, ASSOCIATE_NM
, SUB_DEPT
, MVNDR
, MVNDR_NBR
, PROD_DESC
, ADD_PROD_DESC
, MODEL_NBR = Manufacturer_Model_NBR
, QC_ORDER_TYPE = Call_For_Price
, QUOTE_DOLLARS) %>%
arrange(desc(QUOTE_DOLLARS)) %>%
collect()
data$QUOTE_DOLLARS <- currency(data$QUOTE_DOLLARS, digits = 0L)
data <- data %>%
select( QUOTE_DATE
, STORE
, STATE
, BRANCH
, MANAGED_ACCOUNT
, STORE_PHONE_NBR
, ASSOCIATE_NM
, SUB_DEPT
, MVNDR
, MVNDR_NBR
, PROD_DESC
, ADD_PROD_DESC
, MODEL_NBR
, QC_ORDER_TYPE
, QUOTE_DOLLARS) %>%
arrange(desc(QUOTE_DOLLARS)) %>%
mutate(QUOTE_DOLLARS = paste0(QUOTE_DOLLARS)) %>%
collect()
data %>% #THIS GENERATES THE DT TABLE WHERE I WOULD LIKE A FILTER TO BE RELELEVANT
filter(MVNDR_NBR == params$MVNDR_NBR) %>%
ungroup() %>%
select(-MVNDR_NBR, -MVNDR) %>%
DT::datatable(
filter = 'top',
extensions = 'Buttons',
options = list(dom = 'Bfrtip',
filter = 'top',
buttons = c('excel', "csv")))
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|

