CSPro Version 6.0
CSPro Version 6.0
Getting Started
Version 6.0.1
25 September 2014
Table of Contents
Introduction .....................................................................................................................................1
What is CSPro?
1
CSPro Features
1
Installation .......................................................................................................................................3
Hardware and Software Requirements
3
Installing CSPro
3
Uninstalling CSPro
4
Installing a Newer Version
4
CSPro Tutorial.................................................................................................................................5
About the Tutorial
5
Exercise 1: Create a Data Entry Application
5
Step 1: Examine the Tutorial Questionnaire........................................................................5
Step 2: Start CSPro .............................................................................................................6
Step 3: Use Wizard for New Application .............................................................................7
Exercise 2: Create the Data Dictionary
8
Step 1: The ID Item .............................................................................................................8
Step 2: The Records............................................................................................................9
Step 3: Create the Items....................................................................................................10
Step 4: Create Values for the Items ..................................................................................11
Exercise 3: Create the Data Entry Forms
13
Step 1: Place ID and Housing Items on Form ...................................................................13
Step 2: Add Text and Boxes ..............................................................................................14
Step 3: Generate Forms Automatically .............................................................................15
Exercise 4: Enter Data
16
Step 1: Run the Data Entry Application .............................................................................16
Step 2: Begin to Add a Case .............................................................................................17
Step 3: Finish Adding a Case ............................................................................................18
Step 4: Modify a Case .......................................................................................................19
Exercise 5: Tabulate Data
20
Step 1: Create a Tabulation Application ............................................................................20
Step 2: Select Items to Tabulate .......................................................................................22
Step 3: Run the Tabulation ................................................................................................23
Exercise 6: Modify the Table
24
Step 1: Add Percents.........................................................................................................24
Step 2: Add a Universe......................................................................................................26
Step 3: Change the Title Font............................................................................................27
Exercise 7: Add Edits to the Data Entry Application
28
Step 1: Write Logic for the Edit ..........................................................................................28
Step 2: Compile the Logic .................................................................................................29
Step 3: Test the Edit ..........................................................................................................30
Step 4: Complete the Case ...............................................................................................31
Exercise 8: Run a Batch Application
31
Step 1: Create a Batch Application ...................................................................................31
Step 2: Write Logic and Compile .......................................................................................33
Step 3: Run the Batch Application .....................................................................................34
Step 4: Examine the Output Report ..................................................................................35
Index ..............................................................................................................................................37
Introduction
What is CSPro?
The Census and Survey Processing System (CSPro) is a software package for entry, editing,
tabulation, and dissemination of census and survey data. CSPro combines the features of the
Integrated Microcomputer Processing System (IMPS) and the Integrated System for Survey
Analysis (ISSA) in a Windows environment.
CSPro lets you create, modify, and run data entry, batch editing, and tabulation applications from
a single, integrated development environment. It processes data on a case basis (one or more
questionnaires), where a case can consist of one or many data records. The data are stored in
(UTF-8) text files described by data dictionaries. CSPro contains a powerful common procedure
language to implement data entry control and edit rules.
CSPro also provides tools to view data and other text files, to view tables and thematic maps
created by CSPro, to convert IMPS and ISSA data dictionaries to and from CSPro, and to convert
ERSI shape files (maps) to CSPro map files.
CSPro was developed jointly by the U.S. Census Bureau, Macro International, and Serpro, S.A.,
with major funding from the U.S. Agency for International Development.
CSPro is in the public domain. It is available at no cost and may be freely distributed. It is
available for download at http://www.census.gov/population/international/software/cspro/.
This guide contains information about installing and uninstalling CSPro, followed by a tutorial that
will guide you through a series of exercises to help you get started using CSPro.
CSPro Features
Function and Capabilities
Data Entry - Add, modify, verify and view cases (questionnaires). Create an unlimited number of
forms (screens). Create forms bigger than the computer screen that scroll as necessary.
Create forms with fields from different physical records. Enter data from rosters. Create
consistency checks and skip patterns of unlimited complexity. Execute procedures before
and/or after field is entered. Display user-defined messages. Access multiple look-up
files. Read from and write to secondary files. Index cases to avoid duplication. Produce
operator statistics. Create a stand-alone data entry environment.
Batch Editing - Identify and report structure, value, and consistency errors in questionnaire data.
Change (impute) data values based on simple or complex methods. Produce summary or
detailed reports of errors and corrections. Access multiple look-up files. Read from and
write to secondary files.
Tabulation - Define and select variables to tabulate. Select the universe of tabulation. Tabulate
values and weights. Format tabulations for viewing or printing. Save tabulations in
several formats. Copy tables to spreadsheets or word-processing documents. Produce
tables by geographic area. Map results by geographic area.
Introduction
Data Dictionary - Define simple or complex hierarchical file organization. Define hierarchical
levels, identification items, records, items (fields or variables), value sets (categories of
values), and values. Create descriptive notes for documentation. Define multiplyoccurring items and define relationships between multiply-occurring records and items.
Produce reports of file organization.
Text Viewer - View, but not change, any data or other text file. The file can be of any length and
may contain lines up to 32,000 characters wide. Find text in the file. Identify the line and
character position in the file. Copy tabular reports to spreadsheet programs. Copy, save,
or print selected parts of the file.
Table Viewer - View, but not change, a file containing the results of CSPro tabulations. Copy all
or parts of tables to word processing programs. Print all or parts of tables. Save all or
parts of tables in HTML (for Internet), RTF (for word processors), or TAB delimited (for
spreadsheet) formats. Create and view thematic maps of selected cells.
Map Viewer - Generate a thematic map of a selected variable at a selected geographic level.
Combine two variables as a difference, percent change, ratio or percent ratio. Vary the
number of intervals, size of the intervals, colors, titles and legends. Change lowest
geographic level shown. Copy the maps to a word processor. Save a map in GIF (for
Internet) format.
Table Retrieval - Retrieve and display tables and other previously prepared documents from a
large database of documents based on geography, subject matter, and title.
Frequencies - Produce frequency distributions of selected variables and records in data files.
Sort Data - Sort data cases based on case identification. Data files may be as large as 2 GB.
Export Data - Export selected data variables to delimited (tab, comma, semicolon), SAS, SPSS,
Stata, R, or CSPro formatted data files.
Reformat Data - Reformat data from one file format to another. The formats of both the input and
output files are defined by data dictionaries.
Compare Data - Compare two data files and identify the differences. A common data dictionary
defines the format of both data files.
Concatenate Data - Concatenate (join end-to-end) two or more data (or other text) files.
Table Retrieval Setup - Create and modify a set of tables and other documents organized by
geographic area, subject and title for use by CSPro Table Retrieval tool.
Convert Dictionaries - Convert IMPS and ISSA data dictionaries to CSPro data dictionaries, or
convert CSPro dictionaries to IMPS or ISSA dictionaries. Convert ISSA dictionaries to
CSPro data dictionary and data entry forms.
Convert Shape to Map - Convert ESRI shape files to CSPro map files. Thin the number of
coordinates in the map.
Pack Application - Pack all files that make up an application into a single ZIP file for transfer to
another computer.
Installation
Hardware and Software Requirements
The minimal configuration:
Pentium processor
512MB of RAM
SVGA monitor
Mouse
Installing CSPro
If you are installing cspro60.exe, which you downloaded from our web site:
Click OK. The setup process takes you through a series of dialog boxes that
prompt you for setup information.
Selecting components for installation:
CSPro allows you to select which components of the system you want to install. During the
installation you will see the following component screen:
Installation
Uninstalling CSPro
The following is based on a Windows XP setup; your steps may vary if using a different operating
system.
From the Start button on the taskbar, select Settings Control Panel.
When the files are removed, the installation program indicates that the process is
complete. Click Finish.
CSPro Tutorial
About the Tutorial
The tutorial will guide you through a series of exercises to help you get started using CSPro.
The exercises in the tutorial require no special knowledge other than a basic familiarity with
Windows. The exercises are divided into very short steps. Each step normally takes only a few
minutes.
There are eight exercises. You create files in each exercise that are used in later exercises.
Exercises 1 through 6 show you simple data entry and cross tabulation. Exercises 7 and 8 show
you the CSPro language for editing.
In Exercises 1 through 6 we will create a data entry application, key some data,
then tabulate the data.
CSPro Tutorial
We collect age, sex, and marital status for up to ten people in the household.
First, create a new folder for all files you will use in this tutorial.
Data dictionary The data dictionary describes the organization of the data file. It
holds information about all the questions and responses on the questionnaire.
Forms The forms will appear on the screen when you run the data entry
application. They contain data entry fields, text, and lines.
Logic (optional) You can use the CSPro language to control the flow of your
program, to write logic to check for errors during data entry, to access lookup
files, and many other things. We will not use logic until Exercise 6.
We will use the Wizard to create the files that the data entry application requires.
Click on the radio button that says Create a new application. You should see
the following dialog box.
CSPro Tutorial
Press OK.
In the file open dialog box:
Make sure you are located in the folder you created for these exercises
(c:\CSProTutorial).
Press Create.
The next screen will ask you select the Input Dictionary.
Press OK.
You have created a new data entry application
This completes this exercise. Continue to the next exercise.
We will make our dictionary first, then our forms. CSPro automatically generates a skeleton data
dictionary. We will change it and add our own information.
Every data dictionary requires at least one Id itemyou will often have more than one. An ID
(identification) item is a unique number (or series of numbers) that allows CSPro to distinguish
between individual questionnaires. CSPro requires at least one ID item.
Click on (Id Items), then on the + next to it to open the tree on the left side of the
screen. You will see that CSPro has created one id item. On the right side of the screen
you will see in the Len column that this item has the length of one character. We will
make this four characters.
Right-click on MyDict identification", below (Id Items) on the tree, then select
Modify Item.
Press the Enter key three times until the length is highlighted in blue.
Type "4", then Enter, then click on the white space below this line to finish
making this change.
When you have completed this step the screen should look something like:
Right-click on MyDict record on the tree on the left, then select Modify Record.
Press N to change Required from Yes to No, then press Enter. Our application
can have households with no people, so Person records are not required for us.
CSPro Tutorial
Right-click on Person Record on the tree on the left, then select Add Record.
First, we will create the items Age, Sex, and Marital Status in the Person record.
Type "2" then Enter to indicate that Age takes up two characters. This is because
in our application we have chosen to enter ages only up to 99.
Press Enter six times to accept the rest of the default attributes for Age.
Enter the attributes for the Sex item. After you type in the label and name, you
can keep pressing Enter to accept all the other default attributes.
10
Enter the attributes for the Marital status item. After you type in the label and
name, you can keep pressing Enter to accept all the other default attributes.
Press Esc to finish creating the items.
Next, we will create the Type household and Type roof items in the Housing record.
Enter the attributes for the Type Household item. After you type in the label and
name, you can keep pressing Enter to accept all the other default attributes.
Enter the attributes for the Type Roof item. After you type in the label and name,
you can keep pressing Enter to accept all the other default attributes.
Value sets define what data values we expect for a data item. Value sets are used to define
ranges of valid values during data entry and to define categories for cross tabulation.
First, we will create a value set for Age. We will use ten year age groups.
Click on the + next to Person record to make sure its items are showing on the
tree.
Press Enter Twice to accept the default Value Set Label and Value Set Name.
The cursor will drop to the line below into the Value Label column.
11
CSPro Tutorial
Press Enter twice to accept the default Value Set Label and Value Set Name.
The cursor will drop to the line below into the Value Label column.
Add a value set for Marital Status. Use 1 for Married and 2 for Not married.
Add values for the Housing Record items from the housing information in the
questionnaire.
VERY IMPORTANT: Now save the work you have done so far. Select File/Save
from the main menu, or click
on the toolbar.
When you completed this step, the screen might look something like:
12
Click
on the toolbar. A blank gray form will appear on the right hand side of
the screen.
Make sure the items on the tree are expanded so you can see them all. If any
item has a + sign next to it, click on the + sign.
Drag and drop MyDict identification" from the tree to the top of the form. (Click
on MyDict identification and hold the mouse button down while you move the
mouse to the top of the form, then release the mouse button.)
Drag and drop Housing Record" from the tree to the form, underneath ID_ITEM.
Click OK to accept the Drag Options settings.
Multi-select the three pieces of text. Hold down the Ctrl key and click on Id Item,
then click on Type household, click on Type roof, then release the Ctrl key.
Select Align/Right.
When you have completed this step the screen should look something like:
13
CSPro Tutorial
First, we will add our own line of text at the top of the screen.
Click
on the toolbar. A small toolbar will appear floating over the screen.
Click on the box second to the right of the floating toolbar.
Position the mouse pointer above and to the left of Id item.
Left-click and hold the button down.
Drag the mouse toward the right and down.
When the box looks the way you want it, release the mouse button.
Click
When you have completed this step the screen should look something like:
14
CSPro allows you to generate a complete set of forms, which include all the items in the data
dictionary, in one operation. We will use this feature now in order to save time.
CSPro will warn you that the forms you made in steps 1 and 2 will be replaced.
Click on Yes to continue.
The Drag Options dialog box will appear. Make sure the Roster Options has
Horizontal selected. Click on OK to close the Drag Options dialog box.
Note that the tree on the left shows that you now have three forms. Open up the
entire tree by clicking the + next to any part of the tree.
Click on PERSON_RECORD_FORM on the tree. You will see the roster that
CSPro created for you.
Click around on the tree on the left as you like to explore the forms that CSPro
created.
VERY IMPORTANT: Now save the work you have done so far. Select File/Save
from the main menu, or click
on the toolbar.
When you have completed this step the screen should look something like:
15
CSPro Tutorial
Your data entry application is now ready to run! CSEntry is the name of the program that runs this
application, allowing you to key in data.
CSEntry will ask you to select a data file. The data we key will go into this file.
Change to the folder you created for this set of exercises, "c:\CSProTutorial".
Type "MyData.dat" for the file name, then press Enter.
CSEntry will ask if you want to create a new file. Click Yes.
CSEntry will ask for your Operator ID. You may type in anything you like.
The first data entry form will appear with the cursor ready for you to begin
entering data.
When you have completed this step the screen should look something like:
16
We will now type in the data for our first case (questionnaire). We will use a fictitious family of
four.
Type "1" then Enter to fill in the id item. The next form will appear, showing the
person roster.
Type "48" in the Age field. The cursor will move to the Sex field.
Type "3" in the Sex field. CSEntry will tell you this value is out of range, because
it is not in the value set for Sex you created in your data dictionary.
With the OUT OF RANGE message still showing, type "1". The message will go
away and the cursor will move to the Marital Status field.
You can move backward to the previous field using Shift-Tab, left arrow or up
arrow.
You can move forward to the next field using Enter, Tab, right arrow or down
arrow.
You can change a field by simply typing a new number into it.
17
CSPro Tutorial
We will now tell the roster that we have finished entering people.
Press the slash key (/) on the numeric keypad. The next form will appear on the
screen. If you have trouble finding this key combination, which could be the case
on some laptops, you can select Navigation/End Group from the main menu.
Next we will type in the household form and end the case.
CSEntry will ask us to accept the case. At this point you can select No and go
back and make changes to the data in the case if you like. If you are satisfied
that the data are correct, press Enter or select Yes.
CSEntry will now show the first form again, with the cursor ready for you to type
in another case. We will now stop adding cases. Click the
on the toolbar, or
press Esc or Ctrl-S, or select Mode/Stop from the main menu.
When you have completed this step the screen should look something like:
18
Now we realize that the first person in the household is really 45 years old and not 48 as we
typed in. We will go back into the data and change this value.
19
Click on
on the toolbar, or press Ctrl-M to enter Modify mode. You should
see the first form, with the value 1 showing for Id item.
Press the PgDn key to advance to the next form.
Type "45" in the Age field.
Press F12 to indicate that you have finished making your changes.
The screen will now look something like the picture below. CSEntry will ask you
to accept the case, like it did in the previous step. Select Yes.
CSEntry will save your changes and exit from Modify mode.
Close CSEntry by clicking on the X in the top right corner, or selecting File/Exit
from the main menu.
CSPro Tutorial
In this exercise we will perform simple cross tabulations of the data you entered in the previous
exercise.
If you still have your data entry application open from previous exercises, close it now. Select
File/Close from the main menu. CSPro may prompt you to save changes. Select Yes.
We will now create a cross tabulation application using the Wizard, as we did in Exercise 2.
on the toolbar.
20
Press OK.
In the file open dialog box:
Make sure you are located in the folder you created for these exercises
(c:\CSProTutorial).
Press Create.
The next screen will ask you select the Input Dictionary.
Press OK.
You are now ready to begin designing your tabulation.
When you have completed this step the screen should look something like:
21
CSPro Tutorial
We will create a tabulation of Age by Sex. Age will appear as the rows and Sex as the columns.
Click on the + next to Person record to make sure its items are showing on the tree.
Drag and drop Age from the tree to the left side of the table. (Click on Age and hold the
mouse button down while you move the mouse to the side of the table then release the
mouse button.) The drop point should be in the white space next to one of the gray boxes
along the side.
Drag and drop Sex from the tree to the top of the table. (Click on Sex and hold the
mouse button down while you move the mouse to the top of the table then release the
mouse button.) The drop point should be in the white space just under one of the gray
boxes along the top.
Tips:
The item you drag from the dictionary tree will become either a row item or a column item
depending on where you drop it. Imagine a diagonal line from the top left to the bottom
right of the table. An item dropped on the left/under that line becomes a row item. An item
dropped on the right/above that line becomes a column item.
You can remove an item from the table by clicking on any of its associated labels
then dragging and dropping it back to the dictionary tree.
When you have completed this step the screen should look something like:
22
We are now ready to run the tabulation. We will use the data file you created in the previous
exercise.
CSPro will ask you for the data file(s) to tabulate. Select MyData.dat. Make sure
the dialog box is set to the folder you created for these exercises,
"c:\CSProTutorial".
The tabulated numbers will now appear in the table. Thats all there is to it!
When you have completed this step the screen should look something like:
23
CSPro Tutorial
In this exercise we will modify the table you created in the previous exercise. We will begin by
adding percents to the columns next to the values for the Sex variable.
Right-click on the word "Sex" on the table, just above the word "Male".
In the list on the left of the dialog box marked Available, click on Percents and
then click the Add--> button. You should now see Percents listed in the list on
right of the dialog box marked Selected.
24
Click OK. You should see three new columns on the table for the percents.
When you have completed this step you should see a table that looks something like:
25
CSPro Tutorial
We will now add a Universe to our table. A Universe is a "filter", or a way of restricting the table to
a subset of the data records that meet a certain condition. In this step we will run the table for
married people.
In the section of the dialog box marked Universe, type "marital_status = 1".
IMPORTANT NOTE: Be sure to type this correctly. Otherwise, you may see the message "Invalid
Universe Syntax".
Click OK.
26
When you have completed this step you should see a table that looks something like the
following. Notice that the counts are lower than in the previous step because we are not counting
unmarried people.
CSPro gives you great control over the format of your tables. As an example, in this step we will
change the font of our tables title to make it bigger.
Right-click on the title "Table 1. Age by Sex" at the top of the table.
In the section of the dialog box marked Font and Color click on the Change
button.
27
CSPro Tutorial
In the Font dialog box that appears, change the Size from 12 to 16.
Click OK to close the Font dialog box.
Click OK to close the Format (Title) dialog box.
When you have completed this step you should see that the title is now larger.
This completes this exercise. Continue to next exercise.
We will now return to the data entry application. We will introduce a check to make sure that
married people are at least 12 years old. In our data entry application, we will perform this check
immediately after the keyer enters the marital status.
If you still have your cross tabulation application open from previous exercises,
close it now. Select File/Close from the main menu. CSPro may prompt you to
save changes. Select Yes.
28
You have typed logic in the CSPro language. Like all procedural languages, the system must
check to make sure there are no syntax errors. This is called compiling.
Click on MYDICT_FF in the forms tree to show all the CSPro logic.
If you typed the logic correctly, you will see Compile Successful in the Compiler
Output under the logic.
If you see a dialog box that says Compile Failed, you have typed something
incorrectly. A red circle will appear in the margin indicating the approximate
location of the error. The Compiler Output tab at the bottom of the screen will
show you an error message to help you determine the error. Check very carefully
to make sure you typed in exactly what was shown in the previous step.
When you have completed this step the screen should look something like:
29
CSPro Tutorial
We are now ready to run the data application and make sure our logic is working properly.
30
We will finish entering data for the second case, including the error condition, so that we will be
able to test that condition in the following exercise.
Hold down the Ctrl key and press the slash key (/) on the numeric keypad. The
next form will appear on the screen.
Click the
on the toolbar, or press Esc or Ctrl-S, or select Mode/Stop from
the main menu.
Close CSEntry by clicking on the X in the top right corner, or selecting File/Close
from the main menu.
This completes this exercise. Continue to next exercise.
31
CSPro Tutorial
In the previous exercise we wrote logic to perform an edit interactively, i.e. at the time of data
entry. In this exercise we will apply the same logic in a batch application, i.e. after data entry. Our
logic will check the data and produce a report telling us about any errors.
If you still have your data entry application open from the previous exercise,
close it now. Select File/Close from the main menu. CSPro may prompt you to
save changes. Select Yes.
We will now create a batch application using the Wizard, as we did in Exercises 2 and 5.
Click on Next.
The next screen will ask you select the data dictionary. Enter
"c:\CSProTutorial\MyDict.dcf" if it is not already there, then click Next.
You should see the checkered flag. Click Finish and youre done!
When you have completed this step the screen should look something like:
32
33
CSPro Tutorial
Your batch application is now ready to run. CSBatch is the name of the program that runs this
application. We will use the data file you created in the previous exercise.
34
The output report will appear in the CSPro Text Viewer. It will look something like:
The first several lines show file names and the date and time of the run.
CSPro Process Summary box
The second line tells us there were no problems with the structure of the data file.
The third line tells us that one user message was triggered by our logic. The
system did not issue any warning or error messages.
The first line tells us that the data file had seven records.
The last line tells us that our data file has two cases in it.
Process Messages
35
CSPro Tutorial
Case [ 2] shows us the case ID; in this example the second case has the error.
User unnumbered messages
Since we have only errmsg command in our logic, there is only one line.
The number 8 under Line tells us the line number of the errmsg command in our
logic
The number 1 under Freq tells us that this messages was only triggered once
for the data file.
When you have finished examining the report, close the Text Viewer by pressing Esc or selecting
File/Exit from the main menu.
CONGRATULATIONS! You have completed the CSPro tutorial. We hope you are now ready to
try creating and running your own applications. Please refer to our Users Guides for more details.
You can access them from CSPro simply by selecting Help/Help Topics from the main menu of
any CSPro module.
36
Index
About the Tutorial ........................................ 5
Compile the Logic ...................................... 29
Create a Batch Application ........................ 31
CSPro Features ........................................... 1
Installing a Newer Version ........................... 4
Installing CSPro ........................................... 3
Naming Application Files ............................. 7
37