(: file: create_stg2whPop.xq date: 24-August-2010 author: Gary Lewis purpose: Creates the recoded or computed variables that will be moved to the warehouse. notes: 1. For recoded variables the output here can be verified against the original IPEDS variables in stgPop.xml. To do this, run freq_1var_stg2whPop_by_year.xq to get a frequency distribution for a variable (eg, rControl) in stg2whPop.xml. Then run freq_1var_stgPop_by_year.xq for the corresponding IPEDS variable (eg, control) in stgPop.xml. Compare frequency distributions. 2. When satisfied with the comparisons, move the data in stg2whPop.xml to the warehouse by moving it to ../xml/warehouse/whPop.xml. usage: Run from path where program is located. example: zorba -f -q create_stg2whPop.xq -o ../xml/staging/stg2whPop.xml -z indent=yes revision history: date: 31-August-2010 revised: 1. Added fips and geost. date: 01-September-2010 revised: 1. Added rStateInd. date: 07-September-2010 revised: 1. Added rAdminInd. date: 09-September-2010 revised: 1. Added rDegreeInd, rTitle4Ind, and rDGT4instInd. date: 10-September-2010 revised: 1. Changed unitid attribute to rInstid. 2. Renamed rDGT4instInd to rDESdgInd to reflect Digest of Education Statistics (DES) definition of 'degree-granting institutions'. 3. Added code -9 for rDESdgInd for survey years prior to 1996 to signify that the indicator was not defined in these years. 4. Added rDESheInd. date: 13-September-2010 revised: 1. Added rDESInd. 2. Moved recode logic for rStateInd, rDESdgInd, rDESheInd, and rDESInd to recodes.xml. date: 17-September-2010 revised: 1. Added rRegion. date: 05-October-2010 revised: 1. Added rFallEnrl. date: 25-October-2010 revised: 1. Added several fall enrollment variables. 2. Added several full-time equivalent enrollment variables. 3. Renamed rFallEnrl to rEnrlTotal. 4. Added rEnrlOKind. 5. Variables not yet added to warehouse but available if needed: rEnrlFTug="{$enrlFTug}" rEnrlFT1p="{$enrlFT1p}" rEnrlFTgr="{$enrlFTgr}" rEnrlFTun="{$enrlFTun}" rEnrlPTug="{$enrlPTug}" rEnrlPT1p="{$enrlPT1p}" rEnrlPTgr="{$enrlPTgr}" rEnrlPTun="{$enrlPTun}" rFteFTug="{$fteFTug}" rFteFT1p="{$fteFT1p}" rFteFTgr="{$fteFTgr}" rFteFTun="{$fteFTun}" rFtePTug="{$ftePTug}" rFtePT1p="{$ftePT1p}" rFtePTgr="{$ftePTgr}" rFtePTun="{$ftePTun}" date: 28-October-2010 revised: 1. Made consistent with the changes in create_min_stgPop_dir_1year.xq, create_stgPop_1year.xq, and create_stgPop.xq. See these xquery programs for more details. The changes in those programs eliminate the need for recodes.xml and the use of the eval{} expression in create_stg2whPop.xq (ie, this program). The changes were done in order to improve xquery performance in this program. date: 11-November-2010 revised: 1. Added pricing data. 2. Added FTE variables for undergraduate, graduate, first professional, and unclassified enrollment levels. 3. Added FTE variables for full-time and part-time fall enrollments. :) declare variable $xquery := "create_stg2whPop.xq"; declare variable $datetime := format-dateTime(current-dateTime(), "[D]-[MNn]-[Y] [H01]:[m01][Pn] [ZN]"); { for $i in doc("/home/gml/rwebdb/projects/ipeds/xml/staging/stgPop.xml")/ipeds/survey let $year := $i/@year order by $year descending return { for $j in $i/inst let $rInstid := $j/@rInstid, $rControl := $j/@rControl, $rLevel := $j/@rLevel, $rState := $j/@rState, $rStateInd := $j/@rStateInd, $rAdminInd := $j/@rAdminInd, $rDegreeInd := $j/@rDegreeInd, $rTitle4Ind := $j/@rTitle4Ind, $rDESdgInd := $j/@rDESdgInd, $rDESheInd := $j/@rDESheInd, $rDESInd := $j/@rDESInd, $rRegion := $j/@rRegion, $enrlFTug := $j/@enrlFTug, $enrlFT1p := $j/@enrlFT1p, $enrlFTgr := $j/@enrlFTgr, $enrlFTun := $j/@enrlFTun, $enrlPTug := $j/@enrlPTug, $enrlPT1p := $j/@enrlPT1p, $enrlPTgr := $j/@enrlPTgr, $enrlPTun := $j/@enrlPTun, $enrlFT := $j/@enrlFT, $enrlPT := $j/@enrlPT, $enrlUG := $j/@enrlUG, $enrl1P := $j/@enrl1P, $enrlGR := $j/@enrlGR, $enrlUN := $j/@enrlUN, $enrlTotal := $j/@enrlTotal, $enrlConsistentInd := $j/@enrlConsistentInd, $fteFTug := $j/@fteFTug, $fteFT1p := $j/@fteFT1p, $fteFTgr := $j/@fteFTgr, $fteFTun := $j/@fteFTun, $ftePTug := $j/@ftePTug, $ftePT1p := $j/@ftePT1p, $ftePTgr := $j/@ftePTgr, $ftePTun := $j/@ftePTun, $fteFT := $j/@fteFT, $ftePT := $j/@ftePT, $fteUG := $j/@fteUG, $fte1P := $j/@fte1P, $fteGR := $j/@fteGR, $fteUN := $j/@fteUN, $fteTotal := $j/@fteTotal, $ugTF := $j/@ugTF, $grTF := $j/@grTF, $wgtUGtf := $j/@wgtUGtf, $wgtGRtf := $j/@wgtGRtf return } }