Skip to contents

Takes the current state of the app and appends data views to an xlsx report object.

Usage

DW_append_report(state, rpt, rpttype, gen_code_only = FALSE)

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
#> → 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:5b0f0b05ee3ac7336a74c564bb6efdad
#> → DW: loading data view idx: 1
#> → DW: setting name: Observations
#> → DW: module checksum updated:1ac3e0afcc601f848943f92b854b3830
#> → DW:   -> filter
#> → DW: module checksum updated:67aff6e926eba73b3ecb361d26624844
#> → DW:   -> filter
#> → DW: module checksum updated:0234f6d458ef7487a3b2e991b2d0957b
#> → DW:   -> mutate
#> → DW: module checksum updated:37d0958f042076b974fdd3f894157822
#> → DW: loading data view idx: 2
#> → DW: setting name: PK 3mg SD IV
#> → DW: module checksum updated:4e7ca05728d66df3adfcf87387f9543a
#> → DW:   -> filter
#> → DW: module checksum updated:2d95bc56262f46b7f135dd33fc4722b3
#> → DW:   -> filter
#> → DW: module checksum updated:b8a30837145926d2d9cc6f788c10b7ed
#> → DW:   -> filter
#> → DW: module checksum updated:24b554ee8736ebc84979c896ac2e93c3
#> → DW:   -> filter
#> → DW: module checksum updated:daad88263faf7cbf90871ed00a0dd275
#> → DW: loading data view idx: 3
#> → DW: setting name: PK 3mg SD IV (NCA)
#> → DW: module checksum updated:a7b3ea35cdba272682716aa4619d3983
#> → DW:   -> filter
#> → DW: module checksum updated:e8d2f77c0bd731995d845ee8be623e22
#> → DW:   -> filter
#> → DW: module checksum updated:24cc7b591ca756a0abf560fb5295e04d
#> → DW:   -> filter
#> → DW: module checksum updated:f79ef26bdb4dac420c24650b9e96f721
#> → DW: loading data view idx: 4
#> → DW: setting name: PKPD 3mg SD IV (NCA)
#> → DW: module checksum updated:c737e8b3a28ba600a83ddf58a969c90a
#> → DW:   -> filter
#> → DW: module checksum updated:4c0d054f8ec47ae97fd1c650d8ddad55
#> → DW:   -> filter
#> → DW: module checksum updated:1e3d65ec1bd6ee5850d67bd2250e3223
#> → DW:   -> filter
#> → DW: module checksum updated:1e3d65ec1bd6ee5850d67bd2250e3223
#> → DW: module isgood: 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"))
#> rpt[["sheets"]][["DW_myDS_1"]]=DW_myDS_1
#> rpt[["summary"]] = rbind(rpt[["summary"]],
#>   data.frame(
#>     Sheet_Name="DW_myDS_1",
#>     Description="Observations"
#>   )
#> )
#> 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"
#>   )
#> )
#> 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)"
#>   )
#> )
#> 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)