Source of Funding Sample Code
Note: This page is from an older version of the Data Dictionary and may therefore contain information that is now out of date. It is included here for reference only.
1 The following pseudo code and SPSS code is provided to illustrate the Source of Funding and Sources of Funding for the Aim data definitions.
L_FUND, A_ESF, A_STREAM
2 The following table shows the steps required to derive L_FUND
FE, UFI, ACL
Step | Condition | Action if true | Action if false |
1 | Does the Learner have any live aims (A_LIVE_B>1) | Go to 2 | Set L_FUND to -99 |
2 | Does the Learner have any live aims where A10=20,40,41,42,60,80 | Go to 3 | Go to 5 |
3 | Do any of these live aims have attached ESF data sets (A06=1) | Set L_FUND to 2 | Go to 4 |
4 | Does the Learner have any live aims where A10=70 | Set L_FUND to 2 | Set L_FUND to 1 |
5 | Does the Learner have any live aims where A10=70 | Set L_FUND to 3 | Set L_FUND to 0 |
WBL, ESFSE
Step | Condition | Action if true | Action if false |
1 | Does the Learner have any aims where A10=20,40,41,42,60,80 | Go to 2 | Go to 4 |
2 | Do any of these aims have attached ESF data sets (A06=1) | Set L_FUND to 2 | Go to 3 |
3 | Does the Learner have any aims where A10=70 | Set L_FUND to 2 | Set L_FUND to 1 |
4 | Does the Learner have any aims where A10=70 | Set L_FUND to 3 | Set L_FUND to 0 |
The following table shows the steps required to derive A_STREAM
| Condition | A06=0 | A06=1 |
| (A10=70 AND A09=XESF0001 AND A15=99) or (A10=80 AND A09=XMAT0001 AND A15=99) | A_STREAM=0 | A_STREAM=0 |
| 10 | A_STREAM=10 | ASTREAM=15 |
| 20 | A_STREAM=20 | ASTREAM=25 |
| 30 | A_STREAM=30 | ASTREAM=30 |
| 40 | A_STREAM=40 | ASTREAM=45 |
| 41 | A_STREAM=41 | ASTREAM=46 |
| 42 | A_STREAM=42 | ASTREAM=47 |
| 60 | A_STREAM=60 | ASTREAM=65 |
| 70 | A_STREAM=70 | ASTREAM=75 |
| 80 | A_STREAM=80 | ASTREAM=85 |
| 99 | A_STREAM=99 | ASTREAM=95 |
The following SPSS code illustrates how to derive L_FUND, A_ESF, and A_STREAM.
GET FILE …………….AIMS data set.
/*Create a dummy value for A_LIVE_N for WBL and ESF SR collections. DO IF ANY(A08,2,4). COMPUTE A_LIVE_B=99. END IF.
/* Create seven dichotomous variables one for each of the funding streams. IF A10=10 ACL=1. IF A10=20 FE=1. IF A10=30 SIXF=1. IF ANY(A10,40,41,42) WBL=1. IF A10=60 TTG=1. IF A10=70 ESF=1. IF A10=80 OTH=1. IF A10=99 NOLSC=1. RECODE ACL TO NOLSC (SYSMIS=0).
SORT CASES L01 L03 A05.
/* Aggregate to leaner level so that there is only one value per funding stream per learner /* Exclude those aims which are not included for analytical purposes. TEMPORARY. SELECT IF A_LIVE_B > 1. AGGREGATE OUTFILE =’…………..FUND temporary data set’ /PRESORTED /BREAK=L01 L03 /ACLS FES SIXFS WBLS TTGS ESFS OTHS NOLSCS=MAX(ACL FE SIXF WBL TTG ESF OTH NOLSC).
MATCH FILE /FILE=* /TABLE=’…………..FUND temporary data set’ /BY L01 L03.
/* Create a variable total which will indicate the number of different funding sources a learner has. COMPUTE TOTAL=SUM (ACLS TO NOLSCS).
/*Creates a new variable A_ESF which categorises any esf aim. DO IF A_LIVE_B > 1. COMPUTE A_ESF=0. IF TOTAL=1 AND ESFS=1 A_ESF=1. IF A10=40 AND ESFS=0 AND A06=1 A_ESF=3. IF A10=41 AND ESFS=0 AND A06=1 A_ESF=3. IF A10=42 AND ESFS=0 AND A06=1 A_ESF=3. IF A10=20 AND ESFS=0 AND A06=1 A_ESF=3. IF WBLS=1 AND ESFS=0 AND A06=1 A_ESF=3. IF FES=1 AND ESFS=0 AND A06=1 A_ESF=3. IF A10=20 AND ESFS=0 AND A06=1 A_ESF=3. IF TTGS=1 AND ESFS=0 AND A06=1 A_ESF=3. IF A10=80 AND ESFS=0 AND A06=1 A_ESF=3. IF A10=99 AND ESFS=0 AND A06=1 A_ESF=3. IF A10=70 AND WBLS=1 AND A06=1 AND TOTAL=2 A_ESF=4. IF A10=70 AND FES=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=70 AND OTHS=1 AND A06=1 AND TOTAL=2 A_ESF=4. IF A10=70 AND NOLSCS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=20 AND ESFS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=40 AND ESFS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=41 AND ESFS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=42 AND ESFS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=60 AND ESFS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=80 AND ESFS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=99 AND ESFS=1 AND A06=1 AND TOTAL >= 2 A_ESF=4. IF A10=70 AND UPCASE(A09)="XESF0001" AND A15=99 A_ESF=2. IF A10=80 AND UPCASE(A09)="XMAT0001" AND A15=99 A_ESF=2.
VARIABLE LABELS A_ESF 'DV - Type of ESF Aim'. VALUE LABELS A_ESF 0 'Not an ESF Funded Aim' 1 'ESF Beneficiary funding' 2 'ESF short event Record' 3 'ESF Matched funding' 4 'ESF enhanced funding'. RECODE A07 A06 (1 THRU HI=1) (SYSMIS=0).
/* Create new funding source variable a_stream, initially copy A10 values. COMPUTE A_STREAM=A10. DO IF A_ESF NE 2. IF A_STREAM=10 AND A06=1 A_STREAM=15. IF A_STREAM=20 AND A06=1 A_STREAM=25. IF A_STREAM=30 AND A06=1 A_STREAM=35. IF A_STREAM=40 AND A06=1 A_STREAM=45. IF A_STREAM=41 AND A06=1 A_STREAM=46. IF A_STREAM=42 AND A06=1 A_STREAM=47. IF A_STREAM=60 AND A06=1 A_STREAM=65. IF A_STREAM=80 AND A06=1 A_STREAM=85. IF A_STREAM=99 AND A06=1 A_STREAM=95. ELSE. COMPUTE A_STREAM=0. END IF. END IF.
VARIABLE LABELS A_STREAM 'DV - Sources of funding for the Aim'. VALUE LABELS a_stream 0 'ESF Short Event Record' 10 'Adult & community learning' 15 'ESF Co-Financed & adult & community learning' 20 'Further Education' 25 'ESF Co-Financed & further education' 30 'School sixth form' 35 'ESF Co-Financed & reserved for school sixth form' 40 'Work based learning' 41 'WBL technical certificate funded as part of a framework' 42 'WBL other subsidiary aim funded as part of a framework' 45 'ESF Co-Financed & work based learning' 46 'ESF Co-Financed & WBL technical certificate funded as part of a framework' 47 'ESF Co-Financed & WBL other subsidiary aim funded as part of a framework' 60 'Train to Gain' 65 'ESF Co-Financed & Train to Gain' 70 'LSC ESF co-financed ' 80 'Other LSC funding stream' 85 'ESF Co-Financed & other LSC funding stream' 95 'ESF Co-Financed & no LSC funding for this learning aim' 99 'No LSC funding for this learning aim'.
/* recode a_stream into a_fund, simplified version of funding, i.e. LSC or not LSC, used to calculate a Learner level funding variable. SAV OUT ‘………..AIMS’. RECODE A_STREAM (0=0) (10=1) (15=2) (20=1) (25=2) (30=1) (35=2) (40=1) (41=1) (42=1) (45=2) (46=2) (47=2) (60=1) (65=2) (70=3) (80=1) (85=2) (99=0) (95=3) INTO A_FUND. VAL LABS A_FUND 0 'No LSC Funding' 1 'LSC Funding' 2 'LSC/ESF Funding' 3 'ESF Funding' -99 'No Live Aims'.
/* create variables for aggregation. RECODE A_FUND (SYSMIS=-99). IF A_FUND=0 NOLSC2=1. IF A_FUND=1 LSC2=1. IF A_FUND=2 LSCESF2=1. IF A_FUND=3 ESF2=1. RECODE NOLSC2 TO ESF2 (SYSMIS=0).
/* Exclude those aims which are not included for analytical purposes. SELECT IF A_LIVE_B > 1. AGGREGATE OUTFILE * /BREAK L01 L03 /NOLSC LSC LSCESF ESF =MAX(NOLSC2 LSC2 LSCESF2 ESF2 ).
/* Create learner level variable L_FUND that shows the source of the learners funding. COMPUTE TOTAL=SUM(NOLSC TO ESF). COMPUTE L_FUND=-99. IF TOTAL=1 AND NOLSC=1 L_FUND=0.
IF TOTAL=1 AND LSC=1 L_FUND=1. IF TOTAL=2 AND NOLSC=1 AND LSC=1 L_FUND=1.
IF TOTAL=1 AND LSCESF=1 L_FUND=2. IF TOTAL=2 AND LSCESF=1 AND NOLSC=1 L_FUND=2. IF TOTAL=2 AND LSCESF=1 AND LSC=1 L_FUND=2. IF TOTAL=2 AND LSCESF=1 AND ESF=1 L_FUND=2. IF TOTAL=3 AND LSCESF=1 AND ESF=1 AND LSC=1 L_FUND=2. IF TOTAL=3 AND LSCESF=1 AND LSC=1 AND NOLSC=1 L_FUND=2. IF TOTAL=2 AND LSC=1 AND ESF=1 L_FUND=2. IF TOTAL=3 AND LSC=1 AND ESF=1 AND NOLSC=1 L_FUND=2. IF TOTAL=3 AND LSCESF=1 AND ESF=1 AND NOLSC=1 L_FUND=2. IF TOTAL=4 L_FUND=2.
IF TOTAL=1 AND ESF=1 L_FUND=3. IF TOTAL=2 AND ESF=1 AND NOLSC=1 L_FUND=3.
VARIABLE LABELS L_FUND 'DV - Sources of funding for the Learner'. VALUE LABELS L_FUND 0 'No LSC Funding for the Learner' 1 'LSC Only Funding for the Learner' 2 'LSC & ESF Co-Financing Funding for the Learner' 3 'ESF Co-Financing Only for the Learner' -99 'No Live Aims'. |
Last Modified: 26 Sep 06