Presentation is loading. Please wait.

Presentation is loading. Please wait.

MICS4 Data Processing Workshop Multiple Indicator Cluster Surveys Data Processing Workshop Data Entry Applications with Logic.

Similar presentations

Presentation on theme: "MICS4 Data Processing Workshop Multiple Indicator Cluster Surveys Data Processing Workshop Data Entry Applications with Logic."— Presentation transcript:

1 MICS4 Data Processing Workshop Multiple Indicator Cluster Surveys Data Processing Workshop Data Entry Applications with Logic

2 Topics to be Discussed what is the path of data entry? skip and reenter manipulating the path via procedures processing order in CSPro more commonly-used CSPro commands creating user-defined variables adding messages to your program MICS4 Data Processing Workshop

3 The Data Entry Path The data entry path contains all of the questions that a respondent should be asked It is determined by –the type of the questionnaire –the responses to questions in conjunction with questionnaire skips questionnaire filters It is controlled by logic you develop MICS4 Data Processing Workshop

4 Changing the path via skip CSPro has two ways of implementing skips: skip to Use if moving to a singly-occurring variable or to a roster: skip to ; skip to next Use if the var. being skipped to is in a repeating form/roster: skip to next ; MICS4 Data Processing Workshop

5 Changing the path via reenter To force the data entry operator to reenter the current field (e.g., if the data entered are inconsistent) use: reenter; By default, reenter forces reentry of the current field. If you wish to force reentry of a previously-entered field, use: reenter ; MICS4 Data Processing Workshop

6 CSPro Procedure Types Global procedure ( PROC GLOBAL ) logic executed when the Data Entry App begins Form File procedure ( PROC ) logic executed when the Data Entry App begins/ends Level procedure ( PROC ) logic executed when a level begins/ends Group procedure ( PROC ) logic executed when a form/roster begins/ends Variable procedure ( PROC ) logic executed before/after a variable is keyed MICS4 Data Processing Workshop

7 preproc and postproc There are two types of procedures: preproc logic executed before the item for example, skip to another variable postproc logic executed after item for example, check if data entered is consistent for example, skip to a variable default action for logic if nothing explicitly written MICS4 Data Processing Workshop

8 Order of Operations PROC GLOBAL (executes at start of program, cannot stipulate preproc or postproc) Form File preproc Level 1 preproc Form 1.1 preproc Field 1.1.1 preproc Field 1.1.1 postproc repeat for other Form 1.1 postproc repeat for other Level 2 preproc Form 2.1 preproc Field 2.1.1 preproc Field 2.1.1 postproc Form 2.1 postproc repeat for other Level 2 postproc Level 1 postproc Form File postproc MICS4 Data Processing Workshop

9 Ending a Level You must prematurely finish a level if –the last variable in the data path is not the last variable on the questionnaire –there are no more woman or childrens under-five questionnaires left for the HH This is accomplished using the endlevel command MICS4 Data Processing Workshop

10 The endlevel Command The effect of the endlevel command depends upon its context/location: –In a field/roster/form proc, control passes to the current levels postproc –In a level 2 or higher postproc, control passes to the next highest levels postproc –In a level 1 proc, control passes to the application, i.e., the form files postproc MICS4 Data Processing Workshop

11 Operator vs. System Controlled Operator-controlled: the keyer has some/ all control on the data entry path System-controlled: the keyer has no control over the data entry path –go to options data entry –choose system controlled –(while you are there, make all alphanumeric variables upper case) MICS4 Data Processing Workshop

12 Ending a Group A group is a roster or multiply-occurring form Is terminated by using the endgroup command Passes control to the groups postproc all intervening logic (in other form/roster items) is skipped MICS4 Data Processing Workshop

13 User-defined Variables User-defined variables must be declared in the PROC GLOBAL section and as implied, are global in scope Numeric working variables can be declared together –numeric var1, var2 ; Alphanumeric variables must be declared separately: –alpha(length) avar1; –alpha(length) avar2; MICS4 Data Processing Workshop

14 User-defined Variables (cont) All variables must be declared in the preproc of the form_files procedure User-defined variables should be assigned a value within the preproc of the form_files, e.g., minab = 144; You should give a description of your variable at either the place of declaration or initialization, e.g., numeric minab; {min. age at first birth in months} MICS4 Data Processing Workshop

15 Recoding Variables To more easily assign values to a variable based on another variable, use recode The following logic recodes womens age into groups: recodeWB2 => agegrps; 15-19 => 1; 20-24=> 2; => 3; endrecode; MICS4 Data Processing Workshop

16 if command Use the if command to check for a condition: if HH9 <> 1 then skip to HH16; endif; if (HH9=1 and HH11=0) or (HH9 in 2:4,6 and HH11<>0) then reenter; endif ; MICS4 Data Processing Workshop

17 Generating Error Messages Example: If the cluster number is invalid, we can show the operator a message to explain what the problem is; for example, errmsg(Cluster number invalid); However, to be more useful, we should tell them what the valid range is; to do this, we can pass in parameters to the command as follows: errmsg(Cluster number invalid, expected range %d to %d, MinClust, MaxClust); MICS4 Data Processing Workshop

18 Error Message Parameters The values of any variables listed after the error message number will be passed to the error message Parameters are displayed in the error message using –%d for numeric values –%s for alphanumeric values (i.e., text) MICS4 Data Processing Workshop

19 Streamlining Error Messages Suppose we need to repeat the same message several times in the filewhat should we do? We can assign unique numbers to each error message We can keep all error messages in the message file (.mgf) MICS4 Data Processing Workshop

20 Sample Error Messages Our earlier message (and maybe one we could use for that HH result code earlier) would now be simplified to: errmsg(1, MinClust, MaxClust); errmsg(2, HH9, HH11); And the message file would look something like: 0001 Cluster number invalid, expected range %d to %d 0002 HH result code (%d) doesnt agree with number of HH members (%d) MICS4 Data Processing Workshop

21 Modifying Your Test Application Add logic to –check if the household number is consistent display message and add reenter command if not –implement the HH result code skip –check the date of interview is internally consistent display message and force reentry if not Compile your application, resolve any errors Save your application ( ) MICS4 Data Processing Workshop

22 Testing your Application Click once on the execute button on toolbar ( ), or press to run Use NoData.dat as your datafile Enter a case (i.e., a questionnaire) MICS4 Data Processing Workshop

Download ppt "MICS4 Data Processing Workshop Multiple Indicator Cluster Surveys Data Processing Workshop Data Entry Applications with Logic."

Similar presentations

Ads by Google