Create a Query Object
Usage
query(...)
query2(..., call = rlang::caller_env())
Arguments
- ...
<
dynamic-dots
> Key-value pairs of query parameters. See Details.- call
The environment from which the function is called.
Examples
query(
first_name = starts_with("And"),
middle_name = NULL,
last_name = contains("J"),
state = any_of("CA", "GA", "NY"),
state_own = c("GA", "MD"),
ccn = "01256",
rate = between(0.45, 0.67),
year = 2014:2025)
#> <class_query>
#> @ params:List of 7
#> .. $ first_name: <starts_with>
#> .. ..@ operator : chr "STARTS_WITH"
#> .. ..@ value : chr "And"
#> .. ..@ member_of: chr(0)
#> .. $ last_name : <contains>
#> .. ..@ operator : chr "CONTAINS"
#> .. ..@ value : chr "J"
#> .. ..@ member_of: chr(0)
#> .. $ state : <any_of>
#> .. ..@ operator : chr "IN"
#> .. ..@ value : chr [1:3] "CA" "GA" "NY"
#> .. ..@ member_of: chr(0)
#> .. $ state_own : chr [1:2] "GA" "MD"
#> .. $ ccn : chr "01256"
#> .. $ rate : <between>
#> .. ..@ operator : chr "BETWEEN"
#> .. ..@ value : num [1:2] 0.45 0.67
#> .. ..@ member_of: chr(0)
#> .. $ year : int [1:12] 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 ...
#> @ year : int(0)
#> @ groups: list()
try(query2()) # cannot be empty
#> Error in eval(expr, envir) :
#> ✖ Query cannot be empty.
try(query2(1)) # must be named
#> Error in eval(expr, envir) :
#> ✖ Query values must be named.
#> ! Unnamed value: 1.
try(query2(a = 1, a = 2)) # names must be unique
#> Error in eval(expr, envir) :
#> ✖ Query field names must be unique
#> ! Field a appears multiple times.
try(query2(a = 1, or("a"))) # group needs more than one member
#> Error in eval(expr, envir) :
#> ✖ Query groups must have more than 1 member.
#> ! Invalid group: or("a").
try(query2(a = 1, or("a", "year"))) # year cannot be grouped
#> Error in eval(expr, envir) :
#> ✖ "year" cannot be a group member.
try(query2(year = any_of(2000:2020))) # year cannot be modified
#> Error in eval(expr, envir) :
#> ✖ `year` cannot be used with a <modifier>.
try(query2(ccn = "01256", and("ccn", "npii")))
#> Error in eval(expr, envir) :
#> ✖ Group members must match a field name.
#> ! Invalid member: "npii".
query2(
first_name = starts_with("And"),
middle_name = NULL,
last_name = contains("J"),
state = any_of("CA", "GA", "NY"),
state_own = c("GA", "MD"),
ccn = "01256",
rate = between(0.45, 0.67),
year = 2014:2025)
#> <class_query>
#> @ params:List of 6
#> .. $ first_name: <starts_with>
#> .. ..@ operator : chr "STARTS_WITH"
#> .. ..@ value : chr "And"
#> .. ..@ member_of: chr(0)
#> .. $ last_name : <contains>
#> .. ..@ operator : chr "CONTAINS"
#> .. ..@ value : chr "J"
#> .. ..@ member_of: chr(0)
#> .. $ state : <any_of>
#> .. ..@ operator : chr "IN"
#> .. ..@ value : chr [1:3] "CA" "GA" "NY"
#> .. ..@ member_of: chr(0)
#> .. $ rate : <between>
#> .. ..@ operator : chr "BETWEEN"
#> .. ..@ value : num [1:2] 0.45 0.67
#> .. ..@ member_of: chr(0)
#> .. $ state_own : <any_of>
#> .. ..@ operator : chr "IN"
#> .. ..@ value : chr [1:2] "GA" "MD"
#> .. ..@ member_of: chr(0)
#> .. $ ccn : <equal>
#> .. ..@ operator : chr "="
#> .. ..@ value : chr "01256"
#> .. ..@ member_of: chr(0)
#> @ year : int [1:12] 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 ...
#> @ groups: Named list()
query2(
year = 2018:2025,
state = any_of("CA", "GA", "NY"),
state_owner = c("GA", "MD"),
or("state", "state_owner"))
#> <class_query>
#> @ params:List of 2
#> .. $ state : <any_of>
#> .. ..@ operator : chr "IN"
#> .. ..@ value : chr [1:3] "CA" "GA" "NY"
#> .. ..@ member_of: chr "g1"
#> .. $ state_owner: <any_of>
#> .. ..@ operator : chr "IN"
#> .. ..@ value : chr [1:2] "GA" "MD"
#> .. ..@ member_of: chr "g1"
#> @ year : int [1:8] 2018 2019 2020 2021 2022 2023 2024 2025
#> @ groups:List of 1
#> .. $ g1: <or>
#> .. ..@ conjunction: chr "OR"
#> .. ..@ members : chr [1:2] "state" "state_owner"
query2(
year = 2022:2024,
state = any_of("GA", "NY"),
enrlmt_id = "I20040309000221",
city = "Atlanta",
provcity = "Atlanta",
provider_name = starts_with("C"),
provname = starts_with("C"),
provider_first_name = starts_with("An"),
provider_last_name = contains("JE"),
practice_state_or_us_territory = any_of("GA", "FL"),
practice_size = less_than(10, or_equal = TRUE),
or("state", "city"),
or("provider_name", "provider_first_name"))
#> <class_query>
#> @ params:List of 10
#> .. $ state : <any_of>
#> .. ..@ operator : chr "IN"
#> .. ..@ value : chr [1:2] "GA" "NY"
#> .. ..@ member_of: chr "g1"
#> .. $ provider_name : <starts_with>
#> .. ..@ operator : chr "STARTS_WITH"
#> .. ..@ value : chr "C"
#> .. ..@ member_of: chr "g2"
#> .. $ provname : <starts_with>
#> .. ..@ operator : chr "STARTS_WITH"
#> .. ..@ value : chr "C"
#> .. ..@ member_of: chr(0)
#> .. $ provider_first_name : <starts_with>
#> .. ..@ operator : chr "STARTS_WITH"
#> .. ..@ value : chr "An"
#> .. ..@ member_of: chr "g2"
#> .. $ provider_last_name : <contains>
#> .. ..@ operator : chr "CONTAINS"
#> .. ..@ value : chr "JE"
#> .. ..@ member_of: chr(0)
#> .. $ practice_state_or_us_territory: <any_of>
#> .. ..@ operator : chr "IN"
#> .. ..@ value : chr [1:2] "GA" "FL"
#> .. ..@ member_of: chr(0)
#> .. $ practice_size : <less_than>
#> .. ..@ operator : chr "<="
#> .. ..@ value : num 10
#> .. ..@ member_of: chr(0)
#> .. $ enrlmt_id : <equal>
#> .. ..@ operator : chr "="
#> .. ..@ value : chr "I20040309000221"
#> .. ..@ member_of: chr(0)
#> .. $ city : <equal>
#> .. ..@ operator : chr "="
#> .. ..@ value : chr "Atlanta"
#> .. ..@ member_of: chr "g1"
#> .. $ provcity : <equal>
#> .. ..@ operator : chr "="
#> .. ..@ value : chr "Atlanta"
#> .. ..@ member_of: chr(0)
#> @ year : int [1:3] 2022 2023 2024
#> @ groups:List of 2
#> .. $ g1: <or>
#> .. ..@ conjunction: chr "OR"
#> .. ..@ members : chr [1:2] "state" "city"
#> .. $ g2: <or>
#> .. ..@ conjunction: chr "OR"
#> .. ..@ members : chr [1:2] "provider_name" "provider_first_name"