export_report | R Documentation |
The agent, informant, multiagent, and the table scan object can be
easily written as HTML with export_report()
. Furthermore, any report
objects from the agent, informant, and multiagent (generated using
get_agent_report()
, get_informant_report()
, and
get_multiagent_report()
) can be provided here for HTML export. Each HTML
document written to disk is self-contained and easily viewable in a web
browser.
export_report(x, filename, path = NULL, quiet = FALSE)
x |
One of several types of objects
An agent object of class |
filename |
File name
The filename to create on disk for the HTML export of the object provided.
It's recommended that the extension |
path |
File path
An optional path to which the file should be saved (this is automatically
combined with |
quiet |
Inform (or not) upon file writing
Should the function not inform when the file is written? |
Invisibly returns TRUE
if the file has been written.
Let's go through the process of (1) developing an agent with a validation
plan (to be used for the data quality analysis of the small_table
dataset), (2) interrogating the agent with the interrogate()
function, and
(3) writing the agent and all its intel to a file.
Creating an action_levels
object is a common workflow step when creating a
pointblank agent. We designate failure thresholds to the warn
, stop
, and
notify
states using action_levels()
.
al <- action_levels( warn_at = 0.10, stop_at = 0.25, notify_at = 0.35 )
Now create a pointblank agent
object and give it the al
object (which
serves as a default for all validation steps which can be overridden). The
data will be referenced in the tbl
argument with a leading ~
.
agent <- create_agent( tbl = ~ small_table, tbl_name = "small_table", label = "`export_report()`", actions = al )
As with any agent object, we can add steps to the validation plan by using as
many validation functions as we want. Then, we interrogate()
.
agent <- agent %>% col_exists(columns = c(date, date_time)) %>% col_vals_regex( columns = b, regex = "[0-9]-[a-z]{3}-[0-9]{3}" ) %>% rows_distinct() %>% col_vals_gt(columns = d, value = 100) %>% col_vals_lte(columns = c, value = 5) %>% interrogate()
The agent report can be written to an HTML file with export_report()
.
export_report( agent, filename = "agent-small_table.html" )
If you're consistently writing agent reports when periodically checking data,
we could make use of affix_date()
or affix_datetime()
depending on the
granularity you need. Here's an example that writes the file with the format:
"<filename>-YYYY-mm-dd_HH-MM-SS.html"
.
export_report( agent, filename = affix_datetime( "agent-small_table.html" ) )
Let's go through the process of (1) creating an informant object that
minimally describes the small_table
dataset, (2) ensuring that data is
captured from the target table using the incorporate()
function, and (3)
writing the informant report to HTML.
Create a pointblank informant
object with create_informant()
and the
small_table
dataset. Use incorporate()
so that info snippets are
integrated into the text.
informant <- create_informant( tbl = ~ small_table, tbl_name = "small_table", label = "`export_report()`" ) %>% info_snippet( snippet_name = "high_a", fn = snip_highest(column = "a") ) %>% info_snippet( snippet_name = "low_a", fn = snip_lowest(column = "a") ) %>% info_columns( columns = a, info = "From {low_a} to {high_a}." ) %>% info_columns( columns = starts_with("date"), info = "Time-based values." ) %>% info_columns( columns = date, info = "The date part of `date_time`." ) %>% incorporate()
The informant report can be written to an HTML file with export_report()
.
Let's do this with affix_date()
so the filename has a datestamp.
export_report( informant, filename = affix_date( "informant-small_table.html" ) )
We can get a report that describes all of the data in the storms
dataset.
tbl_scan <- scan_data(tbl = dplyr::storms)
The table scan object can be written to an HTML file with export_report()
.
export_report( tbl_scan, filename = "tbl_scan-storms.html" )
9-3
Other Object Ops:
activate_steps()
,
deactivate_steps()
,
remove_steps()
,
set_tbl()
,
x_read_disk()
,
x_write_disk()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.