diff --git a/R/get.R b/R/get.R index 9ba0210..4a0c67b 100644 --- a/R/get.R +++ b/R/get.R @@ -1224,64 +1224,11 @@ get_chem <- function( ) } - # filter chemistry data for dates and locations - chemdata <- - tbl(con, "FactChemischeMeting") %>% - select( - .data$StaalID, - .data$DatumWID, - .data$ChemVarWID, - .data$MeetpuntWID, - .data$Meetwaarde, - .data$MeetwaardeMEQ, - .data$IsBelowLOQ - ) %>% - inner_join( - tbl(con, "DimChemVar") %>% - select( - .data$ChemVarWID, - .data$ChemVarCode, - .data$ChemVarEenheid - ), - by = "ChemVarWID" - ) %>% - inner_join( - tbl(con, "DimTijd") %>% - select( - .data$DatumWID, - .data$Datum - ), - by = "DatumWID" - ) %>% - mutate(Datum = sql("CAST(Datum AS date)")) %>% - filter( - .data$Datum >= startdate, - .data$Datum <= enddate - ) %>% - rename(loc_wid = .data$MeetpuntWID) %>% - inner_join( - locs %>% - select( - .data$loc_wid, - .data$loc_code - ) %>% - distinct(), - ., - by = "loc_wid" - ) %>% - select(-.data$loc_wid) + chemdata <- locs %>% build_chem_query(con, startdate, enddate) # add relevant further attributes and rename chem <- chemdata %>% - left_join( - tbl(con, "ssrs_StaalEN") %>% - select( - .data$StaalID, - .data$StaalEN - ), - by = "StaalID" - ) %>% # temporary values: mutate( lab_project_id = "0", @@ -1299,7 +1246,7 @@ get_chem <- function( unit = .data$ChemVarEenheid, below_loq = .data$IsBelowLOQ, .data$loq, - elneutr = .data$StaalEN + elneutr = .data$ENCalculated ) %>% filter(!is.na(.data$value_mass)) %>% # empty rows occur in the DWH! mutate( @@ -1443,3 +1390,68 @@ get_chem <- function( return(chem) } + +build_chem_query <- function( + locs, + con, + startdate, + enddate +) { + # filter chemistry data for dates and locations + chemdata <- + tbl(con, "FactChemischeMeting") %>% + select( + .data$StaalID, + .data$StaalWID, + .data$DatumWID, + .data$ChemVarWID, + .data$MeetpuntWID, + .data$Meetwaarde, + .data$MeetwaardeMEQ, + .data$IsBelowLOQ + ) %>% + inner_join( + tbl(con, "DimChemVar") %>% + select( + .data$ChemVarWID, + .data$ChemVarCode, + .data$ChemVarEenheid + ) %>% + filter(.data$ChemVarWID != 24), + by = "ChemVarWID" + ) %>% + inner_join( + tbl(con, "DimDatum") %>% + select( + .data$DatumWID, + .data$Datum + ), + by = "DatumWID" + ) %>% + mutate(Datum = sql("CAST(Datum AS date)")) %>% + filter( + .data$Datum >= startdate, + .data$Datum <= enddate + ) %>% + rename(loc_wid = .data$MeetpuntWID) %>% + inner_join( + locs %>% + select( + .data$loc_wid, + .data$loc_code + ) %>% + distinct(), + ., + by = "loc_wid" + ) %>% + select(-.data$loc_wid) %>% + left_join( + tbl(con, "DimStaal") %>% + select( + .data$StaalWID, + .data$StaalElnNbr, + .data$ENCalculated + ), + by = "StaalWID" + ) +}