Loops through each specified module ID or all modules if no ID was specified. For each ID, an attempt will be made to extract any datasets available.
Arguments
- state
Current module state after yaml file has been read
- session
Shiny session variable
- ids
Vector of ID strings for the modules containing the datasets or NULL for all datasets available.
Value
list containing the current dataset with the following format:
isgood: Boolean indicating the whether a dataset was found (
FALSE
)ds: List of datasets with element names corresponding to the R object name for that dataset. This has the following format
label: Text label for the dataset (used to display to the user)
DS: Data frame with the dataset
DSMETA: Data frame with metadata about the colunns of the dataset in
DS
. The data frame should have the following columns:col1: column 1
code: Code to generate the dataset.
checksum: Module checksum when the dataset was pulled
DSchecksum: Checksum of the dataframe in DS
catalog: Dataframe containing the a tabular catalog of the datasets found.
label: Text label
object: Name of the R Object containing the data frame
MOD_TYPE: Short name of the type of module
id: Module ID
checksum: Module checksum
DSchecksum: Checksum of the dataset
code: Code to generate the dataset
modules: List with an entry for each module. The element name is the short name. Each of these is a list with an entry that is the shiny module ID. For each of these there is a checksum. For example to access the checksum of a DW module with a module ID of 'my_id', you would use the following:
res$modules$DW$my_id
.
Examples
# We need a module state and a Shiny session variable
# to use this function:
id="UD"
sess_res = UD_test_mksession(session=list(), id=id)
#> → UD: including file
#> → UD: source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → UD: dest: file.path("config","report.docx")
#> → UD: including file
#> → UD: source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → UD: dest: file.path("config","report.pptx")
#> → UD: including file
#> → UD: source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → UD: dest: file.path("config","report.yaml")
#> → UD: State initialized
#> → UD: module checksum updated:897d952fecbc804999396a96f9df4b20
session = sess_res$session
state = sess_res$state
ds = FM_fetch_ds(state, session)
ds$catalog
#> label object MOD_TYPE id checksum
#> 1 Original data set myDS UD UD 897d952fecbc804999396a96f9df4b20
#> DSchecksum
#> 1 897d952fecbc804999396a96f9df4b20
#> code
#> 1 myDS = readxl::read_excel(path="TEST_DATA.xlsx", sheet="DATA")\nmyDS = janitor::clean_names(myDS, case="none")