# NOT RUN {
# Set proportional 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
)
# Create an agent that has
# `small_table` set as the target
# table via `tbl`; apply the actions,
# add some validation steps and then
# interrogate the data
agent_1 <-
create_agent(
tbl = small_table,
tbl_name = "small_table",
label = "An example.",
actions = al
) %>%
col_exists(vars(date, date_time)) %>%
col_vals_regex(
vars(b), "[0-9]-[a-z]{3}-[0-9]{3}"
) %>%
rows_distinct() %>%
interrogate()
# In this case where `small_table`
# changes (and the aim is to have
# validations run periodically) it is
# better to obtain the table from the
# source with a table-prep formula;
# while doing this, the direct
# association to `small_table` can be
# removed with `remove_tbl()` so it's
# no longer part of the agent object
agent_2 <-
agent_1 %>%
remove_tbl() %>%
set_read_fn(read_fn = ~ small_table) %>%
interrogate()
# }
Run the code above in your browser using DataLab