Takes the current state of the app and appends data views to an xlsx report object.
Arguments
- state
DW state from
DW_fetch_state()
- rpt
Report with the current content of the report which will be appended to in this function. For details on the structure see the documentation for
FM_generate_report
.- rpttype
Type of report to generate (supported "xlsx").
- gen_code_only
Boolean value indicating that only code should be generated (
FALSE
).
Value
list containing the following elements
isgood: Return status of the function.
hasrptele: Boolean indicator if the module has any reportable elements.
code: Code to generate reporting elements.
msgs: Messages to be passed back to the user.
rpt: Report with any additions passed back to the user.
Examples
# We need a state object to use below
sess_res = DW_test_mksession()
#> → ASM: including file
#> → ASM: source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → ASM: dest: file.path("config","report.docx")
#> → ASM: including file
#> → ASM: source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → ASM: dest: file.path("config","report.pptx")
#> → ASM: including file
#> → ASM: source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → ASM: dest: file.path("config","report.yaml")
#> → ASM: State initialized
#> → ASM: setting word placeholders:
#> → ASM: -> setting docx ph: HEADERLEFT = left header
#> → ASM: -> setting docx ph: HEADERRIGHT = right header
#> → ASM: -> setting docx ph: FOOTERLEFT = left footer
#> → ASM: module isgood: TRUE
#> → 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
#> → UD: module isgood: TRUE
#> → DM: including file
#> → DM: source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → DM: dest: file.path("config","report.docx")
#> → DM: including file
#> → DM: source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → DM: dest: file.path("config","report.pptx")
#> → DM: including file
#> → DM: source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → DM: dest: file.path("config","report.yaml")
#> → DM: module checksum updated: 441abbd92e02d893eb5136ccdfcc717d
#> → DM: State initialized
#> → DM: ds checksum updated: 641fcbc6616d24d05acded4317a3bb12
#> → DM: module checksum updated: 5c077c5702479f330bf233040eb4a51b
#> → DM: adding preload sources
#> → DM: - file added: TEST_DATA.xlsx
#> → DM: added: TEST_DATA.xlsx
#> → DM: - url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_PC.csv
#> → DM: url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_PC.csv
#> → DM: - url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_EX.csv
#> → DM: url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_EX.csv
#> → DM: - url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_DM.csv
#> → DM: url added: https://raw.githubusercontent.com/john-harrold/formods/refs/heads/master/inst/test_data/SDTM_DM.csv
#> → DM: loading element idx: 1
#> → DM: ds checksum updated: 90805ca6c41a39696e1572d9b0a75868
#> → DM: module checksum updated: e23d5c825540acc0ebc26cb74c8b151a
#> → DM: added element idx: 1
#> → DM: loading element idx: 2
#> → DM: ds checksum updated: 18d9a3d9dc298236feec642d0aed2814
#> → DM: module checksum updated: a22be6ad803c0d2f4c364daba5835f52
#> → DM: added element idx: 2
#> → DM: loading element idx: 3
#> → DM: ds checksum updated: d68070934231e398024d6b5ef39b4670
#> → DM: module checksum updated: 6a6096efb9b5940362871cf89e45a7d6
#> → DM: added element idx: 3
#> → DM: loading element idx: 4
#> → DM: ds checksum updated: 103e644a85912d6e0839f26643e655ec
#> → DM: module checksum updated: 4d5c45fdebb04775b5b0e64215fc1e71
#> → DM: added element idx: 4
#> → DM: module isgood: TRUE
#> → DW: including file
#> → DW: source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → DW: dest: file.path("config","report.docx")
#> → DW: including file
#> → DW: source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → DW: dest: file.path("config","report.pptx")
#> → DW: including file
#> → DW: source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → DW: dest: file.path("config","report.yaml")
#> → DW: State initialized
#> → DW: module checksum updated:a9496b622f92f683cc8c69f65ac1ece4
#> → DW: loading data view idx: 1
#> → DW: -> setting data source: myDS
#> → DW: module checksum updated:dfec3d5aa14c2716ccf367706931693f
#> → DW: setting name: Observations
#> → DW: module checksum updated:4d9fd3d913355669d14e0ac710b0b5dc
#> → DW: -> filter
#> → DW: module checksum updated:2aba88838dee694a3d2813ed9f2837d2
#> → DW: -> filter
#> → DW: module checksum updated:c181a352a2bd3592494d917b87057086
#> → DW: -> mutate
#> → DW: module checksum updated:048df4e8afa9494121e72808981c842c
#> → DW: loading data view idx: 2
#> → DW: -> setting data source: myDS
#> → DW: module checksum updated:048df4e8afa9494121e72808981c842c
#> → DW: setting name: PK 3mg SD IV
#> → DW: module checksum updated:c54c6fc20ff13fd14fbb61c786f65078
#> → DW: -> filter
#> → DW: module checksum updated:496c1149f14ec1c48d4ddbc5aec72a72
#> → DW: -> filter
#> → DW: module checksum updated:d65a6b3c16bea4262f7fb15a1d961512
#> → DW: -> filter
#> → DW: module checksum updated:f90816b8f2ef9aeaad82e4a00880e536
#> → DW: -> filter
#> → DW: module checksum updated:452fc9d9131592650a93b4b49de961d1
#> → DW: loading data view idx: 3
#> → DW: -> setting data source: myDS
#> → DW: module checksum updated:452fc9d9131592650a93b4b49de961d1
#> → DW: setting name: PK 3mg SD IV (NCA)
#> → DW: module checksum updated:3b177ed09a80dfaf15c9f3dde8b9a8fb
#> → DW: -> filter
#> → DW: module checksum updated:ce7e35b3bc2e1f53088ae7edd5b4345e
#> → DW: -> filter
#> → DW: module checksum updated:64a5146d5e7070664557a7ff3d80f6f0
#> → DW: -> filter
#> → DW: module checksum updated:2cf968d6e72262f9274ea0389f717e84
#> → DW: loading data view idx: 4
#> → DW: -> setting data source: myDS
#> → DW: module checksum updated:2cf968d6e72262f9274ea0389f717e84
#> → DW: setting name: PKPD 3mg SD IV (NCA)
#> → DW: module checksum updated:67e9d6e6b2e085808be155613f8efe20
#> → DW: -> filter
#> → DW: module checksum updated:a7a211de4eb91c91098a1f20e62bec73
#> → DW: -> filter
#> → DW: module checksum updated:306f66790aca305ff1b715f34802610e
#> → DW: -> filter
#> → DW: module checksum updated:306f66790aca305ff1b715f34802610e
#> → DW: module isgood: TRUE
#> → # preload_complete is good: TRUE ------------------------------------------
state = sess_res$state
rpt = list(summary = list(), sheets=list())
rpt_res = DW_append_report(state,
rpt = rpt,
rpttype = "xlsx")
# Shows if report elements are present
rpt_res$hasrptele
#> [1] TRUE
# Code chunk to generate report element
cat(paste(rpt_res$code, collapse="\n"))
#> # Observations
#> rpt[["sheets"]][["DW_myDS_1"]]=DW_myDS_1
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#> data.frame(
#> Sheet_Name="DW_myDS_1",
#> Description="Observations"
#> )
#> )
#>
#> # PK 3mg SD IV
#> rpt[["sheets"]][["DW_myDS_2"]]=DW_myDS_2
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#> data.frame(
#> Sheet_Name="DW_myDS_2",
#> Description="PK 3mg SD IV"
#> )
#> )
#>
#> # PK 3mg SD IV (NCA)
#> rpt[["sheets"]][["DW_myDS_3"]]=DW_myDS_3
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#> data.frame(
#> Sheet_Name="DW_myDS_3",
#> Description="PK 3mg SD IV (NCA)"
#> )
#> )
#>
#> # PKPD 3mg SD IV (NCA)
#> rpt[["sheets"]][["DW_myDS_4"]]=DW_myDS_4
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#> data.frame(
#> Sheet_Name="DW_myDS_4",
#> Description="PKPD 3mg SD IV (NCA)"
#> )
#> )
# Tabular summary of data views
rpt_res$rpt$summary
#> Sheet_Name Description
#> 1 DW_myDS_1 Observations
#> 2 DW_myDS_2 PK 3mg SD IV
#> 3 DW_myDS_3 PK 3mg SD IV (NCA)
#> 4 DW_myDS_4 PKPD 3mg SD IV (NCA)