Scripters Guide
Version 5.16
More information:
For more information please contact the NIPO Software helpdesk at
helpdesk@niposoftware.com or call +31 20 5225 980.
NIPOODIN
Scripter'sGuide
Version5.16
Lastrevision:Wednesday15December2010
Copyright19972010NIPOSoftware
Allrightsreserved
ThesoftwarecontainsproprietaryinformationofNIPOSoftware.Itisprovidedunderalicenseagreement
containingrestrictionsonuseanddisclosureandisalsoprotectedbycopyrightlaw.Reverseengineeringof
thesoftwareisprohibited.
Duetocontinuedproductdevelopmentthisinformationmaychangewithoutnotice.Theinformationand
intellectualpropertycontainedhereinisconfidentialbetweenNIPOSoftwareandtheclientandremains
theexclusivepropertyofNIPOSoftware.Ifyoufindanyproblemsinthedocumentation,pleasereport
themtousinEmail.NIPOSoftwaredoesnotwarrantthatthisdocumentiserrorfree.Incaseswherethe
documentationsignificantlydiffersfromthesoftwareimplementation,theenduserisencouragedto
contactNIPOSoftware.However,theinformationinthisdocumentcannotbeusedtogranttheenduserof
theproductanyrightswithregardtoupdatesorfixes,demandingamatchwiththeexistingdocumentation.
Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedinanyformorby
anymeans,electronic,mechanical,photocopying,recordingorotherwisewithoutthepriorwritten
permissionofNIPOSoftware.
Contents
Introduction
Aboutthismanual
SoftwareCompatibility
Terminology
General
QuestionsandAnswers
FilesandTables
TypographicalConventions
ContactingUs
ContactingNIPOSoftwareSales
ContactingtheNIPOSoftwareHelpdesk
YourFeedbackonthisGuide
9
9
9
10
10
10
10
11
12
12
12
13
VersionHistory
ChangesinNIPOODINScriptLanguage
ChangesinNIPOODINScriptLanguage5.16
ChangesinNIPOODINScriptLanguage5.15.001
ChangesinNIPOODINScriptLanguage5.15
ChangesinNIPOODINScriptLanguage5.14
ChangesinNIPOODINScriptLanguage5.13
ChangesinNIPOODINScriptLanguage5.12
ChangesinNIPOODINScriptLanguage5.11
ChangesinNIPOODINScriptLanguage5.10
ChangesinNIPOODINScriptLanguage5.09
ChangesinNIPOODINScriptLanguage5.08
ChangesinNIPOODINDeveloper
ChangesinNIPOODINDeveloper5.14
ChangesinNIPOODINDeveloper5.11.003
ChangesinNIPOODINDeveloper5.11
ChangesinNIPOODINDeveloper5.10
ChangesinNIPOODINDeveloper5.08
ChangesinNIPOODINDeveloper5.06
ChangesinNIPOODINDeveloper5.05
ChangesinNIPOODINDeveloper5.04
DutchCommandSetDropped
MigratingSurveysFromNIPOODIN4.08
*WAITCRCommandDroppedforNIPOCATIandNIPOCAWI
Dutchcommandsetnolongersupported
ObsoleteCommandNames
*PLAYNoLongerSupportedAsaQuestionOption
VerticalLineQuestionNotSupportedinNIPOCAPIandNIPOCAWI
*CENTREDoesNotProperlyCenterHeadingTexts
SelfModifyingScriptNoLongerSupported
ForwardSlashesNoLongerSeparateCodeLabels
CopyingPositionsFromaTfileIsLimitedtoFieldLength
*AUTONotSupportedinNIPOCAWI
*INITblockisExecutedBeforeSuspendImage
SelectingAnotherCharacterSetinthe*FONTCommand
DuplicateInterviewNumbersinTfilesNoLongerContacted
Stopwatch[1]andStopwatch[2]NotSupportedinNIPOCAPIandNIPOCAWI
UsingCodeNumbersina*FORMQuestion
15
15
15
15
15
15
16
16
16
16
16
16
18
18
18
18
18
19
19
19
20
20
20
21
21
21
21
21
22
22
23
24
24
24
24
25
25
25
UsingtheNIPOODINDeveloper
TheScriptEditorWindow
LineSize
ToggleDisplayingTabsandSpaces
PopupMenuOptions
OpenQuestionnaireFile
QuestionPreviewinNIPOCATI/CAWI/CAPI
InsertingQuestionDefinitions
ChangingQuestionOptions
ChangingCodeOptions
GridComposer
SyntaxChecking
27
27
27
27
27
27
27
28
28
31
32
35
PageI
Introduction
WarningMessagefor*CODESQuestionWithoutCodeCategories
WarningMessageforUnfixedQuestions
Erroron*FORMQuestionLanguageSectionMismatch
UndeclaredVariablesareCreatedwhenFixingaQuestionnaire
ResultsWindowKeepsPreviousSyntaxChecks
SyntaxcheckforOmnibusSurveys
TestRunQuestionnaireinNIPOCATI/CAPI/CAWI
CheckRoutingforStratification
ShowVariables
MenuOptions
OpenallQuestionnairesinOmnibusSurvey
OpenDataFiles
RemoveCommands
Comment/Uncomment
CreateQuestionnairesinUnicode
FindFunctionwithRegularExpressionsandMarkAll
StartEditorinWorkbookMode
CreateCodeNumbersBeforeCodeLabelsandFields
TheNIPOODINDeveloper
NIPODiana
CodeLabelExportsina*FORMQuestion
RandomCodeNumberExportinNIPODiana
OrderCodeNumberExportinNIPODiana
Exportsof*FORMQuestionswithCodes
TripleSXML
SPSSPortable
SPSSPC
Ascribe
Quantime
Images/Sound
NfieldCode
ExportXFile
Imports
Ascribe
NfieldCode
NIPOODINDeveloperConfiguration
TemplatedRelatedFilesFolderConfiguration
SyntaxHighlighting
ApplicationConfigurationOptions
ODINOptions
InterviewSystemOptions
CodingSystemOptions
CheckOptions
DummyDataOptions
PrintOptions
AutosaveOptions
FilesOptions
AdditionalConfigurationOptions
UsingtheNIPOODINScriptLanguage
NamingConventions
Questions
DataFields
AnswerCodes
Variables
SystemVariables
ChannelAwareScripting
ChannelAwareScriptingVariablesandConstants
ChannelAwareScriptingExample
ConsequencesofChannelAwareScriptingandSwitchModeSurveys
RepeatNumber
SystemVariables09
Timers
Stopwatch[1]
Stopwatch[2]
Stopwatch[3]
TimersExample
PageII
37
37
37
37
37
37
37
38
38
38
38
38
38
38
39
39
39
39
40
40
42
43
43
44
45
47
49
51
51
53
53
54
54
54
55
56
56
57
57
57
58
59
59
61
62
63
64
65
67
67
67
67
68
68
70
70
71
71
72
72
73
74
74
74
74
74
Introduction
ConjTxt[n]
ScriptCommandTemplate
JavaScriptSupported
BrowserUserAgent
Language
PreTel
Expressions
ExpressionOperators
ExamplesofExpressions
CommonMistakesinExpressions
FormFieldReferences
Backslashes
Stratification(Quota)
AutomaticSyntaxChangeWhenReferencingPositionsinTfiles
Stratificationfile(Sfile)whenusingSampletable
Stratificationfiles(Sfiles)forOmnibusSurveys(UsingTfiles)
Omnibussurvey,usingSampletablesandOmnibustables
Stratificationfile(Sfile)forNIPOCAWI
NonAnonymousSurveys
AnonymousSurveys
SurveysstartedfromaURL
CommandIndex
<<<!!>>>
*?
*ABORT
*ADDRESS
*ALPHA(QuestionType)
*ALPHA(in*FORMquestion)
*APPOINT
*AUTO
*BACK
*BMP
*BUT
*CENTRE
*CODES
*CONJ...*ENDCONJ
*CONTROL
*COPY
*COUNT
*CUT
*DATE
*DELAY
*DTIME
*DUMMY
*END
*ENDNGB
*ENDST
*EXCLUDE
*FIELD
*FONT(definition)
*FONT(switching)
*FORM
*FORMAT
*GOSUB
*GOTO
*GRID(in*FORMquestion)
*GROUP
*HEADING
*HELP(definition)
*HELP(questionoption)
*IF(condition)...*ELSE
*IF(questionoption)
*INCLUDE
*INFO
*INIT...*END
*INSTRUC
*INTRO
75
75
75
76
76
76
76
77
78
79
79
80
80
82
83
84
85
86
86
86
86
87
88
89
92
93
95
96
97
98
102
104
106
108
109
111
112
114
115
116
117
118
119
120
121
123
124
125
127
129
130
132
135
137
139
141
146
149
151
152
154
155
156
158
159
161
162
PageIII
Introduction
*INV
*LABEL
*LANGUAGE
*LEFT
*LINE
*LIST(definition)
*LIST(questionoption)
*MAX
*MERGE
*MIN
*MOVA
*MOVU
*MULTI
*NCLS
*NEW
*NEWCOLUMN
*NEXT
*NEXTRECORD
*NMUL
*NOCON
*NOENTER
*NOHIDE
*NON
*NONRESP
*NOTBACK
*NUMBER(questiontype)
*NUMBER(in*FORMquestion)
*OPEN(questiontype)
*OPEN(codesoption)
*ORDER
*PAGE
*PICT(questionoption)
*PICT(codesoption)
*PLAY
*PNW
*PUT
*QUESTION
*RANDOM
*RANGE
*READ
*REC
*REPEAT(questionoption)
*REPEAT...*ENDREP
*REPNUM
*RETURN
*RIGHT
*ROT
*RUN
*SAMPLEDATA
*SAVE(questionoption)
*SAVE(codesoption)
*SCALE(questiontype)
*SCALE(in*FORMquestion)
*SCALERANGE
*SHOWDOCUMENT
*SIZE
*SKIP
*SQLADD
*SQLGET
*SQLPUT
*STOPAUTO
*STOPRANDOM
*STRAT
*SUBROUTINE...*ENDSUB
*SWILANG
*TAB
*TABLE
*TEXTVARS
PageIV
163
165
166
170
171
173
175
178
180
182
184
185
186
188
189
190
194
195
198
199
200
201
202
203
204
205
206
208
210
211
214
215
217
219
220
222
224
226
228
230
232
234
235
238
239
240
241
242
244
245
246
247
249
252
256
257
260
261
265
268
270
273
274
275
277
279
281
283
Introduction
*USELIST
*VAR
*VARS
*VCONTROL
*WAITCR
*WAITPLAY
*WRITE
284
285
287
288
291
292
293
AdvancedScripting
AdvancedUseof*NEXTRECORDCommand
ScenariosUsing*NEXTRECORD
Scenario1:UsingSystemdefinedInterviewNumbers
Scenario2:InterviewNumbersBasedonHouseholdInterviewNumber
Scenario3:UsingaPresetInactiveInterviewNumberforEachRespondent
ReturnCodesfor*NEXTRECORD
ErrorWhenReadingNextRecord
InterruptingtheTelephonicContact
RestartingtheInterviewSetsNewRecordstoSystemError
Using*NEXTRECORDinCombinationwithStratification
HidedialogInterviewWillContinuewithNextPerson
ChangeTextinDialogInterviewwillcontinuewithnextperson
Advanceduseof*SQLADDCommand
Scenariosfor*SQLADD
Scenario1:StoreNewRecordinTable(NottheSampleTable)
Scenario2:StoreNewRecordinCurrentSampleTable
Scenario3:StoreNewRecordinAnotherSampleTable
Scenario4:StoreSeveralRecordsinaTable(VariableswithArrays)
Scenario5:AddNewRespondentsinNIPOCAWISurveyAndEmailThemDirectly
ErrorsUsing*SQLADD
ErrorsMessagesUsing*SQLADD
GoingBackOver*SQLADDRemovesAddedRecords
RestartingtheInterviewDoesNotRemoveNewRecords
InstructionModeorTestModeMayCreateNewRecords
ReusingSampleRecordsfromTfileThatWereAlreadyCompleted
Stratification
ChangeInterviewNumber
Morethan5Contacts
SystemErrors
CreateaNewSurvey
AlreadyCompletedCode
DeleteDfile
JumptoQuestionResponseCode
SettingtheCodePage
NIPOConjointMeasurement
OverviewofsupportedcommandsinNIPOConjointMeasurement
StartmoduleNIPOConjointMeasurement
DefiningTextScreens
ReferenceToaFeature
Filters
CONJTXT[n]TextArray
FiltersinNIPOConjointMeasurement
HowdoesfilteringinNIPOConjointMeasurementactuallywork?
LimitationsontheUseofFilterswithinNIPOConjointMeasurement
ExampleNIPOConjointMeasurement
ExampleNIPOConjointScript
DatapositionsinNIPOConjointMeasurement
LimitationsofNIPOConjointMeasurement
MultibyteCharacterFields(MBCSFieldsSetting)
Scenario:*ALPHAforMBCSStorage
ExampleUsingAdobeFlashinNIPOCAWIandNIPOCAPI
NIPOODINTemplateUsingAdobeFlash
NIPOODINQuestionnaireUsingAdobeFlash
AdobeFlashApplication
AdditionalRemarks
295
295
295
295
297
299
300
301
302
302
302
302
303
303
303
303
305
306
308
310
313
314
315
315
315
315
315
316
316
316
316
316
317
317
318
318
320
321
322
322
322
323
323
324
324
325
327
331
334
334
335
337
338
338
339
339
FileStructuresandDatabaseTables
DataFiles
341
341
PageV
Introduction
ClosedAnswersFile(Ufile)
Openanswersfile(Ofile)
StoringdatainUnicode
TelephoneFile(Tfile)
ContactFile(Cfile)
Stratificationfile(Sfile)
Databasetables
Sampletable(SeparateTableforEachSurvey)
UsingCustomSampleTableFields
UsingSystemFieldsintheSampleTable
OmnibusorSubSampleTable(SeparateTableforEachSurvey)
UsingCustomOmnibusTableFields
UsingSystemFieldsintheOmnibusTable
NIPOCAPIClientAddressTable
Status,ResponseCodes,TerminateCodes
StatusFieldinSurveyTable
StatusfieldinSampleTable
ChannelandInitialChannelFieldinSampleTable
OverviewofResponseCodes
SpecificationofResponseCodes
TerminateCodes
341
342
342
343
344
346
346
346
349
350
351
351
351
352
353
353
353
353
353
355
355
OverviewofCommandsandSystemVariables
ListingofCommandsperSystem
ListingofSystemVariablesperChannel
357
357
361
TheNIPOHTMLGenerator
SupportedHTMLstandards
ApplyingDesigntoaSurvey
DefaultandCustomTemplatesandStylesheets
OrderofCheckingOdintemplateFiles
ExampleofUsingOdintemplateFiles
OrderofCheckingStylesheets
ExampleofUsingStylesheets
QuestionTypes
ExampleofGeneratedHTMLPage
WorkingWithTemplates
TemplateTags
InterviewProgressEstimation
UsingJavaScriptinanOdintemplateFile
OdintemplateExample
WorkingwithCSS
CSSFileDetails
CharacteristicsforQuestionElements
QuestionElementsExample
CSSforQuestions
DefaultQuestionSelectors
*CONJQuestionSelectors(NIPOConjointMeasurement)
*CODESQuestionSelectors
*CODES*MULTIQuestionSelectors
*NUMBERQuestionSelectors
*ALPHAQuestionSelectors
*LISTquestionselectors
*FORM*NUMBERand*FORM*ALPHAQuestionSelectors
*SCALEquestionselectors
*FORM*SCALEQuestionSelectors
*FORM*GRIDQuestionSelectors
CSSforButtons
CSSforTabs
CSSforFonts
CSSforProgressBar
SelectorsinNIPOCAWI(AlphabeticalOverview)
SelectorsinNIPOCAPI(AlphabeticOverview)
CSSExamples
ExampleNIPOODINQuestionnaireUsingStylesheets
Example1:ChangeBackgroundColorofaSelectedCode
Example2:BoxSizeforOpenAnswerCode
Example3:boxSizeforOpenQuestion
363
363
363
364
364
365
366
367
367
368
374
375
375
376
376
376
377
377
378
379
379
379
381
381
382
382
382
383
383
384
385
385
386
387
388
389
394
397
398
401
401
402
PageVI
Introduction
Example4:CenterScales
Example5:CenterTextAboveScales
Example6:ColorBackgroundforFirstandThirdStatementGray
Example7:GridUsingVariousStylingOptions
Index
403
404
404
405
407
PageVII
Introduction
NIPOFieldworkSystemfieldworkmanagementforCATI/Webrequiresthecombineduseoftwo
applications:theNIPOFMSandtheNIPOCATI/WebManager.
TheNIPOCATI/WebManagerisusedtoconfiguresurveysandsurveydefaults,tostartandstopsurveys,
andtomanage,monitor,viewandreviewongoingfieldworkprogressintheNIPOCATIcallcenter.
TheNIPOFMSisusedtotodeploysurveyfiles,configureadditionalsurveysettings,setupandmanage
sample,mailmessagesandinvitations(NIPOCAWI)andtoadministerinterviewers,assessinterviewersand
planfieldwork.
DuetotheiroverlapinfunctionalitytheNIPOFMSandtheNIPOCATI/WebManagermaybeusedbyboth
theprojectmanagerandthefieldworksupervisor.Dependingonyourrolewithintheorganization,youmay
wishtoskipthesectionsthatdonotnecessarilyapplytoyou.
Aboutthismanual
ThismanualisintendedfortheNIPOODINScriptwriters.Thefollowingtopicsarediscussedwithinthese
pages:
TheNIPOODINScriptLanguage,theNIPOSoftwarescriptingsolutionforquestionnairesintheNIPO
CATI,NIPOCAPIandNIPOCAWIenvironments.
TheNIPOODINDeveloper,theapplicationfordesigningNIPOODINscripts,testingthequestionnairein
variouschannels,andexportingthedatatoastatisticalanalysissoftwareofchoice.
TheNIPOHTMLGenerator,thestylingguideforNIPOCATIandNIPOCAPIsurveys.
ThismanualisnotintendedfortheNIPOCATI/NIPOCAPIinterviewers,norforsupervisorsand/or
technicianswhosetupandruntheworkstations(interviewerworkstations)inaCATIStudio.
SoftwareCompatibility
ThisdocumentationisintendedforusewiththeNIPOFieldworkSystem1.12release.Thefollowing
softwareanddocumentationisincludedwiththisrelease.Makesureallsoftwareisuptodatewiththis
releasepriortousingthisdocument.
NIPOFieldworkSystem1.12releaseapplicationsandcomponents
NIPOCATI/WebMaster3.08
NIPOFMS1.12
NIPOCATI/WebManager3.09
NIPOWebInterviewServer1.05
NIPOSTRAND1.05
NIPOODINScriptLanguage5.16
NIPOCATIClient5.09
NIPOODINDeveloper5.14
NIPOFieldworkSystem1.12releasedocumentation
NIPOFieldworkSystem1.12ReleaseNotes
NIPOFieldworkSystem1.12TechnicalReference(tobedelivered)
NIPOFieldworkSystem1.12User'sGuide
NIPOODIN5.16Scripter'sGuide
Page9
Introduction
Terminology
General
Questiontype
Definesthetypeofanswerwhichisexpectedforaquestion.Questiontypesareforexampleclosed,open,
numerical,etc.
Questionoption
Defineswhatspecialpropertiesananswermusthaveorhowanswercategorieswillbedisplayed.Thereare
questionoptionstoallowmultipleanswers,setamaximumvaluetobeentered,showanswercategoriesin
randomorder,etc.
Answeroption
Definesthebehavioroftheprogramwhenananswercategoryischosen.Thereareansweroptionsto
preventthatanansweriscombinedwithotheranswercategories,topromptforanopenanswer,etc.
QuestionsandAnswers
Closedquestion
Aquestionwheretheanswerisexpectedtobeachoicefromafixednumberofanswercategories.
Answercodecategory
Oneofthepossibleanswersdefinedfora(semi)closedquestion.
Openquestion
Aquestionwheretheanswerisexpectedtobeenteredliterallyastext.
Semiclosedquestion
Aquestionwheretheanswerisexpectedtobeachoicefromafixednumberofanswercategoriesand
wherechoosingcertainanswercategorieswillshowaboxtoentertheanswerliterallyastext.
Openendedanswer
Theliteraltextofananswerenteredforanopenorsemiclosedoropenquestion.
Numericalquestion
Aquestionwhereananswerisexpectedtobeanumericalvalue.
Textquestion
Aquestionwhereananswerisexpectedtobetextoflimitedlength.
Answercode
AnumericvaluewhichisstoredintheUfilewhenananswercategoryischosen.
Answerfield
A(seriesof)positionsintheUfilewhereanswercodes,valuesortextsarestored.
FilesandTables
Qfile(questionnaire)
ASCIIfilecontainingthequestiontextandalltheNIPOODINcommandsforrouting,etcetera.
Sfile(stratification)
ASCIIfilecontainingthestratification(quota)criteria.
Page10
Introduction
Samplefile(Tfile)
ASCIIfilecontainingthegrosssample.EachrecordintheSamplefile(telephonefileorTfile)contains
information(telephonenumber,address,name,companysize,etc.)aboutone(future)respondent.
Sampletable
Tableinthedatabasecontainingthegrosssample.EachrecordintheSampletablecontainsinformation
(telephonenumber,address,name,companysize,etc.)aboutone(future)respondent.
Omnibustable
Tableinthedatabasecontainingtheomnibusinformation,forexamplethenamesandorderofsub
questionnaires.IfaTfileisusedinsteadofaSampletable,theomnibusinformationisstoredintheSample
record.
Ufile
ASCIIorUnicodetextfilecontaininganswercodesthatrefertochosenanswercategoriesofclosed
questions,valuesenteredfornumericalquestionsandtextsenteredfortextquestions.
Ofile
ASCIIorUnicodetextfilecontainingallopenanswersenteredbykeyboard.
Cfile
ASCIItextfilecontaininginformationforeachcontact.
Bfile
BinaryfilecontainingopenanswersenteredwithaTabletcomputer(usingthe*OPEN*BMPcommands)
and/orrecordedanswers(usingthe*RECcommand).
Dfile
BinaryfilecontainingtheSuspendImage(incaseofaTfile).WhenaSampletableisused,theSuspend
ImageisstoredintheSuspendImagefieldintheSamplerecord.
TypographicalConventions
Inthismanualthefollowingtypographicconventionsareused:
Page11
Introduction
Example
Convention
TheCourierfontindicatessyntaxdescriptions,argumentdescriptions
orscriptexamples.
Qn, Qm
Insyntax,ifanargumentreferstoaquestion,nindicatesthenumber
ofthequestion.Ifasecondargumentalsoreferstoaquestionthenm
indicatesthesecondquestionnumber.
Ifanargumentreferstoavariableorarray,varindicatesboth
numericandtextvars.Numvarindicatesanumericvariableand
txtvarindicatesatextvariable.
Expression
Ifanargumentreferstoanexpression,theexpressionwillfirstbe
interpretedandcalculatedandthentheresultisused.
<Argument>
Anglebracketsencloseobligatoryarguments.
[Argument]
Squarebracketsencloseoptionalarguments.
Argument|Argument2
Averticalbarseparatestwomutuallyexclusivechoices.
Argument[,Argument2,]
Threedotsindicatethatanargumentcanberepeatedinalistany
numberoftimes.Acommaseparatesthelistedarguments.
<[Argument]> or [[Argument]]
Squarebracketsenclosedbyangleorsquarebracketsarepartofthe
argument.
<"Argument"> or ["Argument"]
Doublequotesenclosedbyangleorsquarebracketsarepartofthe
argument.
Size
Indescriptions,italicwordsrefertoapartofthesyntax.
ContactingUs
Forsupport,licensinginformation,productnewsoranyotherqueriesorfeedbackregardingNIPOSoftware
products,feelfreetocontactusbyphoneorbymail.NIPOSoftwarehasthreeofficesaroundtheglobe
checktheofficenearesttoyourtimezoneforfeedbackduringyourworkinghours.
ContactingNIPOSoftwareSales
Foranyqueriesonyourlicense,onlicensepricingortoreceiveinformationonanyotherNIPOSoftware
products,pleasecontacttheNIPOSoftwareSalesdepartmentduringworkinghours.
NIPOSoftwareSalesAmsterdam
GroteBickersstraat74
1013KS
Amsterdam
TheNetherlands
Tel:+31205225989(GMT+1)
Email:sales@niposoftware.com
ContactingtheNIPOSoftwareHelpdesk
Inthecaseofanyqueriesorissuesnotcoveredinthisguide,orwhenexperiencingtechnicaldifficulties,
youcancontacttheNIPOSoftwareHelpdeskatthreeofficesworldwide.
Page12
Introduction
Ifcontactingbymail,pleaseencloseversioninformationandthefile(s)associatedwithyourquestionor
problem.PleaseZIPyourfilesbeforesending.
Ifcontactingbyphone,contacttheofficenearesttoyourtimezoneforimmediateassistance.
NIPOSoftwareHelpdesk
GroteBickersstraat74
1013KS
Amsterdam
TheNetherlands
TheEMEAoffice(Amsterdam):+31205225980(GMT+1)
TheAPACoffice(HongKong):+85221164119(GMT+8)
TheAMERoffice(BuenosAires):+541148916470(GMT3)
Email:helpdesk@niposoftware.com
YourFeedbackonthisGuide
Developmentanddocumentationarecontinuouslyongoingprocesses.Newfeaturesareadded,issuesare
solvedandfunctionalityisimproved.Althoughwestrivetokeeptheinformationinourdocumentationup
todateandaccurate,wecannotguaranteethatthisguideiswithouterrorandomission.Youare
encouragedtocontactustoinformusofshortcomingsinallourhelpfiles,onlinedocumentationor
printedmaterial.Suggestionsandopinionsarealsowelcomed.
Whenprovidingfeedback,pleasemakesuretomentionwhichguideyouarereferringto.
NIPOSoftwareDocumentation
GroteBickersstraat74
1013KS
Amsterdam
TheNetherlands
Email:documentation@niposoftware.com
Page13
VersionHistory
ChangesinNIPOODINScriptLanguage
ChangesinNIPOODINScriptLanguage5.16
Introducedexportcommand*TABLEtosupporthierarchicaldataexportsfor*FORMquestionsand
*REPEATblocksusingtheNIPODSCforSPSSDimensions.
ChangesinNIPOODINScriptLanguage5.15.001
Fixedthe"FatalErroronposition1L1"errorthatcausedsurveystobeblockedforfurtherinterviewing.
Theissuecouldbecausedbyaseriesofactionsperformedbytheinterviewer.
ChangesinNIPOODINScriptLanguage5.15
ThelibrarySTDRUN32.DLLcommandhasbeenextendedtosupportexchangeofdatausingan
externalfileratherthantheclipboard.
ImprovedinterviewprogressbarforNIPOCAWIandNIPOCAPItheprogressbarnowcorrectlymaxes
outtowards100%andhasbetterhandlingof*REPEATblocks.
A*CONTROLona*FORMquestionwith*AUTOnowhidestheentirerowratherthanleavingasingle
visiblelineonthescreen(NIPOCAPIonly).Without*AUTO,theserowsgetthe
ODINFORMHIDDENROWselectorsotheymaygetcustomstyling.
Textsbothbeforeandbehindfieldsin*FORMquestionsarenowproperlyhidden(styleapplied)when
theircodesaremade(in)visiblethroughtheuseof*CONTROL(NIPOCAPIonly).
ThefollowingHTMLselectorshavebeenaddedforNIPOCAPI:odinformelementafter,
odinformelementafterN,odinformelementafter-even,odinformelementafterodd,odinformelementafter_first,odinformelementafter_last,
odinformelementafter-placement-N,odinformelementafter-placement_even,
odinformelementafter-placement-odd,odinformelementafter-placement-first
andodinformelementafter-placement-last.
ChangesinNIPOODINScriptLanguage5.14
The*TABcommandcannowbeusedtoinfluencecodescolumnswhenusing*AUTO(NIPOCAPIClient
12.06andabove)
The*SIZEcommandhasbeenextendedfortheNIPOCAPIClienttosettheheightoffullyopenended
answerandbitmapanswer(*BMP)boxesandtosetthewidthandheightofsemiopenendedanswer
andbitmapanswerboxes.
The*DATEcommandinan*INITblocknowalwayscorrectlystoresthecurrentdatewhenfollowing
upappointmentsorsuspendedinterviews.
FixedacrashintheNIPOCATIClientandpreviewswhenusing*FORM,*SCALEand*ORDERinasingle
question.
Page15
VersionHistory
ChangesinNIPOODINScriptLanguage5.13
Theabilitywasaddedtointerviewmultiplerespondentsatthesametelephonecontactusing
*NEXTRECORD.
Newscriptcommand*SQLADDtoaddrecordstoadatabasetable(NIPOCATI/NIPOCAWIonly).
UseMultiByteCharacterFieldstostoremultibytelanguages(Chinese,Japanese,etc)innonUnicode
datafiles
*INCLUDEand*EXCLUDEnowsupportranges.
Reintroducing*VCONTROLfor*GRIDquestionstohideordisablecolumnsbasedontheanswersina
previousquestion.
Asoffversion12.06theNIPOCAPIClientnolongeroccasionallyhangswhenusinga*CONTROLin
*FORM*SCALEquestion.
ChangesinNIPOODINScriptLanguage5.12
ReleasedwithNIPOCAPIClient5.01only.
Youcannowrefertofieldsina*FORMquestionusingbothliteralnumbersandexpressions.
ChangesinNIPOODINScriptLanguage5.11
New(NIPOCATIonly)scriptcommand*NEXTRECORDtocreatesamplerecordsontheflyand
interviewmultiplerespondentsduringthesamecall(version5.11.006andhigher;releasedafterNIPO
FieldworkSystem1.07asanintermediateupdate)
SystemvariablessuchasSTOPWATCH[3]and_ISCATInolongerneedtobedefinedwith*VARSor
*TEXTVARS
Introduced*SCALERANGEtodefinealternatevaluesfora*SCALEquestionorfield
Introduced*INTROtospecifydifferentintroductiontextsbasedonthechannel(NIPOCATI,NIPOCAPI,
NIPOCAWI)aswellassetdialingintroductionscreens.
Newscriptcommand*HEADINGtocreateheadingsabovealistofcategories.
ChangesinNIPOODINScriptLanguage5.10
MinorupdatetomaketheNIPOODINScriptlanguageparserandenginesupportthelatestMicrosoft
FoundationClasses.
ChangesinNIPOODINScriptLanguage5.09
Asuspendimageisnowcorrectlyinterpretedtotheoriginalchannel(aswas)ratherthanthecurrent
channel(asis).
ChangesinNIPOODINScriptLanguage5.08
CompleterewriteoftheNIPOODINscriptlanguageforWindows32bitplatforms,introducinganumberof
newcommandsandanewapproachtohandlingscriptparsing,executionandsuspension.
Page16
VersionHistory
IntroducingComputerAssistedWebInterviewing(CAWI)foronlineinterviewing.
IntroducingtemplatesandstylesheetstoenhancethelookandfeelofCAWIquestionnaires(Seethe
NIPOODINHTMLGeneratorScripter'sGuidefordetails).
Introducingsampletables,storingsampledataindatabasefieldsratherthan(ASCII)Tfiles.
Introducingsuspendimages,whicharerecordingsofinterviewsupuntilappointments.Suspendimages
arereplayedbytheengine,preventingsmallchangestothequestionnairefromrestartingasuspended
interview.
Scriptsarenowparsedintoabytecodeformatandexecutedbyaruntimeengine,leadingtostricter
syntaxvalidationandfasterexecution.
Introducingchannelawarescripting,withsystemvariables_ISCATI,_ISCAWI,_ISCAPI,_ISCASI
and_CHANNELtocheckonwhatchannelthequestionnaireisbeingexecuted.
Newscriptcommand*SAMPLEDATAtoreferencesampletablefieldsdirectlyasvariables,ratherthan
usingpositionsinaTfile(the*ADDRESSscriptcommandnowautomaticallymapstopositionswithin
thesampletablefields)
Newscriptcommand*ORDERtodisplaycategoriesinanorderofmentionsandtoexecutea*REPEAT
loopinanorderofmentions.
Newscriptbrackets<<<!and!>>>toexecuteHTMLandJavaScriptinlineinCAWIquestionnaires.
Newscriptcommand*SQLGETtoretrievedatafromoneormorerowsinadatabasetable(otherthan
thesurvey'ssampletable).
Newscriptcommand*SQLPUT tostoredatainoneormoreexistingrowsinadatabasetable(other
thanthesurvey'ssampletable).
The*TABcommandnowdefinespercentagesofthescreenorwindowwidthratherthanamountsof
characters
Scriptcommand*LANGUAGEnowalsoacceptsanRTLparametertodisplayrighttoleftlanguages
suchasHebrewandArabiccorrectly.
The*RUNscriptcommandnowusesSTDRUN32.DLLtoexecuteWindows32bitapplications
SystemvariableSTOPWATCH[3]nownolongercountsthetimebetweensuspension(appointment)
andcontinuationofaninterview.
Page17
VersionHistory
ChangesinNIPOODINDeveloper
ChangesinNIPOODINDeveloper5.14
Forallexports,youcannowcombineIncludeopenendedanswersandRetainODINdataformat.The
openendedanswersareappendedasfixedlengthfieldsattheendofeachrecord.
Forallexports,openendedanswersarenowdefinedandexportedevenifnoopenendedanswershave
beengivenforanyoftheexportedinterviewrecords.
FixedanissueintheSPSSPCexportwhereusingdecimalsin*NUMBERdefinitionscausedthenexttwo
questionstorefertothesamedatafieldwhileshiftingallremainingdatapositions,whennotretaining
theNIPOODINDataformat.
Formultiplecodedquestions,theexportsettingUsecodenumbersforMultipleDichotomyfieldsno
longercreatesvariablesfortheentirerangeofcodesiftherearegapsinthecodenumberingofthe
question.
Forallexports,ifusingasinglequestionwithmultiple*OPENcodes,thecorrespondingvariablesareno
longercreatedinreverseorder.
Fixedanissuewheremultiple*OPENcodesinasinglequestioncausedtheexporttocreatetoomany
variables.
FixedanissuewhererunningaNIPOCAWIpreviewcouldpopupanerror"Aproblemoccurredwhile
writingthetemporaryhtmlfile,pleasecheckifyourtemplatedirectoryissetupcorrectly".
Fixedanissuewhere(rangesof)variableswerenotexportedbecausethefilteringsuggestedthese
variablesremainedempty.TheNIPOODINDevelopernolongermakesassumptionsaboutthecontents.
Fixedanissuewheretheerrormessage"Error:Illegalarrayindex:0"wasincorrectlyreportedforscripts
referringtoarrayindexesbyvariable.
Fixedanissuewherethemessage"Anerroroccurredduringimport:Cannotaccessaclosedfile"
appearedduringanNfieldCodeimport.
TheNIPOODINDevelopernolongercrashesonasyntaxcheckifaclosingquoteismissingina*BUT
buttontextdefinition.
ChangesinNIPOODINDeveloper5.11.003
AddedsupportforMicrosoftWindows7.
AnimportofanNfieldCodefilenolongerfailsonduplicateCodeFrames.
ChangesinNIPOODINDeveloper5.11
AddedaGridComposertoquicklyinsert*FORMquestionswithscales.
TheTemplateRelatedFilesdirectoryforNIPOCAPIandNIPOCAWIarenowseparately
configurable.
AddedNfieldCodeimportandexportfacilities.
YoucannowexportXfilesoftheNIPOCodingModule4.08toNfieldCode.
ChangesinNIPOODINDeveloper5.10
AddedQPSandQuantimeexports.
OpeninganINIfileofanomnibussurveynowcorrectlystartsthesubsurveysofsurvey.
*HEADINGtextsarenowcorrectlydisplayedinquestionpreviews.
Fixedanissuewheresomevariableswentmissingduringanexport.
Fixedanissuewhere*OPENendedcodescpi;dyieldinduplicatevariablenames.
FixedanoccasionalcrashwhenstartingorcheckingaCAWIquestionnaire.
Page18
VersionHistory
ChangesinNIPOODINDeveloper5.08
NIPOCATIpreviewnowsupports*NEXTRECORD.
Addedsyntaxhighlightingfornewcommands.
Fixedissuesintheoverviewofunusedquestionsinthesyntaxcheck.
FixedIBMSPSSexportissuewhereincorrectdatalistswereoccasionallysavedformultipledichotomies.
Exportof*FORM*SCALEquestionsofNIPODiananolongeroccasionallymixesuplabeltexts.
FixedanissueinimportingAscribedcodeddataifthecodedsurveywaspartofanOmnibus.
ChangesinNIPOODINDeveloper5.06
IntroducedaNIPOCAPIClientpreviewforquestionnairetesting.
YoucannowincludeopenendedanswersinexportstoSSSandSPSSPCdatasetswithouttheneedto
codethem.
Addedarightclickmenuoptiontoopenaquestionnairefilesetinthe*MERGEcommandorinthe
surveyconfigurationfile.
YoucanopenandsyntaxcheckallsurveyswithinanOmnibusquestionnairebyopeningthesurvey
configurationfilefortheOmnibus.
ChangesinNIPOODINDeveloper5.05
AddedanexporttotheIBMSPSSformat.
AddedanexporttotheQuantimeformat.
Addedanexportforbitmap(*BMP)andsoundrecordings((*REC)fromtheBfile.
Improvedexportof*FORMquestionswith*SCALEor*GRID.
Addedanoptiontoinsertcodenumbersinfrontrowsoftext.
Page19
VersionHistory
ChangesinNIPOODINDeveloper5.04
YoucannowsyntaxcheckandrunallquestionnaireswithinasingleomnibussurveybyopeningtheINI
configurationfile.
QuestionnairescannowbedisplayedinbidirectionallanguagessuchasHebrewandArabic.
TheResultswindowofasyntaxchecknowkeepstheresultsofprevioussyntaxcheckstocompare
differences.
Asyntaxchecknowissuesawarningfora*CODESquestionwithquestiontextbutwithoutcodes.
ThekeycombinationCTRL+SHIFT+8togglesdisplayingtabandspacecharacters.
Addedrightclicktoquicklyinsertquestiondefinitionsorchangequestionoptionsthroughdialogs.
Asyntaxchecknowissuesawarningifthequestionnairehasanyunfixedpositions.
Addedanexportto/importfromAscribefromLanguageLogic.
YoucannowselecttopreviewaquestionnaireinNIPOCATIorNIPOCAWI.
YoucannowselecttopreviewasinglequestioninNIPOCATIorNIPOCAWI.
Addedanoptiontoviewvariablecontents(NIPOCATIonly).
Addedanoptionaddorremovecomments(**)foraselectionoftext.
Fixingaquestionnaireautomaticallydefinesvariablesthathavenotpreviouslybeendefinedwith
*SAMPLEDATA,*VARSor*TEXTVARSas*TEXTVARS.
Addedanoptiontoremovecommandstocreate*LANGUAGEsectionsbasedonthequestionnaire.
YoucannowcreatequestionnairesinUnicode.
Apreviewofaquestionnaireallowsyoutotestroutingforstratificationreachedcases.
YoucannowuseregularexpressionsintheFinddialog.
AddedanoptionMarkallintheFinddialogtomarkeveryoccurrenceinthesidebar.
TheNIPOODINDevelopernowsupportsaworkbookmodeformultipledocumenthandling.
Thescripteditorwindownowsupportsconfigurablesyntaxhighlighting.
AddedaNIPODianaexport.
YoucannowconfigurethemaximumallowedrecordlengthforNIPOODINquestionnaires.
Thereisnowaseparatefileopenoptiontoopenfileswithamaximumrecordlengthof99,999.
Addedanautosaveoptiontoperiodicallysavebackupsofallopenedfiles.
YoucannowconfigurefiletypestolistinFile>OpenandFile>Save(as...)dialogs.
Addedasettingtooptionallyrememberthelastusedfiletypefilter.
Youcannowconfiguretoprintheaders,footersandlinenumbersinscriptprints.
Thesyntaxchecknowreportsanerrorifa*FORMquestiondoesnotcontainany*NUMBER,*ALPHA,
*GRIDor*SCALEfields.
DutchCommandSetDropped
TheDutchcommandsetforNIPOODIN,obsoletesincetheintroductionofNIPOFieldworkSystemproducts
forMicrosoftWindows,isnolongersupported.
MigratingSurveysFromNIPOODIN4.08
SurveyscriptsthathavepreviouslyrunontheNIPOODINInterviewSystemorNIPOCOMPASSmay
generallyrunwithoutproblemsontheNIPO32bitinterviewsoftware.However,duetotheintroductionof
ascriptparserandengineandseveralotherenhancementssuchassampletables,somechangesmaybe
necessarytorunasurveyasrequired.Checkyoursurveysagainstthissectionbeforedeployingitonany
NIPOSoftwaresystemthatusesthe32bitclientswiththeODINScriptlanguageversion5andabove.
Page20
VersionHistory
*WAITCRCommandDroppedforNIPOCATIandNIPOCAWI
Thescriptcommand*WAITCRhaslimitedsupportandisavailableforNIPOCAPIscriptsonly.Itisnolonger
supportedinNIPOCATIandnotsupportedforNIPOCAWI.
Dutchcommandsetnolongersupported
ItisnolongerpossibletousetheDutchcommandsetinNIPOODIN;youmustusetheEnglishequivalents.
ObsoleteCommandNames
AsofNIPOODIN5,thefollowingobsoletecommandnamescannolongerbeusedandmustbechangedto
theirnewmodernequivalent.
Replacedcommandsthatarenolongersupported
Oldcommand
Newcommand
*OR
*INCLUDE
*XOR
*EXCLUDE
*MOVE
*COPY
*PLAYWAIT
*WAITPLAY
*REPETE
*REPEAT
*PLAYNoLongerSupportedAsaQuestionOption
ThefollowingsyntaxisnolongersupportedinNIPOODIN5.
ValidODIN4.08syntaxexample
*QUESTION 7 *CODES L1 *PLAY "movie.mpeg"
Do you recognise this advertisement?
1: Yes
2: No
*PLAYisnolongerallowedasaquestionoption.*PLAYmustbespecifiedonaseparatelineoraftera
filter.
ValidODIN5syntaxexample
*PLAY "movie.mpeg"
*QUESTION 7 *CODES L1
Do you recognise this advertisement?
1: Yes
2: No
VerticalLineQuestionNotSupportedinNIPOCAPIandNIPOCAWI
TheverticallinequestionisnolongersupportedinNIPOCAPIandNIPOCAWI.
NIPOODIN4.08VerticalLineExample
*QUESTION 10 *LINE L3 *MIN [0] *MAX [-100]
Select your score in percentage.
Youshoulduseahorizontallineinstead,usingapositivenumberforthe*MAXparameter.
Page21
VersionHistory
*CENTREDoesNotProperlyCenterHeadingTexts
IntheNIPOCATIandNIPOCAPI,headingsarenotcenterediftheapplicationisconfiguredtocentercode
labels.Inthefollowingexample,headingtextswillleftaligntothecodes.
HeadingTextsExample
*QUESTION 10 *CODES L1
Choose your favorite brand:
*HEADING "German"
1: BMW
2: Mercedes
*HEADING "French"
3: Renault
4: Citroen
SelfModifyingScriptNoLongerSupported
Selfmodifyingscriptisscriptthatisabletochangeitselfatruntime.InNIPOODINthiswasdonebyplacing
scriptcommandsandcategoriesintextvariables,andthendisplayingthecontentofthatscriptvariableon
aparticularlineinthescript.Suchconstructionswerepossibleduetothenatureofthe4.08interpreter.
Withversion5aparserisintroducedthatcompilesthescript,requiringastrictsyntaxandmakingself
modifyingscriptimpossible.Belowareafewpopularexamplesofselfmodifyingscript,andalternatives
thatcanbeusedtoobtainthesameresultinNIPOODINScriptlanguageversion5andabove.
Example1:Insertingpictures
*TEXTVARS FIGURE
*PUT FIGURE "*PICT *?NR"
*QUESTION 1 *CODES L1 "*?FIGURE"
Sincethe*PICTcommandallowsvariableparameters,thisconstructioncanbeomitted.
Example1:NIPOODIN5Alternative
QUESTION 1 *CODES L1 *PICT [ NR ]
Example2:Togglingthefilter
*TEXTVARS Condition
*PUT Condition "*IF [Q1,1]"
*QUESTION 1 *CODES L1 "*?Condition"
Thiskindofconstructioncanbeavoidedalltogetherbycreatingabetterfiltercondition.
Example3:Showingandhidingcodes
*TEXTVARS DONTKNOW
*IF [ Q2,1 ] *PUT DONTKNOW "9: Dont know"
*QUESTION 3 *CODES L1
Do you own a VCR?
1: Yes
2: No
*?DONTKNOW
Thiskindofconstructionmakesitimpossibletodeterminecodelistsonexports,andcanbeavoidedwith
*CONTROLon*DUMMYquestions:
Page22
VersionHistory
Example3:NIPOODIN5alternative
*QUESTION 4 *CODES L1 *DUMMY
*IF [ Q2,1 ] *EXCLUDE Q4 Q4 *ELSE *INCLUDE Q4 [ 9 ]
*QUESTION 3 *CODES L1 *CONTROL Q4 N
Do you own a VCR?
1: Yes
2: No
9: Don't know
Ifmorethanonecodeneedstobetoggled,a*MULTIquestionshouldbeusedforQ4.Ifusinghighcode
numbersincombinationwith*MULTIcauseslargegapsinthedata,adummycanbereusedasrequiredby
clearingitscontentusing*EXCLUDE Q4 Q4.
Example4:Variablescalelength
*QUESTION 2 *NUMBER L1 *SAVE ScaleLen
How long do you want the scale to be?
*QUESTION 1 *FORM
1: *SCALE 61 [ScaleLen] 28
Variablescalelengtharenolongerpermitted,butstronglyrecommendedagainstfromamethodological
pointofview.Ifdifferentscalelengthsarerequired,useseparatequestions.
ForwardSlashesNoLongerSeparateCodeLabels
InODIN4.08multiplecodescouldbeplacedonasinglerowbyseparatingthembyforwardslashes.
ExampleofODIN4.08scriptusingcategoriesseparatedbyslashes
*QUESTION 5 *CODES L20 *MULTI
Which brand do you know?
1: Brand A
/ 4: Brand D / 7: Brand G
2: Brand B
/ 5: Brand E / 8: Brand H
3: Brand C
/ 6: Brand F / 9: Brand I
19: None of these
NIPOODIN5uses*AUTOand*NEWCOLUMNtocreatecolumnsofcodesautomatically:
AlternativeinNIPOODIN5
*QUESTION 5
Which brand
1: Brand A
2: Brand B
3: Brand C
4: Brand D
5: Brand E
6: Brand F
7: Brand G
8: Brand H
9: Brand I
*NEWCOLUMN
*NEWCOLUMN
Note:
INNIPOCATIthecolumnsareonlycreatedifthepagebecomestoolongtofitinthewindow.Since
NIPOCAPIandNIPOCAWIarebrowserbasedtheheightofthewindowcannotbedecided;use
*NEWCOLUMNtoforcecolumnswhererequired.
Page23
VersionHistory
CopyingPositionsFromaTfileIsLimitedtoFieldLength
Sincetheintroductionofsampletables,theNIPOODINScriptlanguageinternallyreferencesdatabase
fields,evenwhencopyingdatafromaTfile.Positionsreferencedwith*ADDRESSaremappedtodatabase
fields.Thismeansthatyoucannotcopypositionsthatexceedthelengthofthedatabasefields.
Example
Script
Result
Only35positions(251285)arecopiedbecausethefield
DisplayField4islength35(251L35).
Only15positions(201215)arecopiedbecausethefield
DisplayField2islength35(181L35).
Takespecialcarewhencopyingdatafrom,orinto,literalpositionsusing*ADDRESS.Ifpossible,replace
*ADDRESSwithreferencestotheactualfieldnamesusing*SAMPLEDATA.
*AUTONotSupportedinNIPOCAWI
The*AUTOcommandisnotsupportedfortheNIPOCAPIandNIPOCAWIastheenginecannotdetermine
theheightofthebrowserwindow.Use*NEWCOLUMNtosplitthecategoriesintocolumns.
*INITblockisExecutedBeforeSuspendImage
Asuspendimagereplaysapreviously'recorded'interviewusingthecurrentquestionnaireupuntilthefirst
unansweredquestionbeforehandingbackcontroltotheinterviewerortherespondent.Thisfeatureis
usedtofollowupinterviewswithappointmentsorsuspendedCAWIinterviewsandcontinuewherethe
interviewwaslastleft.Inthe32bitclient,an*INITblockisusedtoexecutescriptbeforeresumingthe
interruptedinterview.Thisblockisexecutedbeforethesuspendimageisexecuted.
ThisissignificantlydifferentfromtheAfileimplementationintheNIPOInterviewSystem16bit,which
containedonlythecontentsofvariablesandthequestionnumberwheretoresume.The*INITblockis
executeddirectlybeforethequestionwheretheinterviewisresumed.Thismadeitpossibletomakechecks
onvariablesorquestionsthatwerefilledinaprevioussession.
Thismeanstheexecutionofthe*INITblockintheNIPOInterviewSystem32bitmayleadtodifferent
resultsascomparedtothe16bitversion,asvariablesandquestionswillnolongercontainvaluesfrom
previousruns.Thereforean*INITblockcannolongerrelyonvariablesfilledinpreviousinterview
sessions.
Ifthe*INITblockisusedtodisplaysomevariablesfromaprevioussession(likeacounter),youcanstore
thiscounterinthetelephonefileorsampletableandusethe*COPYcommandtoretrievethisdata.
SelectingAnotherCharacterSetinthe*FONTCommand
Itisnolongerpossibletochangethecodepagecharactersetwithinyourquestionnaire.UseUnicode
insteadwhenthedefaultcharactersetofWindowsdoesnotsupporttherequiredcharactersforthetarget
language.
Page24
VersionHistory
DuplicateInterviewNumbersinTfilesNoLongerContacted
WhenconductingasurveyusingTfiles,withtheintroductionofNIPOODIN5theNIPOFieldworkSystem
nowchecksifacompleted(successful,definitenonresponse)interviewforthatinterviewnumberwas
storedintheDfile(thefilecontainingthesuspendimagesorinterview'recordings').Ifthisisthecase,the
duplicateinterviewnumberisflaggedwithresponsecode26.Onlyifthereisnodefiniteresponsecodefor
thatinterviewnumber,therecordisreused.ThismeansthatreplacingaTfilenolongerallowsthereuseof
values.
WhenusingaTfileintheNIPOFieldworkSystem,interviewnumberscanbepresetinposition52L8before
startingasurvey.Thesenumbersneedtobe8digitswithleadingzerosandshouldbeunique.TheNIPO
FieldworkSystemdoesnotdistributeTfilerecordswithduplicateinterviewnumbers.Duplicateinterview
numbersareflaggedwithresponsecode26.
Stopwatch[1]andStopwatch[2]NotSupportedinNIPOCAPIandNIPOCAWI
SystemvariablesSTOPWATCH[1]andSTOPWATCH[2]arenotsupportedinNIPOCAPIandinNIPOCAWI
becausetheycannotbeproperlyoraccuratelyimplementedinanHTMLandJavaScriptinterface.
UsingCodeNumbersina*FORMQuestion
Page25
UsingtheNIPOODINDeveloper
TheNIPOODINDeveloperistheNIPOODINscriptauthor'stool.Itcanbeusedforthefollowingpurposes:
Create,editandsyntaxcheckquestionnairesforNIPOCATI,NIPOCAPIandNIPOCAWI
RunapreviewofthequestionnaireinNIPOCATI,NIPOCAPIorNIPOCAWI
CreateandeditpicturelibrariesforusewithNIPOODINquestionnaires
Generatedummy(test)datatoverifyquestionnaireintegrity
Exportsurveydataforstatisticalanalysisinvariouspackages.
ThissectionbrieflydiscussesanumberoffeaturesoftheNIPOODINDeveloper.
TheScriptEditorWindow
LineSize
AlineintheNIPOODINDevelopermaybeupto4000characterslong.Scrollinginaverylonglinemightbe
slowuseEdit>Gotopositiontoeasilyplacethecursoronacertainposition.Toopenlargerfiles,select
File>Opendatafile...fromthemenu.
ToggleDisplayingTabsandSpaces
ClickCTRL+SHIFT+8toshowthetabandspacecharactersintheNIPOODINDeveloper.Notethatthe*TAB
commandinyourquestionnairedoesnotinfluencetheeditoroftheNIPOODINDeveloper.Useapreview
toseetheliveresult.
PopupMenuOptions
Foranyopenfileinthescripteditorwindow,rightclickanywheretoopenthepopupmenu.Thissection
describesanumberofthoseoptions.
OpenQuestionnaireFile
Whenreferringtoanotherfileinyourquestionnaireusing*MERGEorinasurveyconfigurationfileyoucan
openthefilebyrightclickingtheselectingthefilenameinthetextandselectingOpenDocumentfromthe
popupmenu.
Examplequestionnaire
*MERGE INITQ
Examplesurveyconfigurationfile
[Files]
Q=""OMNIBUSQ" "TVQ" "PCQ" "CARQ" "ENDQ""
QuestionPreviewinNIPOCATI/CAWI/CAPI
RightclickalinewithaquestiondefinitionandselectQuestionPreviewfromthepopupmenutopreview
thequestioninNIPOCATI,CAWIorCAPI.Alternatively,selectODIN>QuestionPreviewfromthemenu.
Adialogappearstoentervaluesforrelevantvariablesusedinthequestion.Filtersareignored.
Page27
UsingtheNIPOODINDeveloper
InsertingQuestionDefinitions
TosimplifycreatingNIPOODINQuestionnaire,rightclicktheeditorwindowandselectInserttochoose
fromtheavailablequestionoptions.
Insertingaquestion
ChangingQuestionOptions
Rightclickonaquestionlinetochangethequestionoptions.Dependingonthetypeofquestion,oneofthe
followingdialogboxesappears.
Changingthegeneralquestionoptions
Page28
UsingtheNIPOODINDeveloper
Changingthequestionoptionsfora*CODESquestion
Changingthequestionoptionsfora*NUMBERquestion
Page29
UsingtheNIPOODINDeveloper
Changingthequestionoptionsforan*OPENquestion
Changingthequestionoptionsforan*ALPHAquestion
Page30
UsingtheNIPOODINDeveloper
Changingthequestionoptionsfora*SCALEquestion
Changingthequestionoptionsfora*LINEquestion
ChangingCodeOptions
Rightclickonacategorycodelinetochangethecodeoptions.Thefollowingdialogappears.
Page31
UsingtheNIPOODINDeveloper
Changingthecodeoptionsina*CODESquestion
GridComposer
AuserfriendlyGridComposerisavailabletogeneratethescriptingofgridsandscalesefficientlywith
adequatespacing.RightclicktheeditorwindowandselectInsert>Gridquestionfromthemenu.
EntersomeparametersintheInsertGridQuestiondialogandclickOK.Thescriptforthegrid/scalesis
insertedintothescriptintheQfile.Youcanquicklycreatethescriptofgrid/scalesof*MULTI, *SCALE,
*GRID, *NON,*CONTROL,VCONTROLcommandstobefurthermodifieduponyourneeds.
Examplegridcomposerentry
Page32
UsingtheNIPOODINDeveloper
Dialogdescription
Description
Meaning
QuestionNumber
Thequestionnumberforthisgrid/scales
Multipleanswersallowed
Checkthistoappend*MULTItoall*SCALEcommandsorthe*GRIDcommand
Noanswerallowed
Checkthistoappend*NONtothe*QUESTIONcommand
Statementsonthexaxis/yaxis Thelocationofthestatementsdeterminewhetherthecomposerwillgeneratea*GRIDor
oneormore*SCALEcommands.Ifthestatementsareonthexaxis,agridisgenerated
andall*CONTROL/*VCONTROLoptionsareavailable.
Ifthestatementsareontheyaxisoneormore*SCALEcommandsaregenerated.The
optiontohidethecolumnheaderwillbegrayedoutasthiscombinationisnotpossible)
Undercontrolofquestion
Selectingandenteringthequestionnumbertobedependentonresultsina*CONTROL
statementbeingaddedafterthe*QUESTIONstatement.
Include
SelectingresultsinaWafterthe*CONTROL/*VCONTROL,elseanNisgenerated.
Hidecolumnheaderifunder
control
Onlyavailablewhenstatementsareonthexaxistohidecolumnheadersifundercontrol.
Selectingitresultsin*VCONTROLreplacing*CONTROL.
Addanewstatementorscaleitem.
Deletethecurrentlyselecteditem.
Movethecurrentlyselecteditemupinthelist.
Movethecurrentlyselecteditemdowninthelist.
Reloadprevious
Reloadthedataofthelastinsertgrid.
Insert
InsertthescripttotheQfile.
Cancel
Cancelinsertionofagrid.
Note:
Thegridcomposerworksasawizard:onceinserted,thegridcomposercannolongerbeusedto
modifythegrid.Modificationsneedtobedonedirectlyonthescript.
Validityofthequestionnumberandcontrolquestionnumberinthegridcomposerarenotchecked
againstthequestionnaire.Runasyntaxchecktocheckforerrors.
Thesizeofthefieldassociatedwith*SCALEiscomputedbasedonstandardscalesthatstartfrom1.
If*SCALERANGEcommandwithnegativevaluesisused,thecomputedfieldlengthmayhastobe
manuallyadjusted.
Page33
UsingtheNIPOODINDeveloper
Example1usingtheGridComposer
Example1resultscript
*TAB 20, 40, 60, 80, 100
*QUESTION 2 *FORM *NON *VCONTROL Q1 W
Why do you buy them?
apple
orange banana pear
1:Easy to buy
Easy to store
Inexpensive to buy
Example1resultoutputinNIPOCATI(assuming'orange'and'banana'notselected)
Page34
UsingtheNIPOODINDeveloper
Example2usingtheGridComposer
Example2resultscript
*TAB 20, 46, 72, 100
*QUESTION 2 *FORM *CONTROL Q1 W
Why do you buy them?
easy to buy
easy to store
1:apple *SCALE L3 3 1 *MULTI
2:orange
*SCALE L3 3 1 *MULTI
3:banana
*SCALE L3 3 1 *MULTI
4:pear *SCALE L3 3 1 *MULTI
inexpensive to buy
Example2resultoutputinNIPOCATI
SyntaxChecking
YoucannowsyntaxcheckyourquestionnairebyselectingODIN>Check>Check...fromthemenu.Adialog
appearsinwhichwarningoptionsmaybeconfigured.Warningsareissuesthatmayleadtounwanted
behaviorand/orlossofdata,butdonotpreventthequestionnairefromrunning.
Page35
UsingtheNIPOODINDeveloper
NIPOODINDevelopercheckoptions
Youmayselectthefollowingoptions:
Dontsuppresswarnings.Allwarningsarereported.
Suppressallwarnings.Noneofthewarningsarereported.
Suppress.Youcanselectwhichwarningstosuppress.
Thefollowingwarningsmayoptionallybesuppressed:
Toomanypositionsforquestion.Appliesifmorepositionsaredefinedthanstrictlyrequiredtostore
theinputdata.
MAXpositionsforDiana.Appliesifmorethan32,000positionsareused,whichistherecordlimitfor
NIPODiana.
Multipleuseofposition.Appliesifaparticularpositionisaccessedtostoreinformationfrommorethan
onequestion.Thismaycausethedatatobeoverwritten.
Jumptopreviousquestion.Appliesifa*GOTOisusedtojumpbackinsteadofforwardinthe
questionnaire,whichmaycauseaninfiniteloop.Itisrecommendedtouse*BACKinstead.
Codequestionwithoutcodes.Codequestionswithoutcodesareskipped,thereforeawarningcanbe
issuedifacodequestionmissescodes.
Missingquotes.Appliestoquotedtextwhereaclosingquoteismissing.
Maximumdatapositions
Setsthemaximumamountofpositionsallowedforasingleinterview.ThisisusefultomatchNIPOODINto
thelimitofthestatisticalsoftwareinuse.
Filterduplicateerrormessages
Thislimitsthenumberofreportspererrormessage.Forexample,duplicateuseofapositionintheUfile
mayonlyneedtobereportedonce.
Keeppreviousresults
Resultsofaprevioussyntaxcheckarenotclearedforanewsyntaxcheck.
Keepresultsafterclosingfile
KeepstheResultswindowopenoncethequestionnairefileisclosedintheeditor.
Page36
UsingtheNIPOODINDeveloper
WarningMessagefor*CODESQuestionWithoutCodeCategories
Ifnocodecategoriesaredefinedfora*CODESquestionawarningisdisplayeduponasyntaxcheck.No
warningissuppliedifaquestiontextisalsomissing.
WarningMessageforUnfixedQuestions
YoucantestrunaquestionnairewithintheNIPOODINDeveloperNIPOODINDeveloperwithunfixed
questions,butcannotrunthequestionnaireinNIPOCATI,NIPOCAWIorNIPOCAWIwithunfixed
questions.
TheNIPOODINDevelopergivesawarningmessageuponsyntaxcheckifanyunfixedquestions(length
definitionswithoutpositiondefinition)havebeendefinedintheNIPOODINQuestionnaire.Onlyone
warningisevergeneratedforthefirstlinewhereanunfixedquestionwasfound.
SelectODIN>FixorclicktheFixbuttontofixthequestions.
Erroron*FORMQuestionLanguageSectionMismatch
Thesyntaxcheckreportsanerrormessagewhena*FORMquestioninthelanguagesectiondoesnot
containanyfields(*NUMBER,*ALPHAor*SCALE).Thesyntaxcheckalsoreportsanerrormessagewhen
afield(*NUMBER,*ALPHAor*SCALE)isspecifiedinaquestionthatisnotdefinedas*FORM.
UndeclaredVariablesareCreatedwhenFixingaQuestionnaire
Ifavariableisnotdeclaredbeforeitisbeingused,awarningmessageappearsWhenfixingthedata
positionsorrenumberingaquestionnaire,thesevariablenamedeclarationsareautomaticallyaddedtothe
questionnaireas*TEXTVARSvariables.Makesurenomistakesaremadeinthevariablename,andverify
if*TEXTVARSisanappropriatetype.
ResultsWindowKeepsPreviousSyntaxChecks
TheResultswindowofasyntaxcheckkeepsprevioussyntaxchecks.Rightclickthewindowandselect
Removetabtoclosetheresultwindow.ClickonthecrossontheupperleftcornerorusetheView>
Resultsfromthemenutotoggleshowingthedockingwindow.
SyntaxcheckforOmnibusSurveys
Questionnairesthatarepartofanomnibus,mayusevariablesandquestionnumbersfromaprevious
questionnaireinthatomnibus.Iftheomnibus.INIfileislocatedinthesamedirectory,thesystem
checksallotherquestionnairesfromthatomnibus.
TestRunQuestionnaireinNIPOCATI/CAPI/CAWI
SelectODIN>RunfromthemenuandselecttopreviewthequestionnaireinNIPOCATI,CAPIorCAWI.
Page37
UsingtheNIPOODINDeveloper
CheckRoutingforStratification
Whenusingthecommand*STRATinaquestionnaire,foreachoccurrenceamessagedialogstratification
filled?Yes/Nopopsup.Selecttheappropriateanswertotestyourrouting.Notethatnotelephonefileor
sampletableisused.
ShowVariables
ForNIPOCATIandNIPOCAPIpreviews,youcanshowthecontentsofthecurrentlyknownvariablesby
selectingView>Viewvariables...fromthemenu.Notethatsystemvariables0through9andthe
CONJTXTvariablesarealwaysavailableevenifnotused.Othervariableshavetobedeclaredwith*VARS,
*TEXTVARSor*SAMPLEDATAfirst.
MenuOptions
OpenallQuestionnairesinOmnibusSurvey
Whenrunninganomnibussurvey,youcandoasyntaxcheckonthesurvey.INIfile.
Allquestionnaireswillbecheckedintheordertheyaredefinedinthesetting
Q=""name1" "name2"".
WhenscrollingthroughtheResultswindow(withthewarningsanderrors),theNIPOODINDeveloper
automaticallyopensallquestionnairesthatarepartoftheomnibus.Youcanalsoclickonalineinthe
Resultswindowtoopenaspecificquestionnaire.UseView>Workbookmodetomakeswitchingfromone
windowtoanothereasier.
Example
[Files]
Q=""OMNIBUSQ" "TVQ" "PCQ" "CARQ" "ENDQ""
Asyntaxcheckisperformedonall5questionnairesandwillopenallfilesthatarenotalreadyopened,when
youscrollthroughtheResultswindow.
OpenDataFiles
Theregularscripteditoriscapableofmanagingupto4,000horizontalpositions.Toopenlarger(data)files,
selectFile>OpenDataFile...fromthemenu.Thisopensfilesupto99,999horizontalpositions,andcancels
syntaxhighlighting.
RemoveCommands
Tobeabletocreateamultilanguagequestionnaire,selectODIN>RemoveCommands...fromthemenu.
Thisoptioncreatesatranslatable*LANGUAGEsectionwithoutNIPOODINcommands,exceptfor
*QUESTION,*FONTand*?varname,thatmaybelinkedtotheoriginalquestionnaireusingthe
*LANGUAGEcommand.
Comment/Uncomment
SelectablockoracoupleoflinesandselectEdit>Commenttomakecommentsoftheseline.Thisinsertsa
**infrontofallselectedlines.SelectEdit>Uncommenttoremovethe**fromtheselectedlines.
Page38
UsingtheNIPOODINDeveloper
CreateQuestionnairesinUnicode
Thismeansfullsupportforallnonwesternlanguages,likeHebrew,Arabic,Chinese,Japanese,etcetera.
UnicodeisenforcedbysavingthefileastypeUTF16.Verifythatsupportfortheselectedlanguageis
availableonthetargetedworkstations.
FindFunctionwithRegularExpressionsandMarkAll
SelectEdit>Findtosearchforspecifictextinyourquestionnaire.ClickMarkAlltomarkentriesfoundin
thesidebar.
Findfunction
StartEditorinWorkbookMode
SelectView>Workbooktoenableordisableshowingwindowsinaworkbookmode.Theworkbookmode
makesswitchingwindowseasier.
CreateCodeNumbersBeforeCodeLabelsandFields
Selectthelinesyouwanttonumber,thenselecttheODIN>Insertnumbersfromthemenu.Fillinthe
dialogasrequired.
TheNIPOODINDeveloperdoesnotimmediatelyverifycodenumbersagainstanyduplicatesoragainstthe
questiondefinition.Tocreateuniquenumbers,donotupdatepartiallists.Usethesyntaxchecktocheckon
duplicatecodenumbers.Numberingisperformedonalllinescontainingacarriagereturn
Creatingcodecategorynumbers
Page39
UsingtheNIPOODINDeveloper
Result:
TheNIPOODINDeveloper
TheNIPOODINDeveloperallowsyoutoexportyourdatatoavarietyofstatisticalsoftwarepackages.The
followingformatsaresupported:
NIPODiana/NvisionScript
TripleSXML
SPSSPortable
SPSSPC(scriptformat)
Ascribe
Quantime
Image/Sound
NIPODiana
TheexporttoNIPODianamaybeusedtocreatefilesthatmaybeusedbybothNIPODianaandNvision
Script.
Page40
UsingtheNIPOODINDeveloper
ExporttoNIPODianavariables
Choosethefollowingoptions:
Language
Ifmorethanonelanguageisdefinedwithinthequestionnaire,selectthelanguagetouseforthequestion
andcodelabelsintheexport.
Addfilterstovariables
Anyquestionnairefiltersarealsodefinedinthevariables.
Variablenameinfrontofquestiontext
Thequestionlabelisprecededbytheexportnameofthevariable.Optionallyaddalinefeedtothevariable
name.
UseCODEnifnocodetextspecified
Forcodecategorylabelswithouttext,alabeliscreatedcontainingtheword'CODE'followedbythecode
number.
Questionninfrontofquestiontext
Allquestiontextsareprecededbytheword"Question"followedbythequestionnumberoriginallyusedin
thequestionnaire.Optionallyaddalinefeedtothevariablename.
Writerandomandordernumbers
Where*RANDOMand*ORDERareusedwithapositiondefinition,thisstorestheorderinwhichthecodes
appearedduringthequestionnaireinanadditionalvariable.
Insert[LF]inquestiontext
Iflinefeedsareusedinthequestionlabels,thesearetransferredintheexport.Duplicatelinefeedsare
removed.Bydefault,linefeedsaretranslatedintospaces.
Page41
UsingtheNIPOODINDeveloper
Insert[LF]incodetext
Iflinefeedsareusedinthecodelabels,thesearetransferredintheexport.Duplicatelinefeedsare
removed.Bydefault,linefeedsaretranslatedintospaces.
Includequestionswithouttextandunusedquestions
Exportsquestionswithouttextandquestionsthatarenevershownduetorouting.Bydefaultthesearenot
exported.
Generatecodesforscalequestions
Generatescodenumbersfor*SCALEquestions.Bydefaulttheseareexportedasnumericalvariables.
Includenullevaluatingfilteranddummyquestions
Exportsquestionsthatuseafilterthatalwaysevaluatestofalse(forexample*IF [ 1 = 0])and
*DUMMYquestions.Bydefaultthesearenotexported.
Noduplicatetextfor*OPENand*NUMBERquestions
For*OPENand*NUMBERquestions,createsalabelwiththequestiontext,removingthelabelforthe
questiontext.
Maximumcodespervariable
Enforcesamaximumnumberofcodespervariable.Codesbeyondthislimitarenotexported.Thismaybe
requiredforNIPODiana,whichhasalimitof200variables.
Setlinelength
Setsthemaximumamountofcharacterstobeusedforquestionlabelsandcodelabelsonasinglerow.
Rowsaresplitusingthebackslashcharacter.Sentencesaresplitatcompletewords.
OpenVARfileafterexport
AutomaticallyopenstheexportedvariablefileintheNIPOODINDeveloper.
UnicodeVARfile
ExportsaUnicodevariablefileinsteadofanASCIIfile(supportedbyNvisionScriptonly).
CodeLabelExportsina*FORMQuestion
Ina*FORMquestion,alltextofacodelabel(bothbeforeandafterthedatafield)isusedfortheexportto
NIPODianavariables.
Exportingtextof*FORMquestion
*QUESTION 1 *FORM
How much did you pay for:
1: Product A
2: Product B
Isexportedas:
*V1_1 61L3.2: How much did you pay for: Product A
*V1_2 66L3.2: How much did you pay for: Product B
Page42
Euros
Euros
UsingtheNIPOODINDeveloper
RandomCodeNumberExportinNIPODiana
Exportingrandomorder
*QUESTION 2 *CODES 81L9 *RANDOM 90L3 *CONTROL Q1 N
Which of the following brands of beers do you know?
(Int: read out)
1:
2:
3:
8:
9:
Heineken
Amstel
Grolsch
Other *OPEN *NOCON
None *NMUL *NOCON
Isexportedas:
*V2 *MV 81L9:V2[LF]Question 2[LF]Which of the following brands of brands of beers do you
know? (Int: read out)
1: Heineken
2: Amstel
3: Grolsch
8: Other
9: None
*V2_R1 *SNG 90L1:V2_R1[LF]Question 2 - Random nr. 1[LF]Which of the following brands of
brands of beers do you know? (Int: read out)
1: Heineken
2: Amstel
3: Grolsch
8: Other
9: None
*V2_R2 *SNG 91L1:V2_R2[LF]Question 2 - Random nr. 2[LF]Which of the following brands of
brands of beers do you know? (Int: read out)
1: Heineken
2: Amstel
3: Grolsch
8: Other
9: None
*V2_R3 *SNG 92L1:V2_R3[LF]Question 2 - Random nr. 3[LF]Which of the following brands of
brands of beers do you know? (Int: read out)
1:
2:
3:
8:
9:
Heineken
Amstel
Grolsch
Other
None
OrderCodeNumberExportinNIPODiana
Exportingorderofmentions
*QUESTION 1 *CODES 61L9 *MULTI 70L3
Which brands of beers do you know?
(Int: type the codes in the same order as mentioned by respondent)
1:
2:
3:
8:
9:
Heineken
Amstel
Grolsch
Other *OPEN
None *NMUL
Page43
UsingtheNIPOODINDeveloper
Isexportedas:
*V1 *MV 61L9:V1[LF]Question 1[LF]Which brands of beers do you know? (Int: type
the same order as mentioned by respondent)
1: Heineken
2: Amstel
3: Grolsch
8: Other
9: None
*V1_O1 *SNG 70L1:V1_O1[LF]Question 1 - Order nr. 1[LF]Which brands of beers do
(Int: type the codes in the same order as mentioned by respondent)
1: Heineken
2: Amstel
3: Grolsch
8: Other
9: None
*V1_O2 *SNG 71L1:V1_O2[LF]Question 1 - Order nr. 2[LF]Which brands of beers do
(Int: type the codes in the same order as mentioned by respondent)
1: Heineken
2: Amstel
3: Grolsch
8: Other
9: None
*V1_O3 *SNG 72L1:V1_O3[LF]Question 1 - Order nr. 3[LF]Which brands of beers do
(Int: type the codes in the same order as mentioned by respondent
1: Heineken
2: Amstel
3: Grolsch
8: Other
9: None
the codes in
you know?
you know?
you know?
Exportsof*FORMQuestionswithCodes
Exportsof*FORMquestionsusingcodesforfieldsappropriatelynumbersvariablesaccordingtothecode
numbers.Thelabeliscreatedfromallsuccessivetextforthatcode.Notethatina*SCALEor*GRID
questiontheappropriatecolumnheadersareexportediftabshavebeenusedcorrectlytoseparatethese.
Examplescript1
*QUESTION 1 *FORM
What is your address?
1:
2:
3:
4:
Street
*ALPHA 61L35
House number
*NUMBER 96L5
Postal code *ALPHA 101L10
City *ALPHA 111L30
ResultexporttoNIPODianascript1
*V1_1
*V1_2
*V1_3
*V1_4
*TEK
*SNG
*TEK
*TEK
Examplescript2
*QUESTION 2 *FORM
What did you think of the service at the following gas stations?
Esso
1:Very good
Good
Average
Poor
Very poor
No opinion
Mobil Oil
Shell
*GRID 141L5 6.1 4.10
Texaco
Inthescriptabove,tabsareusedtospacecolumnheaders.Notethatthereisalsoatabbetweenthelabel
andthe*GRIDonthefirstline,andthatboththecolumnheaderandthefirstlineareendedwithaspace
andtab.
Page44
UsingtheNIPOODINDeveloper
ResultexporttoNIPODianascript2
*V2_1 141L1: What
1:Very good
2:Good
3:Average
4:Poor
5:Very poor
6:No opinion
*V2_2 142L1: What
1:Very good
2:Good
3:Average
4:Poor
5:Very poor
6:No opinion
*V2_3 143L1: What
1:Very good
2:Good
3:Average
4:Poor
5:Very poor
6:No opinion
*V2_4 144L1: What
1:Very good
2:Good
3:Average
4:Poor
5:Very poor
6:No opinion
Esso
Mobil Oil
Shell
Texaco
TripleSXML
TripleSXMLisaopenstandarddataformatusingXML.Itissupportedbyavarietyofproducts,including
butnotlimitedto:
Bellview
CfMCSurvent
Merlin
Miriad(TNS)
Preport
SNAP
AnexporttoTripleSrequiresthatthesurveydatafileispresentinsamethedirectoryasthequestionnaire
thatisexported.ForaquestionnaireNAMEQ,thedatafileshouldbenamedNAME.DAT.
Page45
UsingtheNIPOODINDeveloper
ExporttoTripleSXML
ExporttoTripleSversion
SetstheTripleSformattouse.Checkyourstatisticalanalysispackagefordetails.Supportedexportsare
1.1,1.2and2.0.
Datafileformat
Setsthedatafileformatfortheexport,eitherfixedorcsv(characterdelimited).Thisisonlysupportedfor
TripleSversion2.0.
Converttextusingcodepage
Selectthecodepagetoconverttheexportinto.Makesuretheselectedcodepagematchesthelanguageof
yourquestionnaire.
Subsurvey
Selectwhichsurveytoexportif*NEWwasusedwithinthequestionnaire.
Language
Ifmorethanonelanguageisdefinedwithinthequestionnaire,selectthelanguagetouseforthequestion
andcodelabelsintheexport.
Includealphanumericquestions
Include*ALPHAand*NUMBERquestionsintheexport.
Includequestionswithouttextandunusedquestions
Exportsquestionswithouttextandquestionsthatarenevershownduetorouting.Bydefaultthesearenot
exported.
Includenullevaluatingfilteranddummyquestions
Exportsquestionsthatuseafilterthatalwaysevaluatestofalse(forexample*IF [ 1 = 0])and
*DUMMYquestions.Bydefaultthesearenotexported.
Recodequestionscontainingcode'0'
Code0forcodecategoriesisbydefaultnotsupportedintheTripleSXMLformat.Thisoptionrecodescode
labelsifcode0wasusedinthequestionnaire.
Page46
UsingtheNIPOODINDeveloper
Includeopenanswers
Inadditiontooptionallycodedopenendedquestions,thisexportsopenendedanswerverbatimintothe
datafile.
Openanswerlength
Setsthemaximumnumberofcharacterstobeusedforopenendedanswers.Answersbeyondthelength
limitaretruncated.
CheckQPScompliance
CheckscompliancewithTripleSexportsforQPS.Ifthecomplianceisnotmet,awarningmessageis
displayed.
OpenSSSfile
AutomaticallyopenstheTripleSvariabledefinitionfileintheNIPOODINDeveloperafterexport.
ThefollowingcharactersinthequestionandcodetextareescapedwhenexportingtoTripleSXML:
<isreplacedby<
>isreplacedby>
&isreplacedby&
'isreplacedby'
"isreplacedby"
SPSSPortable
AnexporttoSPSSPortablerequiresthatthesurveydatafileispresentinsamethedirectoryasthe
questionnairethatisexported.ForaquestionnaireNAMEQ,thedatafileshouldbenamedNAME.DAT.
ExporttoSPSSPORfile
Subsurvey
Selectwhichsurveytoexportif*NEWwasusedwithinthequestionnaire.
Language
Ifmorethanonelanguageisdefinedwithinthequestionnaire,selectthelanguagetouseforthequestion
andcodelabelsintheexport.
Converttextusingcodepage
Selectthecodepagetoconverttheexportinto.Makesuretheselectedcodepagematchesthelanguageof
yourquestionnaire.
Page47
UsingtheNIPOODINDeveloper
RetainODINdataformat
Notavailableforthisformat.
Includeopenanswers
Notavailableforthisformat.
Maxrecordlength
Themaximumnumberofpositionsofasinglerecord.Checkyourstatisticalanalysissoftwareforthelimits.
Longerrecordsaresplitattheconfiguredthreshold.
Includequestionswithouttextandunusedquestions
Exportsquestionswithouttextandquestionsthatarenevershownduetorouting.Bydefaultthesearenot
exported.
Includenullevaluatingfilteranddummyquestions
Exportsquestionsthatuseafilterthatalwaysevaluatestofalse(forexample*IF [ 1 = 0])and
*DUMMYquestions.Bydefaultthesearenotexported.
Includesavescript
Notavailableforthisformat.
Variablenameinfrontofquestiontext
Thequestionlabelisprecededbytheexportnameofthevariable.Optionallyaddalinefeedtothevariable
name.
Questionninfrontofquestiontext
Allquestiontextsareprecededbytheword"Question"followedbythequestionnumberoriginallyusedin
thequestionnaire.
UsequestionID'sasvariablenames
Ifspecified,usenamesdefinedwith*VARasvariablenames.
Usealternativenamesforrandomandordervariables
Usesaslightlyshorterformatfor*RANDOMand*ORDERvariables,wherethedefaultfirstletterisreplaced
byRorOrespectively.
Writerandomandordernumbers
Where*RANDOMand*ORDERareusedwithapositiondefinition,thisstorestheorderinwhichthecodes
appearedduringthequestionnaireinanadditionalvariable.
UsecodenumbersforMultipleDichotomyfields
Bydefault,for*MULTIquestionsallcodesareexportedasmultipledichotomyquestions(mentioned/not
mentioned).Thisoptionplacestheoriginalcodenumberinthequestionlabelforthesequestions.
Textformentioned
Formultipledichotomyquestions,setsthelabeltobeusedfor'mentioned'.
Textfornotmentioned
Formultipledichotomyquestions,setsthelabeltobeusedfor'nomentioned'.
Variablenamelength
Setsthemaximumlengthforvariablenames.Chooseeither8or64,dependentonyourSPSSversioninuse.
Variablelabellength
Setsthemaximumlengthforthevariablelabel(thequestiontext).Longertextsaretruncatedatthe
threshold.
Valuelabellength
Setsthemaximumlengthforthevaluelabel(thecodelabeltext).Longertextsaretruncatedatthe
threshold.
Page48
UsingtheNIPOODINDeveloper
Variablenamesfirstletter
Setsthefirstletterforanexportedvariablename.ThisonlyhappensquestionIDsarenotused,orifthe
questiondoesnothaveaquestionIDdefined(*VAR).
Numberofcharsfrommultiquestion
Bydefault,multipledichotomyquestionsreceivethefulloriginalquestiontextinadditiontothecodelabel.
Thisoptionconfiguresthemaximumnumberofcharactersfromthequestionlabeltoinclude.
Note:
Theselectedsettingsforvariablenamesmaycausetheexporttogeneratevariablenamesthat
exceedthemaximumnumberofcharactersfortheSPSSversionyouareusing.Awarningisissued
fortheminimumlimitforolderversionsadjustthesettingsifrequired.
SPSSPC
AnexporttoSPSSPCscriptfilesrequiresthatthesurveydatafileispresentinsamethedirectoryasthe
questionnairethatisexported.ForaquestionnaireNAMEQ,thedatafileshouldbenamedNAME.DAT.This
exportcreatestwofiles:avariabledefinitionfile(SPSfile)andadatafile(EXTfile).RuntheSPSfilein
SPSStocreatethedataset.
ExporttoSPSSPC(scriptfiles)
Subsurvey
Selectwhichsurveytoexportif*NEWwasusedwithinthequestionnaire.
Language
Ifmorethanonelanguageisdefinedwithinthequestionnaire,selectthelanguagetouseforthequestion
andcodelabelsintheexport.
Converttextusingcodepage
Selectthecodepagetoconverttheexportinto.Makesuretheselectedcodepagematchesthelanguageof
yourquestionnaire.
RetainODINdataformat
Keepstheexporteddatafile(EXTfile)inthesameformatastheoriginalNIPOODINdatafile(DATfile).
Includedopenendedanswers,ifany,areappendedattheendofeachrecord.
Includeopenanswers
Includesopenendedanswerverbatiminthedatafileasadditionalvariables.
Page49
UsingtheNIPOODINDeveloper
Maxrecordlength
Themaximumnumberofpositionsofasinglerecord.Checkyourstatisticalanalysissoftwareforthelimits.
Longerrecordsaresplitattheconfiguredthreshold.
Includequestionswithouttextandunusedquestions
Exportsquestionswithouttextandquestionsthatarenevershownduetorouting.Bydefaultthesearenot
exported.
Includenullevaluatingfilteranddummyquestions
Exportsquestionsthatuseafilterthatalwaysevaluatestofalse(forexample*IF [ 1 = 0])and
*DUMMYquestions.Bydefaultthesearenotexported.
Includesavescript
Includestheline"SAVE OUTFILE='survey.SAV' /COMPRESSED"wheresurveyisthenameof
thesurvey.
Variablenameinfrontofquestiontext
Thequestionlabelisprecededbytheexportnameofthevariable.Optionallyaddalinefeedtothevariable
name.
Questionninfrontofquestiontext
Allquestiontextsareprecededbytheword"Question"followedbythequestionnumberoriginallyusedin
thequestionnaire.
UsequestionID'sasvariablenames
Ifspecified,usenamesdefinedwith*VARasvariablenames.
Usealternativenamesforrandomandordervariables
Usesaslightlyshorterformatfor*RANDOMand*ORDERvariables,wherethedefaultfirstletterisreplaced
byRorOrespectively.
Writerandomandordernumbers
Where*RANDOMand*ORDERareusedwithapositiondefinition,thisstorestheorderinwhichthecodes
appearedduringthequestionnaireinanadditionalvariable.
UsecodenumbersforMultipleDichotomyfields
Bydefault,for*MULTIquestionsallcodesareexportedasmultipledichotomyquestions(mentioned/not
mentioned).Thisoptionplacestheoriginalcodenumberinthequestionlabelforthesequestions.
Textformentioned
Formultipledichotomyquestions,setsthelabeltobeusedfor'mentioned'.
Textfornotmentioned
Formultipledichotomyquestions,setsthelabeltobeusedfor'nomentioned'.
Variablenamelength
Setsthemaximumlengthforvariablenames.Chooseeither8or64,dependentonyourSPSSversioninuse.
Variablelabellength
Setsthemaximumlengthforthevariablelabel(thequestiontext).Longertextsaretruncatedatthe
threshold.
Valuelabellength
Setsthemaximumlengthforthevaluelabel(thecodelabeltext).Longertextsaretruncatedatthe
threshold.
Variablenamesfirstletter
Setsthefirstletterforanexportedvariablename.ThisonlyhappensquestionIDsarenotused,orifthe
questiondoesnothaveaquestionIDdefined(*VAR).
Page50
UsingtheNIPOODINDeveloper
Numberofcharsfrommultiquestion
Bydefault,multipledichotomyquestionsreceivethefulloriginalquestiontextinadditiontothecodelabel.
Thisoptionconfiguresthemaximumnumberofcharactersfromthequestionlabeltoinclude.
Note:
Theselectedsettingsforvariablenamesmaycausetheexporttogeneratevariablenamesthat
exceedthemaximumnumberofcharactersfortheSPSSversionyouareusing.Awarningisissued
fortheminimumlimitforolderversionsadjustthesettingsifrequired.
Ascribe
OpenendedanswersinNIPOFieldworkSystemsurveysmaybecodedusingLanguageLogic'sonlinecoding
solutionAscribe.Ascribeimportscodingprojectsusingaproprietary(ZIPcompressed)XMLformat.
AnexporttoAscriberequiresthatthesurveydatafileispresentinsamethedirectoryasthequestionnaire
thatisexported.ForaquestionnaireNAMEQ,thedatafileshouldbenamedNAME.DAT.
AscribeExport
Language
Ifmorethanonelanguageisdefinedwithinthequestionnaire,selectthelanguagetouseforthequestion
andcodelabelsintheexport.
Codeframefile
Iftheprojectwaspreviouslycoded,thecurrentquestionnairemaynotcontaintherequiredCodeFrames.
SelecttheAscribeCodeFramefiletouseforcoding.
Incremental
CheckthisoptionifyouplantoaddthecurrentexporttoanexistingAscribeproject.Usethisfeaturetoadd
newdatatoanexistingproject.
Theresultfileiscalled[surveyname]_setup.zipwheresurveynameisthenameofyoursurvey.
SeetheAscribedocumentationfordetailsonhowtocreateaprojectfromthisfileorhowtoadd
incrementaldatatoanexistingproject.
Quantime
AnexporttoQuantimerequiresthatthesurveydatafileispresentinsamethedirectoryasthe
questionnairethatisexported.ForaquestionnaireNAMEQ,thedatafileshouldbenamedNAME.DAT.
ExporttoQuantime
Includequestionswithouttextandunusedquestions
Exportsquestionswithouttextandquestionsthatarenevershownduetorouting.Bydefaultthesearenot
exported.
Page51
UsingtheNIPOODINDeveloper
Includenullevaluatingfilteranddummyquestions
Exportsquestionsthatuseafilterthatalwaysevaluatestofalse(forexample*IF [ 1 = 0])and
*DUMMYquestions.Bydefaultthesearenotexported.
Subsurvey
Selectwhichsurveytoexportif*NEWwasusedwithinthequestionnaire.
Language
Ifmorethanonelanguageisdefinedwithinthequestionnaire,selectthelanguagetouseforthequestion
andcodelabelsintheexport.
Converttextusingcodepage
Selectthecodepagetoconverttheexportinto.Makesuretheselectedcodepagematchesthelanguageof
yourquestionnaire.
Variablelabellength
Setsthemaximumlengthforthevariablelabel(thequestiontext).Longertextsaretruncatedatthe
threshold.
Valuelabellength
Setsthemaximumlengthforthevaluelabel(thecodelabeltext).Longertextsaretruncatedatthe
threshold.
Side
Definesthedefaultleftcolumnwidthforthequestiontextandcodelabels.
Variablenameinfrontofquestiontext
Thequestionlabelisprecededbytheexportnameofthevariable.Optionallyaddalinefeedtothevariable
name.
Questionninfrontofquestiontext
Allquestiontextsareprecededbytheword"Question"followedbythequestionnumberoriginallyusedin
thequestionnaire.
Usevariablenames
Insteadofautomaticallyassigningquestionvariablenamesbasedonquestionnumbers,usethelabels
definedby*VAR.
Page52
UsingtheNIPOODINDeveloper
Includequestionswithouttextandunusedquestions
Exportsquestionswithouttextandquestionsthatarenevershownduetorouting.Bydefaultthesearenot
exported.
Includenullevaluatingfilteranddummyquestions
Exportsquestionsthatuseafilterthatalwaysevaluatestofalse(forexample*IF [ 1 = 0])and
*DUMMYquestions.Bydefaultthesearenotexported.
Images/Sound
Ifeither*BMPor*RECareusedintheNIPOODINquestionnaire,thesemaybeexportedasseparateimage
andsoundfiles.Bitmapfilesareexportedas*.BMPfilesandrecordingsareexportedas*.WAVfiles.
ExportImages/Sound(extractBfile)
Bfile
SelecttheBfiletoextract.
Location
Specifyadirectorywheretheextractedfilesmustbeplaced.
Filenamesaregeneratedautomatically.AseparatefileiscreatedforimageorwaveclipintheBfile.The
followingnamingconventionisused:
I<i>_S<s>_P<p>_L<l>_C<c>.BMP
I<i>_S<s>_P<p>_L<l>_C<c>.WAV
Where:
<i>Interviewnumber
<s> Subsurveynumber
<p> PositiondefinitioninUfile
<l> LengthdefinitioninUfile
<c> Codeiftheanswerisrelatedtoacodecategory
NfieldCode
ThisexportscreatesanimportfileforNfieldCode,thesuccessortotheNIPOODINCodingModule.
ExporttoNfieldCode
Usevariablelabelsifpresent
Uselabelsdefinedwith*VARand*LABEL.
Page53
UsingtheNIPOODINDeveloper
Includeappointmentnotes
Includesappointmentnotesasaseparateopenendedquestion.
Includesnotestoclosedquestions
Includesforcedopenendedanswersonclosedquestionsasopenendedquestions.
Language
Selectsthenameoftheoriginallanguageinwhichthequestionnairewasscripted.Notethattheexport
alwaysusesthecodeframedefinedbythedefaultlanguage(theoriginalscript)otherlanguagescannot
beexported.
TheexportedfileissavedwiththenameofthesurveyfileandtheextensionNFC.Thisfilemustbe
importedinNfieldCodetocreateanNfieldCodeproject.
ExportXFile
ThisexportallowsyoutoexportNIPOCodingModulecodingfilestoNfieldCode.
ExportXfiletoNfieldCode
Xfile
SelectstheXfiletoexporttoNfieldCode.
Destination
Setsadestinationdirectorytoexportthecodeframefileto.NotethatNfieldCodeexportsallcodeframes
intheXfileandthereforemaycreatemultiplefiles.
Language
Selectsthenameoftheoriginallanguageinwhichthequestionnairewasscripted.Notethattheexport
alwaysusesthecodeframedefinedbythedefaultlanguage(theoriginalscript)otherlanguagescannot
beexported.
Filesaresavedinthefollowingformat:
[Surveyname]X_[SubquestionnaireNumber]_[Position]_[Length]{C[Code]}.nfcf
ThePositionandLengthparameterscorrespondtothequestionpositionandlengthasspecifiedin
thequestionnaire.IftheCodeFrameispartofasemiopenendedquestion,Codespecifiesthecode
numberonwhichthe*OPENcommandwasused.
Imports
TheimportsfortheNIPOODINDeveloperareusedtoimportopenendedcodingprojectsfromNfieldCode
orAscribe.ThisreimportsdatapreviouslyexportedtoNfieldCodeorAscribe.Theseimportsimmediately
startanexportforthedataanalysissoftwareselectedintheimportdialog.
Ascribe
ThisimportsanAscribeexportfile.OnceaprojecthasbeenpartiallyorfullycodedinAscribe,itmaybe
usedtomergethecodedopenendedanswersbackintothedatafile.
Page54
UsingtheNIPOODINDeveloper
Sincethisimportissuesandexport,itrequiresthatthesurveydatafileispresentinsamethedirectoryas
thequestionnairethatisexported.ForaquestionnaireNAMEQ,thedatafileshouldbenamedNAME.DAT.
Ascribeimport
Language
Setsthetranslationtouseasdefinedwithinthecodingproject.Thisonlyappliesifmultipletranslationsof
questionsandcodeshavebeenmade.
Inputfile
Selectsthe.ZIPexportfiletouse.Notethatthisexportfilemustmatchthecurrentlyopened
questionnairefile.
Convertsingletomultiifcodedmulti
Ifanypreviouslysinglecodedquestionshavebeenchangedtomultiplecodedquestions,theyare
converted.Otherwise,onlythefirstselectedcodeisaccepted.
Outputformat
Setstheexporttypetobeused.Confirmingthisdialogbringsyoutotherelevantexportdialog.
NfieldCode
ThisimportsanNfieldCodeexportfile.OnceaprojecthasbeenpartiallyorfullycodedinNfieldCode,it
maybeusedtomergethecodedopenendedanswersbackintothedatafile.
Sincethisimportissuesandexport,itrequiresthatthesurveydatafileispresentinsamethedirectoryas
thequestionnairethatisexported.ForaquestionnaireNAMEQ,thedatafileshouldbenamedNAME.DAT.
Page55
UsingtheNIPOODINDeveloper
NfieldCodeimport
Language
Setsthetranslationtouseasdefinedwithinthecodingproject.Thisonlyappliesifmultipletranslationsof
questionsandcodeshavebeenmade.
Inputfile
Selectsthe.NFCexportfiletouse.Notethatthisexportfilemustmatchthecurrentlyopened
questionnairefile.
Outputformat
Setstheexporttypetobeused.Confirmingthisdialogbringsyoutotherelevantexportdialog.
NIPOODINDeveloperConfiguration
TemplatedRelatedFilesFolderConfiguration
BothNIPOCAPIandNIPOCAWIusetemplatestostylethequestionnaires.InthetoolsbaroftheNIPOODIN
Developer,youcanconfigurethelocationoftheTemplateRelatedFilesfolderforeither.Youcan
alsoselectapreviouslyconfiguredTemplateRelatedFilesfolder.
TheconfiguredfoldermusthavethenameTemplateRelatedFilesfolder.Foreachsurvey,asub
folderwiththesurveynamemustbeplaced.ThisiswhereyoustorethesurveyspecificCSSfiles,
OdinTemplatefilesandanyadditionalfilesrequiredbyeither.TheDefaultfoldercontainsthetemplates
andstylesheetsthatareusedincaseanysurveyspecificfileisnotsupplied.
ThefolderstructureoftheTemplateRelatedFilesfoldermatchesthefolderstructurefortheWaiting
Room.IfanyWaitingRoomisconfiguredforuseonthenetwork,itmaybeusedinstead.Notehoweverthat
previewfilesarestoredinarelativepath,soyoumusthavefullread/writeaccesstothislocation.
Note:
AlthoughitispossibletoconfigurethesameTemplateRelatedFilesfolderforbothNIPO
CAWIandNIPOCAPI,thisisnotrecommendedduetosubtledifferencesinstylingandclassnames
betweenthetwochannels.
Page56
UsingtheNIPOODINDeveloper
SyntaxHighlighting
TheNIPOODINDeveloperallowsforscripthighlightinginthescripteditor.Youcandefinetheeditorfont
andtheforegroundandbackgroundcolorsfor:
Text
Textselection
Number
Comment(remarks)
Keywords(NIPOODINcommands)
Routingcommands
Variabledeclarations
SelectODIN>Fonts...fromthemenutoconfiguresyntaxhighlighting.
Note:
Syntaxhighlightingdoesnotworkinbidirectional(Hebrew,Arabic)mode.
ApplicationConfigurationOptions
SelectSettings>Optionsfromthemenutochangetheapplicationconfigurationoptions.Theseare
describedinthissection.
ODINOptions
Thisdialogsetsvariousoptionsforthepopupmenuactiontoinserttemplatequestions.
NIPOODINDeveloperODINoptions
Page57
UsingtheNIPOODINDeveloper
Lengthmultipleanswer
Setsthedefaultlengthinsertedformultiplecodedquestions.
Lengthopenended
Setsthedefaultlengthinsertedopenendedquestions.
Makeopenalwaysmulti
Adds*MULTItothe*OPENquestiontemplate.
InterviewSystemOptions
TheconfigurationoptionsintheInterviewSystemsectionconfiguretheapplicationfilelocationsforthe
NIPOCATI,NIPOCAPIandNIPOCAPIpreviewsandvariouspreviewrelatedmatters.
NIPOODINDeveloperInterviewSystemOptions
InterviewSystemOptions
Runinterviewsystemsintestmode
Whenintestmode,noresultdataisstoredforatestinterview.Otherwise,UfileandOfiledataiscreated
fromapreview.
Displaystratificationdialog
Forevery*STRATcommandinthequestionnaire,thepreviewasksifitshouldfollowtheroutingfor
'stratificationreached'.Notethatnostratificationfileorsampleistestedforthisoption.
Unicodedata
Whennotintestmode,thisoptionstorestheUfileandOfilerecordsinUnicode.
Page58
UsingtheNIPOODINDeveloper
CATI
CATIClient
SetsthelocationoftheNIPOCATIClientapplication,whichisrequiredfortheNIPOCATIpreview.By
defaultitcanbefoundintheNIPOODINDeveloperapplicationdirectory.SelectODQES.EXEforthenon
UnicodeversionorODQESU.EXEfortheUnicodeversion.
Adjustablescreensize
AllowstheNIPOCATIClientwindowtoberesized.Bydefaultthewindowismaximizedandappearsontop
ofallotherapplications.
Singleshot
Ifset,automaticallyendsthepreviewattheendofthequestionnaire.Otherwise,itrestarts.
CAWI
OdDemonlocation
SetsthelocationoftheNIPOODINDemon,whichisrequiredtostarttheNIPOCAWIpreview.Bydefaultit
canbefoundintheNIPOODINDeveloperapplicationdirectory.ThefiletoselectiscalledOddemon.exe.
ShowquestionID's
Ifselected,displaysthequestionnumberanddefinition.
CAPI
CAPIClient
SetsthelocationoftheNIPOCAPIClientapplication,whichisrequiredfortheNIPOCAPIpreview.By
defaultitcanbefoundinasubdirectoryCAPI Preview intheNIPOODINDeveloperapplication
directory.ThefiletoselectiscalledCAPIPreview.exe.
Inaddition,clicktheConfigurebuttontoconfigureoptionsfortheNIPOCAPIPreview.SeetheNIPOCAPI
ClientUser'sGuideforinformationontheconfigurationoptions.
CodingSystemOptions
TheCodingSystemoptionsareobsoleteinthisversionoftheNIPOODINDeveloper.
CheckOptions
TheCheckoptionsconfigurevariousoptionswithregardtoasyntaxcheckofthequestionnaire.
Page59
UsingtheNIPOODINDeveloper
NIPOODINDeveloperCheckOptions
SuppressWarnings
Syntaxcheckwarningsareissueswithinthescriptthatmayleadtounwantedscriptbehavioranddata
storage,butdonotpreventexecutionofthequestionnaire.Youcanselectanyofthefollowingthree
settings:
Don'tsuppresswarnings
Allwarningsarelistedinthesyntaxchecklog.
Suppressallwarnings
Noneofthewarningsarelistedinthesyntaxchecklog.
Suppress
Selectwhichwarningtypesmustbesuppressed:
Page60
UsingtheNIPOODINDeveloper
Toomanypositionsforquestion.Thelengthdefinitionofa*CODESquestionreservesmorespacethan
requiredtostoretheanswercodes.Thismaysometimesbethecaseforanyquestionwhere*MULTI
wasaccidentallyomitted.
MAXpositionsforDiana.OnlyrelevantifNIPODianaisusedforreporting.Anyquestionnairethatuses
morethanNIPODiana'sdefaultlimit(8,000positions)generatesthiswarning.NotethatNIPODiana
maybeconfiguredtouseupto32,000positions.
Multipleuseofposition.Thereismorethanoneattempttostoredatainoneormorepositions.This
potentiallymayoverwritepreviouslystoredinformationwithinthesameinterview.Thiswarningis
ignoredforpositionsina*DUMMYquestion.
Jumptopreviousquestion.Usinga*GOTOtojumpbackinthequestionnairecanpotentiallyleadto
lossofdataandendlessloops.Itisrecommendedtouse*BACKifappropriate.
Codequestionwithoutcodes.Ifa*CODESquestiondoesnothaveanycodes,itisalwaysskipped.This
warningisignoredfor*CODESquestionsincombinationwith*DUMMY.
Missingquotes.A*PUTisusedtostoreatextinatextvariablewheretheopeningquotedoesnothave
amatchingclosingquote.
Maximumdataposition
Themaximumdatapositioncanbeusedtoimposedatasizelimitsforyourstatisticalanalysissoftware.
Exceedingthislimitgeneratesawarningduringasyntaxcheck.
Filterduplicateerrormessages
Preventsthesyntaxcheckfromlistingwarningsanderrorsmorethanonceforasinglecheck.Forexample,
incaseofmultipleuseofaposition,noteveryoccurrenceislisted.
Keeppreviousresults
Thesyntaxchecklogfileisnotcleareduponthenextsyntaxcheck;instead,anewwindowisopenedsothat
resultsmaybecompared.
Keepresultsafterclosingfile
Ifthequestionnairefileisclosed,thesyntaxchecklogfileisnotclosed.
DummyDataOptions
ThissectionconfigurestheODIN>GenerateDummyData...feature.Inparticular,itspecifieswhatchannel
isassumedtocreatedummydata.Youmayopttoselecttherequiredchannelifyourquestionnaire
containsanychannelawarerouting.
Page61
UsingtheNIPOODINDeveloper
NIPOODINDeveloperDummyDataOptions
PrintOptions
ThePrintoptionsallowyoutodefinesomesettingswhenprintingthecurrentlyopenedquestionnaire.
Notethatlonglinesareautomaticallywrapped.
Page62
UsingtheNIPOODINDeveloper
NIPOODINDeveloperPrintOptions
Printheaderandfooter
Printsheaderandfooterinformation:thequestionnairefilenameandapagenumber.
Printlinenumbers
Printslinenumbersinfrontofthecodelines,exceptwherelinesarewrapped.
AutosaveOptions
TheAutosaveoptionsmaketheNIPOODINDevelopersavebackupsofchangedquestionnairefiles
automaticallyatconfigurableintervals.
Page63
UsingtheNIPOODINDeveloper
NIPOODINDeveloperAutosaveoptions
SelectAutosavetoenableautosaving.Optionallychangethenumberofminutesbetweensaves.
Onceconfigured,Autosavesavesfilesattheconfiguredinterval.Ifafileisclosedinaregularfashion,its
relatedbackupfileisdeleted.IfexecutionoftheNIPOODINDeveloperterminatesunexpectedly,for
exampleduetoasystemcrashorapowerfailure,thebackupfilescanbefoundinthefolderwherethe
originalissaved.AutobackupscontaintheextensionOBK.Openinganyfileforwhichabackupisavailable
alsoopensthebackupfile.
FilesOptions
ThebehavioroftheFile>OpenandFile>SavedialogscanbeconfiguredintheFilesoptions.
Page64
UsingtheNIPOODINDeveloper
NIPOODINDeveloperFilesOptions
Filetypes
ThissectionallowsyoutoconfigurethefiletypesfilteredbytheNIPOODINsavingandloadingdialog
boxes.
ClickAddtypetocreateanewtype.Youareaskedtospecifythenameofthetypeasitappearsinthedrop
downboxinthefiledialogs.Notethatitisgoodcustomtoincludethefilefiltersinroundbrackets.Click
Removetypetoremoveunwantedtypes.Inaddition,selectatypeandclickUporDowntochangeits
orderinthelist.
Foreverytype,clickAddfiltertoaddafilefilter.Morethanonefilefilterpertypemaybespecified.Select
afilterandclickRemovefiltertodeleteitagain.
Rememberlastusedfilefilter
AutomaticallyselectsthelastusedfilefilterwhenreopeningaOpenorSavedialog.
SavefilesasUnicode
AutomaticallysetsthefileencodingtoUnicodeforfilesaves.
AdditionalConfigurationOptions
InadditiontoapplicationconfigurationintheNIPOODINDeveloper,youmaysometimesrequire
configurationatadeeperlevel.Beforemakingthechangesdiscussedinthissection,makesuretoclosethe
NIPOODINDeveloper.
BelowareanumberofsettingsthatmaybeconfiguredintheNIPOSYS.INIconfigurationfileinthe
applicationdirectory.
Page65
UsingtheNIPOODINDeveloper
Note:
Foranyofthelogfileconfigurationslistedbelow,makesurethedirectoryexistsandthatyouhave
read/writepermissionforthatdirectory.
SettingsintheNIPOSYS.INIconfigurationfile
Section
Setting
Description
Example
Odin Developer
JRE
LocationofJavaVirtual
Machine,requiredforNIPO
CAWIpreview
JRE=C:\Program Files\Java\
jre1.4.2_04\bin\client\jvm.dll
Odin Developer
LogDirectory
DirectorytosaveNIPOODIN
Developerlogfiles
C:\Temp\Log\NIPOODINDeveloper
Odin Developer
LogLevel
LogleveldetailforNIPO
ODINDeveloper,ranging
from0(nologging)to4
(maximum).
Odin Developer
LogNumFiles
MaximumnumberofNIPO
ODINDeveloperlogfilesto
store.Thelatestalways
containsextension001.
Odin Developer
BiDi
0
Enablebidirectional
languages(Hebrew,Arabic)
anddisplaytextRTL(rightto
left)intheNIPOODIN
Developereditor.Notethat
thisdisabledcolor
highlighting.
Odin Developer
ReadWriteDirectory
Temporarydirectoryforfile
manipulation
ODQes
LogDirectory
Directorytosavelogfilesofa C:\Temp\Log\NIPOCATIClient
NIPOCATIClientpreview
ODQes
LogLevel
LogleveldetailforNIPOCATI 5
Client
ODQes
LogNumfiles
MaximumnumberofNIPO
CATIClientlogfilestostore.
Thenewestalwayscontains
extension001.
C:\Temp\ReadWrite
10
LoggingforthepreviewinNIPOCAWIissetseparatelyintheregistryofyoursystem.Thefollowingstring
settingsmaybeaddedtotheHKEY_LOCAL_MACHINE\SOFTWARE\NIPO\OdinDemonkey:
SettingsintheNIPOODINDemonregistry
Setting
Description
Defaultvalue/Example
OdDemonLogDirectory
DirectorytosaveNIPOODINDemon
logfiles
C:\Temp\Log\OdDemon
OdDemonLogLevel
LogleveldetailforNIPOODINDemon, 4
rangingfrom0(nologgingto4
(maximum).
OdDemonLogNumFiles
Numberoflogfilestobecreated
beforeoldestlogfileisoverwritten.
Page66
UsingtheNIPOODINScriptLanguage
NamingConventions
Namesofvariables,subroutinesandlistshavetobeuniqueandmayconsistofamaximumof12
characters.Onlyletters,underscoresandnumbersareallowed.Thefirstcharactermustbealetter.
Questions
Questionnumbersaremadeupofpositivenumbers(>=1).Noalphabetic(exceptX,seebelow)orother
charactersareallowed.Eachquestionnumberhastobeuniquewithinone(sub)questionnaire.Question
numberscanbeusedindifferently.TheNIPOODINDeveloperallowsyoutorenumberthequestionnaire,
butthisisnotdeemednecessary.InsteadofnumbersyoucanalsousethecharacterXoneachquestion.In
thiscasethequestionnumbersarenotdefinedandroutinghastobedoneafterwards.Whenyou
renumberthequestions,questionnumberswillbeinserted.
Thehighestquestionnumberis2147483647.
The*QUESTIONcommandmaybeabbreviatedto*Q.
Examplequestiondefinitions
Validquestiondefinitions
Invalidquestiondefinitions
*QUESTION 1
*QUESTION 0
*QUESTION 2
*QUESTION 2
*Q 3
*QUEST 3
*QUESTION 2501
*QUESTION 25a
*QUESTION 109
*QUESTION 10.9
*QUESTION 11001
*QUESTION 11.001
*QUESTION 102
*QUESTION 1-2
*QUESTION 2147473647
*QUESTION 2234567890
*QUESTION 1234567890
DataFields
IntheNIPOODINScriptingLanguageitisnotnecessarytodefinethestartingpositionofadatafieldwhen
youdefineaquestion.Onlythelengthofthedatafieldisrequired.NIPOODINkeepstrackofallthe
positionsusedinthequestionnaire.IntheNIPOODINDeveloper,youcanautomaticallyinsertthestarting
positionsusingtheFixPositionscommand.Omittingstartingpositionsisnotallowedforquestionsthat
refertodatafieldsintheTfileorsampletable.Thesestartingpositionsalwayshavetobedefined.
Inaclosed,butnotmultiplequestionthenumberofdigitsofthehighestcodenumberdefinesthe
minimumlengthofthedatafield.Inaclosed,multiplequestionthehighestcodenumber(ratherthan
numberofcodes)definestheminimumlengthofthedatafield.
Innumericquestionstheminimumandmaximumlengthdependontheanswerthatyouexpect.The
maximumsizeisapproximately16positions,includingdecimalsandafloatingpoint.
Thehighestpositionforadatafieldis99.999.Makesureyouranalysisprogramcanhandlethedatasize.
Page67
UsingtheNIPOODINScriptLanguage
AnswerCodes
Answercodesarerecognizedbyanumberfollowedbyacolon.Thisnumberhastobethefirstnonblank
characteratthebeginningofaline.Codenumberscanbeusedindifferently.Codenumbershavetobe
uniquewithinaquestion.Ifthecodetextdoesnotfitonaline,itisallowedtocontinueonthenextline.All
thefollowinglineswillbeconsideredaspartofthecodeuntilthefirstblankline.
Answercodenumbersmayrangefrom0to2147483647forsinglecodedquestionsandfrom1tothe
remainingpositionsavailableintheUfileformultiplecoded(*MULTI)questions.
*HEADINGtextsmaybeprovidedtogroupsectionsofcodes,butheadingsarenotconsideredpartofthe
answerlabels.
Example
*QUESTION 1 *CODES L2
This is the question text.
Long lines in question and code texts will automatically be truncated at complete words if
the line exceeds the screen width.
Question text and codes may contain empty lines. Empty lines between codes are removed if
*AUTO command is used AND the text is too long to fit on the screen.
1: This is category one
2: This is category two
5: This is category
five
7: This is category seven
running over three
lines
This line will be considered as text
11: This is category eleven
*END
Variables
Youcanstoreatextoravalueinavariabletodisplayinaquestionortouseforrouting.Variableshaveto
bedefinedwith*VARSor*TEXTVARSbeforetheymaybeused.Variablenamesarenotcasesensitive.
Avariablecanbefilledwiththe*PUTorthe*SAVEcommand.Itscontentscanbedisplayedwiththe*?
command.Notethatthecontentsofthevariabledependsonthetypeofvariable.
Anumericvariable(*VARS)maycontainanyvalue.Usethe*FORMATcommandtochangetheonscreen
appearanceofnumericvalues.Whentextoratextvariableissavedinanumericvariable,theNIPOODIN
syntaxcheckwillgiveawarningmessage.
*TEXTVARSdefinesatextvariableandmaycontainatextofunlimitedlength.ThetextmaycontainCR/LF
whichwillbeusedwhendisplayingthevariable.VariablesmaynotcontainNIPOODINcommands,except
for*FONT.
Note:
Thecontentsofvariablesisnotstoredinthedatafileautomatically.Somakesurethatifyoubase
questionsorroutingonavariable,youstorethisinformation.
Page68
UsingtheNIPOODINScriptLanguage
Example1
*TEXTVARS Gender
*QUESTION 1 *CODES L1 *SAVE Gender
Interviewer: Mark gender:
1: Male
2: Female
Ifcode1isselectedthetextvariableGenderwillcontainthetextMale.Ifcode2isselected,thevariable
Genderwillcontainthetext'Female'.
Example2
*VARS Gender
*QUESTION 1 *CODES L1 *SAVE Gender
Int. type gender of respondent
1: Male
2: Female
Ifcode1isselected,thenumericvariableGenderwillcontainthevalue1.Ifcode2isselected,the
variableGenderwillcontainthevalue2.
Example3
*TEXTVARS Gender
*IF [ Q1,1 ] *PUT Gender "man" *ELSE *PUT Gender "woman"
Ifquestion1containscode1,thevariableGenderwillcontainthetext'man',elsethevariableGender
willcontainthetext'woman'.
Example4
*VARS Gender
*IF [ Q1,1 ] *PUT Gender "man" *ELSE *PUT Gender "woman"
Thesyntaxcheckgivesawarningmessage,becauseatextiswritteninanumericvariable.Afterthefilteris
checked,thecontentsofthevariablewillbe1(regardlessoftheoutcomeofthefilter).
Example5
*VARS Age
*QUESTION 2 *NUMBER L2 *SAVE Age
What is your age?
Afterquestion2isanswered,thevariableAgewillcontainthevaluethatenteredatQ2.
Example6
*TEXTVARS Age
*QUESTION 2 *CODES L1 *SAVE Age
What is your age?
1: 18 - 24 years
2: 25 - 34 years
3: 35 - 44 years
4: 45 - 54 years
5: 55 - 64 years
6: 65 years or older
9: won't tell
Afterquestion2isanswered,thevariableAgewillcontainthecodetextofthecodethatwasselected.
Example7
*VARS Age
*QUESTION 2 *CODES L1 *SAVE Age
What is your age?
Page69
UsingtheNIPOODINScriptLanguage
1:
2:
3:
4:
5:
6:
18-24 years
25-34 years
35-44 years
45-54 years
55-64 years
65 years or older
9: won't tell
Afterquestion2isanswered,thevariableAgewillcontainthecodenumberofthecodethatwasselected.
Example8
*VARS Age,CurrentYear
*QUESTION 21 *NUMBER L4 *DUMMY
*DATE Q21
*PUT CurrentYear [ Q21 ]
*QUESTION 22 *NUMBER L4 *MIN 1900 *MAX [CurrentYear] *BUT 99 "Refusal"
In what year are you born?
*IF [ Q3<>99 ] *PUT Age [ CurrentYear Q22 ] *ELSE *PUT Age [99]
*FORMAT 2.0
*QUESTION 23 *IF [ Age <> 99 ]
So your age is *?Age years.
Thisexampleobviouslyisonlytruewhentherespondentalreadyhadhis/herbirthday.
Example9
*VARS SelectBrand
*TEXTVARS Brand
*QUESTION 31 *CODES L1 *DUMMY
Here 3 brands are specified. The system will select 1 brand randomly.
1: Brand A
2: Brand B
3: Brand C
** Select a number below 3 and then add 1 to the result
** (this will randomly select 1 through 3)
*PUT SelectBrand [ (RAN 3) + 1 ]
** Now put the category text of the dummy question in
** the text variable Brand
*IF [ SelectBrand = 1 ] *PUT Brand Q31,1
*IF [ SelectBrand = 2 ] *PUT Brand Q31,2
*IF [ SelectBrand = 3 ] *PUT Brand Q31,3
** Now save the contents of SelectBrand in the datafile.
** If you forget to do this, you will not be able to know,
** which brand was selected in the analysis.
*COPY Q31 [ SelectBrand ]
SystemVariables
Inadditiontocustomdefinedvariables,NIPOODINrecognizesanumberofsystemvariablesforvarious
purposes.Unlessmentioned,thesesystemvariablesdonotneedtobedefinedusing*VARS.
ChannelAwareScripting
ChannelAwareScriptingallowsyoutobaseyourquestionnaireroutingdependentonthechannel(NIPO
CATI,NIPOCAPIandNIPOCAWI)thescriptrunson.ThereareseveraladvantagestoChannelAware
Scripting:
Page70
UsingtheNIPOODINScriptLanguage
Createmultiplatformscriptswhilemaintainingaconsistentdataoutput.
Dramaticallyreducethetimetodevelopscriptsfordifferentchannels.
NIPOODINcontainsanumberofbuiltinreadonlyvariablesthatarechangedatruntimetoreflectthe
platformthequestionnaireisbeingrunon.Thisallowsyoutocustomizethequestionnairetothemedium
bychangingtherouting,showing,hidingorchangingquestions,codesandquestioninstructions,simplyby
checkingthevaluesofthesevariables.
ChannelAwareScriptingVariablesandConstants
The_CHANNELvariablecontainsanumericvaluethatrepresentsthechannel(NIPOCATI,NIPOCAWI,
NIPOCAPIorNIPOCASI)wherethequestionnaireiscurrentlyexecuted.Thevalueofthisvariableis
automaticallysetbythesystemandcannotbechanged.Youcancheckforthevaluecorrespondingwiththe
channel,butyoucanalsorefertoachannelbyusingthecorrespondingconstant.Seethetablebelow.
Valuesfor_CHANNEL
Value
Constant
NIPOCATIStandAlone
Value
0
NIPOCATI
_CATI_
NIPOCAWI
_CAWI_
NIPOCAPI
_CAPI_
NIPOCASI
_CASI_
Inaddition,foreachchannelthereisavariablethatissetto1(true)ifthatchannelisusedorto0(false)
otherwise:
Channelvariables
_ISCATIis1ifthescriptisruninNIPOCATI.
_ISCAWIis1ifthescriptisruninNIPOCAWI.
_ISCAPIis1ifthescriptisruninNIPOCAPI.
_ISCASIis1ifthescriptisruninNIPOCASI.
ChannelAwareScriptingExample
ExampleIntroductionforChannelAwareScripting
*SAMPLEDATA TTAppointmentName
*INTRO _CATI_
This is the introduction for NIPO CATI Clients only.
*?AGENTNAME, please call the telephone number that is displayed on top of this screen.
*INTRO _CAWI_
Introduction for CAWI (Web) Clients only
*?TTDisplayField1, please press the <Start> button to start the interview.
Page71
UsingtheNIPOODINScriptLanguage
ExampleroutingforChannelAwareScripting
*QUESTION 1 *CODES 61L1 *IF [ _ISCATI ]
This question will appear only on a NIPO CATI Client
1: OK
*QUESTION 2 *CODES 62L1 *IF [ _ISCAWI ]
This question will appear only on a Web Client
1: OK
*QUESTION 3 *CODES 63L1 *IF [ _ISCAPI ]
This question will appear only on a NIPO CAPI Client
1: OK
*QUESTION 4 *CODES 64L1 *IF [ _ISCASI ]
This question will appear only on a Stand-alone Client
1: OK
*QUESTION 5 *CODES 65L1 *IF [ _CHANNEL = _CATI_ \ _CHANNEL = _CAPI_ ]
This question will appear only on Web or CAPI Clients
1: OK
ConsequencesofChannelAwareScriptingandSwitchModeSurveys
Typicallyaninterviewisruninasinglechannelonly.However,sinceNIPOFieldworkSystemsupports
switchingfromNIPOCATItoNIPOCAWI,asingleinterviewmaybecompletedusingtwochannels.This
meansthatthefilteringinasingleinterviewmayhavebeensubjecttotwodifferentroutings,onebasedon
NIPOCATIandonebasedonNIPOCAWI.Asaconsequence,youmayseeunexpectedresults:inasingle
interviewitispossibleforarespondenttohaveansweredbothCATIonlyandCAWIonlyquestions.
Theexceptiontothisarequestionsandscriptinthe*INITblock.The*INITblockisalwaysexecuted
whenaquestionnaireisstartedorresumed.Thismeansthatanycollecteddatainan*INITblockisalways
subjecttothechannelthatthequestionnairewascompletedin.The*INITblockcanalsobeusedto
initializevariablesaccordingtochannel,ifrequired.
RepeatNumber
Theoperator?Rcontainsthecurrentvalueofa*REPEATloop,anumberbetweenandincluding1andn
wherenisthevaluespecifiedatthe*REPEATstatement.Notethatthisisnottheiterationnumberfor
example,inthethirdexecutionintheloopthevalueof?Risnotnecessarily3.Thisisespeciallytruefor
randomized,controlled,rotatedorinvertedloops.
Innestedblocks,theoperator?Rreturnsthevalueoftheloopwhereisnestedin.Toaccessvaluesfrom
loopsaboveorbelowthecurrent,youshoulduseaquestionoranumericalvariabletopassthevalue.The
operatordoesnotexistoutsidethescopeofa*REPEATblock.
?Risasystemvariableandcannotbechanged(forexamplebyusing*SAVEor*PUT)norcanitbe
displayeddirectlyinquestiontextusingthe*?command.Copythevaluetoavariableanothervariableto
accessit(e.g.*PUT Temp [?R]).
Page72
UsingtheNIPOODINScriptLanguage
Exampleusingtherepeatnumber
*TEXTVARS paper
*QUESTION 2 *CODES 61L7 *MULTI
Which of the following newspapers do you know?
1:
2:
3:
4:
5:
6:
7:
La Repubblica
La Stanza
The Mirror
The New York Times
Le Figaro
La Libration
None *NMUL
Daily
Once a week
Once a month
Dont know
*ENDREP
Innestedblocksyouhavetotransfertherepeatnumber?Roftheouterblocktoanumericvariablefirstto
beabletouseitintheinnerblock.
Examplestoringtherepeatvalue
*VARS X,Y,Z
*REPEAT 3
*PUT X [?R]
*REPEAT 2
*PUT Y [?R]
** this line is only necessary to display the value of ?R
*PUT Z [X+?R] ** or *PUT Z [X+Y]
*QUESTION 1
*?X + *?Y = *?Z
*ENDREP
*ENDREP
SystemVariables09
TensystemvariablescanbeusedinNIPOODINnextto,andinthesamewayas,userdefinesvariables.
Thesesystemvariablesarenumbered(09)anddonothavetobedefinedbeforetheyareused.Theymay
containeithernumericoralphanumericvalues.
Exampleusingasystemvariable
*PUT 7 "chicken"
*QUESTION 1
Do you often eat *? 7 ?
Inthisexample,theword"chicken"isstoredinsystemvariable7andisdisplayedinquestion1.
Note:
Whereasallvariablevaluesareresetatthestartofanewinterview,systemvariable0retainsits
valueacrossinterviews.
Page73
UsingtheNIPOODINScriptLanguage
Timers
TimerscanbeusedbymeansofthesystemarrayvariableSTOPWATCH[n],wherenisthestopwatch(13)
touse.Stopwatchescanbeusedtotimethedurationofeventswithinthescript.Eachofthesethree
stopwatchesmeasuresadifferenttimeevent,describedinthissection.
Stopwatch[1]
Stopwatch[1]receivesthetimeinsecondsbetweendisplayingaclosed,numericoralphanumeric
questionandpressingacodeorenteringavalue.Thistimerisresetwitheverynewquestion.
Note:
ThistimerisavailableforNIPOCATIonly.
Stopwatch[2]
Stopwatch[2]storesthetimebetweendisplayingthequestionandpressingthe[OK]button.This
timerisresetforeveryquestion.
Note:
ThistimerisavailableforNIPOCATIonly.
Stopwatch[3]
Stopwatch[3]canbeusedasatimerthatyouhavetoresetyourselfsettingthevalueto0.Thistimer
startsassoonastheinterviewisstartedoronceititreset.
TimersExample
Thescriptbelowusesall3timerstomeasurethetimeofselectingacode,pressingenterandmeasuringthe
lengthofa(sectionof)aninterview.
Page74
UsingtheNIPOODINScriptLanguage
TimersExample
*PUT Stopwatch[3] [0]
*QUESTION 1 *CODES L1
The time until you select a code will be stored in Stopwatch[1].
The time until you press [OK] will be stored in Stopwatch[2].
1: Yes
2: No
*PAGE
The time you took to select a code was *? Stopwatch[1] seconds
The you took to press [OK] was *? Stopwatch[2] seconds
*QUESTION 2 *CODES L1
This was the last question.
1: Continue
*PAGE
The total time to conduct this interview was *? Stopwatch[3] seconds
*END
ConjTxt[n]
ThearrayConjTxt[n]setsvariousvalueswithregardtoConjointMeasurementinNIPOCAWI.Seethe
sectiononConjointMeasurementfordetails.
ScriptCommandTemplate
ThevariableAgentNamecontaintheinterviewernameinNIPOCATIifinterviewernameswereregistered
intheNIPOFieldworkSystemdatabase.Unlikeregularvariables,thisvariablemaybedisplayedthe
introductionscreen.TheAgentNamevariableisnotsupportedinNIPOCAPIandhasnomeaninginNIPO
CAWI.
JavaScriptSupported
ThevariableJavaScriptSupportedcanbeusedtomakearuntimecheckifJavaScriptisinstalledand
enabledonthebrowser.ThisfeatureissupportedforNIPOCAWIonly.Notethatvariablemustbedefined
priortouse.Thecheckisexecutedatthefirstquestionofthequestionnaire(notincludingtheintroduction
screen)andcanthereforenotbeusedbeforethesecondquestion.
Example:
*VARS JavaScriptSupported
*TEXTVARS IsIsnt
*QUESTION 1
In this question NIPO ODIN checks for the availability of JavaScript.
*IF [JavaScriptSupported = 1 ] *PUT IsIsnt "is" *ELSE *PUT IsIsnt "is NOT"
*QUESTION 2
On this browser, JavaScript *?IsISnt supported.
Page75
UsingtheNIPOODINScriptLanguage
BrowserUserAgent
ThevariableBrowserUserAgentcanbeusedtoretrieveatextrepresentationoftheuseragentHTTP
header.ThisfeatureforNIPOCATIandNIPOCAPIonly.Priortouse,thisvariablemustbedefined.The
valueisretrievedatthefirstquestionofthequestionnaire(notincludingtheintroductionscreen)andcan
thereforenotbeusedbeforethesecondquestion.
Example
*TEXTVARS BrowserUserAgent
*QUESTION 1
In this question the HTTP Header data is retrieved.
*QUESTION 2
HTTP Header data for this browser: *? BrowserUserAgent
Language
The*Languagevariablecontainsthenameofadefinelanguagesectioncurrentlyinuse.Seethe
*Languagecommandformoredetails.
PreTel
PreTelisusedwithautodialingfacilitiesonly,thisvariablespecifiesaprefixforalltelephonenumbers
senttothedialer.Thedialermayusethisprefixforadministrativepurposes.Forexample,itcanbeusedto
linkthecalltoaprojecttoregistertelephonycostsforaproject.
Expressions
NIPOODINsupportstheuseofexpressionsinquestionnaires.Anexpressionmayindicateallsortsofdata
butwillalwaysresultinavalue.Expressionsareusedintwodifferentways:
Asaboolean;theresultoftheexpressioniseitherfalse(theexpressionhasasresultvalue0)ortrue
(theexpressionhasasresultthevalue1).
Tomakecalculationsormanipulationswithavalueasresult.
Somecommandswillrequireorallowforanexpressionasargument.Expressionshavetobeenclosedin
squarebrackets.
Expressionsareevaluatedfromlefttorightandoperatorsapplytotheoperandsimmediatelyleftandright.
NIPOODINexpressionsdonotfollowtheregularprecedencerules!Ifalefttorightevaluationisnot
appropriate,youcanuseparenthesistoevaluateanexpressionfirst.
Page76
UsingtheNIPOODINScriptLanguage
ExpressionOperators
Expressionoperators
Operator
Description
Use
Note
Questionreference
Qn
Referencetoquestionnoritscontents
Lengthoffield
nLm
Positionn,lengthm
Fieldtest
QxFn
Contentsoffield(cell)numbernwithin
formquestionx
codetest
Qx,n
1ifpresent,otherwise0
codestring
Qx,n-m
Codestring
minussign
-n
Negationofn
not
#Qx
1ifnoanswerinquestionx,otherwise
0
negation
#n
1ifvaluennottrue,
add
n+m
Sumofnandm
subtract
n-m
Differenceofnandm
multiply
n*m
Productofnandm
divide
n/m
Divisionofnandm
&
logicalAND
n&m
1ifbothnot0,otherwise0
logicalOR
n\m
0ifboth0,otherwise1
RAN
randomvalue
RAN n
Randomvaluefrom0uptoand
includingn1
equalto
n=m
Resultsin1iftrueor0iffalse
<
lessthan
n<m
Resultsin1iftrueor0iffalse
>
morethan
n>m
Resultsin1iftrueor0iffalse
<=
lessthanorequalto
n<=m
Resultsin1iftrueor0iffalse
>=
morethanorequalto
n>=m
Resultsin1iftrueor0iffalse
<>
notequalto
n<>m
Resultsin1iftrueor0iffalse
?R
repetitionnumber
?R
current(logical)repetitionnumber
?A
listreferenceinconjointmeasurement
?A
featureofAlist
?B
listreferenceinconjointmeasurement
?B
featureofBlist
?Y
Heightofapictureormovie
?Y
heightinpixels
TO
Range
n1 TO n2
Rangen1throughn2
separateranges
n1 TO n2 ; n3 TO n4
Rangen1throughn2orn3throughn4
QxM
orderofmentionsina*MULTIquestion
QxM
QxR
displayorderofaquestion,whenusing
*RAN,*INVor*ROT
QxR
QxMy
orderofmentioningnumberyina*MULTI
question
QxMy
QxRy
displayorderUsedincombinationwith
*ORDERnumberyofaquestion,whenusing
*RAN,*INVor*ROT
QxRy
otherwise0
Page77
UsingtheNIPOODINScriptLanguage
Questionreference
ThereferencetoaquestionbymeansofQnwherenrepresentsthequestionnumber.Forexample,Q10
referencesquestion10.Ifitconcernsacodetestthenmorecodevaluesmayoccur;thesewillbetreatedas
alogicalor.
Codestring
Anygivennumberofcodesseparatedbyoneormorecommasoracoderangeindicatedbyadash.Valid
codesconsistofthedigits0uptoandincluding9,orBforablankvalue.Forexample,Q2,Breturns1(true)
isQ2isblank,Q3,1-5returns1ifinQ3anyofthecodesintherange15aremarked,andQ4,2,4,8,12
returns1ifQ4containsanyofthecodes2,4,8,or12armarked.
Valuesnorm
Thevaluesnormmayrepresentanyofthefollowing:
Number
Expressionorvariable
Textenclosedindoublequoteswith,possibly,theembeddedcontentsofavariable
Positionreference
Thereferencetoapositioninthedatafile.Specifystartingpositionandfieldlengthtodistinguishposition
referencesfromnumbers.Itisrecommendedtousequestionreferencesinsteadofpositionreferences.
ExamplesofExpressions
Examplesofexpressionsarepresentedhere.Notethatexpressionsarealwaysspecifiedbetweensquare
brackets.Theexpressionsintheseexamplesmaybeeitherassignedtoavariableorappliedtoan*IFfilter.
ExpressionExamples
Expression
Resultsin
[ 100 ]
Thevalue100.
[ RAN 100 ]
Arandombetween0and99inclusive.
[ Total[3] ]
ThevaluestoredinthethirdelementofthenumberarrayTOTAL.
[ TOTAL2 * 3 + 10 ]
thevaluestoredinthevariableTOTAL2,multipliedby3andthenincreasedby10.
[ Q11,1 ]
1ifcode1wasmarkedinQ11,otherwise0.
[ Q12,1,2,3 ]
1ifanyofthecodes1,2or3weremarkedinQ12.
[ Q13 >= 18 ]
1ifthevalueinQ13isequaltoorlargerthan18.
[ Q11,1 \ Q12,1,2,3 ]
1ifcode1ismarkedinQ11orifcode1,2or3ismarkedinQ12.
1ifcode1,2or3ismarkedinQ12andQ13isequaltoorlargerthan18.
[ Q12 ]
ThevalueofQ12ifQ12isasinglecodedornumericalquestion;thehighestmarkedcodeif
Q12isamultiplecodedquestion.
[ Q13 = Q14 ]
1ifthe(highest)valueofQ13isequaltothe(highest)valueofQ14
1ifeitherQ5orQ6doesnotcontainavalueandQ7equals1.Thebracketsarerequiredto
lettheexpressionevaluateQ5andQ6first.
[ Q5 , 1 TO 3 ]
1ifanyofthecodes1,2or3aremarkedinQ5.
[ Q5 , 1 TO 3 ; 6 TO 8]
1ifanyofthecodes1,2,3,6,7,or8aremarkedinQ5.
Page78
UsingtheNIPOODINScriptLanguage
CommonMistakesinExpressions
Thissectiondescribescommonmistakesmadeinexpressions,whereasyntaxcheckdoesnotrejectthe
syntaxusedbutwhereamisunderstandingexistsonhowtheexpressionisevaluated.Theseexamplesfocus
offilteringconstructions.
Incorrectexpressionsandhowtocorrectthem
Incorrectexpression
Whatitwasintendedtodo
Whatitdoes
Correctexpression
CheckifQ20isbetweenthevalues
20and40.
Thisfirstschecksif20
issmallerthanQ2
(result0or1)thenif
theresultissmaller
thanQ40.
*IF [Q20,3\4\5]
CheckifQ20hascode3,4or5
marked.
*IF [ Q21=1,2,3 ]
CheckifQ21hascode1,2or3
marked.
ThischecksifQ21is
equaltothe
expression1,2,3.The
latterexpression
checksifposition1in
theUfilecontainsa2
ora3.
CheckifQ21hascode1,2or3
marked.
*IF [ #Q21 = 1 ]
CheckifQ21isnotequalto21
*IF [ Q21,1,2,3 ]
FormFieldReferences
Expressionsmayrefertofieldsina*FORMquestionusingtheFoperator.
Exampleof*FORMfieldreferences
*Q 10 *FORM *CONTROL Q5 W
At the garden centre, how many items did you buy of each?
1:
2:
3:
4:
Flowers:
Trees:
Rakes:
Shovels:
*NUMBER
*NUMBER
*NUMBER
*NUMBER
L2
L2
L2
L2
Flower price
Tree price
Rake price
Shovel price
*NUMBER
*NUMBER
*NUMBER
*NUMBER
L2.2
L2.2
L2.2
L2.2
*VARS items
*PUT items [Q10F1+Q10F3+Q10F5+Q10F7]
ThereferenceswithoperatorFdonotrefertothecodesusedinthe*FORMquestion,buttotheindexof
thefieldwhensearchingforfieldsfromthetoplefttothebottomrightofthescreeninrows.Inother
words,thefieldbehind"Flowers"isfield1,thefieldbehind"Flowerprice"isfield2,thefieldbehind"Trees"
isfield3andsoforth.
Page79
UsingtheNIPOODINScriptLanguage
Fieldnumbersdonotchangeeveniffieldsarehiddenusingthe*CONTROLcommand.Forexample,field6
remainsfieldlinkedwith"Rakeprice"regardlessofusing*CONTROL.
Areferencetoafieldthatdoesnotexistinthe*FORMquestionwillalwaysreceivetothevalueofthefirst
fieldinthequestion,regardlessofwhetherthatfieldwasshown.Forexample,Q10F10orQ10F15would
bothrefertoQ10F1.
Fieldscanalsobereferencedtocopyvaluesinto:
Copyingvaluesintofields
*COPY Q10F1 [50]
*COPY Q10F2 [1.25]
Fieldindexesmaybereferencedusingavariableoranexpression.Thefollowingisvalidsyntaxtoaddall
pricevalues:
Referencingfieldsusingtherepeatnumber
*VARS totalprice
*put totalprice [0]
*REPEAT 5
*put totalprice [totalprice+Q10F(2*?R)]
*ENDREP
However,variablesorexpressionsmaynotbeusedtostorevaluesintothefields.Thefollowingsyntaxis
invalid:
Invalidfieldreferencesyntax
*REPEAT 8
*COPY Q10F(?R) [0]
*ENDREP
Backslashes
Youmaysplituplinesoftextorcodeinseverallinesusingthebackslash(\)attheendofthepreceding
line.
Stratification(Quota)
Astratificationfile(Sfile)isusedtodividethesampleintoseveralquotagroupsinwhichalimitednumber
ofinterviewsmustberealized.Stratificationiscountedonthesurveysample,thereforeaTfileorSample
tablemustbeprovided.Eachcellmustbedefinedinoneseparaterecordwiththefollowingformat:
stratum field offset: characteristic (limit) description
Stratificationamountstostoringaproperty,whichischaracteristicforagroupofrespondents,inthe
stratumfieldoftheirtelephonerecords.Eachstratummusthaveauniquecharacteristic.Thecharacteristics
maybestoredintheSamplerecordsbeforetheinterviewprogramiscalled(stratificationoninput)ormay
bestoredbythesystemduringaninterview(stratificationonoutput).
Thecharacteristicmaybeformedbyacertainvalueortext.Characteristicscontainingblanksmustbe
enclosedinquotationmarks.Acharacteristicmayoccupy79positions.Thedescriptionofastratummay
consistofupto80characters.
Onceastratificationlimitisexceeded,thesamplerecordsinthatstratificationcellareblocked(response
code21),whichmeansnewinterviewscannottakeplaceinthatparticularstratificationcell.Whenusinga
Tfileblockedsamplerecordswillnolongerbedrawnfromthesample,notevenafterthestratificationlimit
hasbeenchangedafterwards.WhenusingaSampletableblockedSamplerecordswillnolongerbedrawn,
butwillbereleasedwhenastratificationlimithasbeenchangedbytheNIPOFieldworkSystemsupervisor.
Page80
UsingtheNIPOODINScriptLanguage
Whenstratificationcriteriaarenotknowninadvance(forinstance:ageandgender)youcannotcheckthe
stratumuntilafterstartingtheinterview,andquiringfortherequiredinformationfirst.SeetheNIPOODIN
commands,*ADDRESS,*MOVAand*STRAT.
ExampleofaSurveystratificationfile(Tfile)
286
286
286
286
287
287
288
288
288
288
287
287
287
287
287
287
287
287
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
ExampleofaSurveystratificationfile(Samplefile)
Region : "N"
(100) North
Region : "E"
(100) East
Region : "S"
(100) South
Region : "W"
(100) West
GenderAge : 1 (200) Males
GenderAge : 2 (200) Females
GenderAge+1: 1 (100) 18 - 34 years
GenderAge+1: 2 (100) 35 - 44 years
GenderAge+1: 3 (100) 45 - 54 years
GenderAge+1: 4 (100) 55 years or older
GenderAge: 11 (55) Males - 18 - 34 years
GenderAge: 12 (55) Males - 35 - 44 years
GenderAge: 13 (55) Males - 45 - 54 years
GenderAge: 14 (55) Males - 55 years or older
GenderAge: 21 (55) Females - 18 - 34 years
GenderAge: 22 (55) Females - 35 - 44 years
GenderAge: 23 (55) Females - 45 - 54 years
GenderAge: 24 (55) Females - 55 years or older
ThefirststratumcriterionisRegion.Theregioninthisexampleisstoredinposition286ofthesample
record(Tfile),orinthefieldRegionintheSampletable,where"N"standsforNorth,"E"standsforEast,
"S"standsforSouthand"W"standsforWest.Eachregionislimitedto100successfulinterviews.Notethat
theactualpositionsorcodingsthatareusedforyourstratificationdependsonyourTfileandmightdiffer
foreachsurvey.Likewise,whenusingaSampletablesyouccanchooseanappropriatenameforthefield.
Whenacriterioncontainsnonnumericcharactersand/orspaces,itmustbeembeddedindoublequotes.
ThesecondstratumcriterionisGender.FortheTfile,a1inposition287characterizesaMale,and2a
Female.It'slimitis200successfulinterviewseach.FortheSampletable,theGenderisstoredinthefirst
positionoftheGenderAgefield.
ThethirdcriterionisAgeGroup.FortheTfile,itischaracterizedbyvalue1inposition288forpeopleupto
34,value2forpeopleof35to44,value3forpeopleof45to54andvalue4forpeopleof55andolder.Itis
thesecondfieldintheGenderAgefieldintheSampletable,andisthereforereferencedby
GenderAge+1.
Page81
UsingtheNIPOODINScriptLanguage
Finallythereisthecombinedstratumcriterionforgenderandage.InaTfile,thisisstoredinconsecutive
positions287288.FortheSampletable,thesecombinationsarestoredinasinglefield(GenderAge)since
fieldscannotbecombinedintheNIPOFieldworkSystem.EachofthesixcombinationsofGenderandAge
Grouphasatargetof55successfulinterviews.Notethatinthecombinationofageandgenderthetargets
donotaddupto100peragecategory.Thismeansthatwedonotneedexactly50malesof1834and50
femalesof1834,butacceptthattherecanbe55malesof1834andonly45femalesof1834.Thequota
for200femaleswillforcethatthese'missing'femalesarecompensatedinanotheragecategory.
Note:
InastratificationfilefortheNIPOFieldworkSystemnoemptylinesortrailingreturnsareallowed.In
theNIPOCAPISystememptylines,linescontainingtextonlyandtrailingreturnsareallowed.
WhenusingTfiles,makesurethetelephonefilerecordlengthiswideenoughwhenaddressinghigh
positions(>286fortheNIPOFieldworkSystem,>776fortheNIPOCAPISystem).Itisnot
recommendedtousepositionsusedbythesystem.
AutomaticSyntaxChangeWhenReferencingPositionsinTfiles
WhenusingpositionsinsteadofSampletablefieldsinanSfile,asinglerunontheNIPOFieldworkSystem
changesthepositionreferencesintofieldreferences.ThishappensbecausethesysteminterpretsaTfileas
aSampletableinternallyallpositionswithinaTfilefallwithinacorrespondingdatabasefield.
ExampleofastratificationfilereferencingpositionsinaTfile
286: 1 (6) Males
286: 2 (6) Females
Position286andbeyondcorrespondwiththefieldTTExtraDatainthesampletable.Thereferencesare
changedaccordingly.
ResultafterastartintheNIPOFieldworkSystem
TTExtraData:1 (
TTExtraData:2 (
6) Males
6) Females
Notethatstratificationcriteriamaynotoverlapdatabasefields;datamaycrosstwofieldsifpositionsare
referencedontheborderoftwofields.
ExampleofstratificationthatoverlapsSampletablefields
5: 11 (6) region 1 - Males
285: 12 (6) region 1 - Females
Position285isthelastpositionofDisplayField4andposition286isthefirstpositionofExtraData.
Asaresult,criteriaareonlycheckedagainstthefirstcharacterofthestratum.
Page82
UsingtheNIPOODINScriptLanguage
Example2ofstratificationfilereferencingpositionsinaTfile
246: 1 (6) Males
246: 2 (6) Females
247 : 1 (2) 16 - 24
247 : 2 (2) 25 - 34
247 : 3 (2) 35 - 44
247 : 4 (2) 45 - 54
247 : 5 (2) 55 - 64
247 : 6 (2) 65+
246 : 11 (1) Male 246 : 12 (1) Male 246 : 13 (1) Male 246 : 14 (1) Male 246 : 15 (1) Male 246 : 16 (1) Male 246 : 21 (1) Female
246 : 22 (1) Female
246 : 23 (1) Female
246 : 24 (1) Female
246 : 25 (1) Female
246 : 26 (1) Female
250 : 1 (12) Total
16 - 24
25 - 34
35 - 44
45 - 54
55 - 64
65+
- 16 - 24
- 25 - 34
- 35 - 44
- 45 - 54
- 55 - 64
- 65+
ResultafterastartintheNIPOFieldworkSystem
TTDisplayField3+30:1 (
6) Males
TTDisplayField3+30:2 (
6) Females
TTDisplayField3+31:1 (
2) 16 - 24
TTDisplayField3+31:2 (
2) 25 34
TTDisplayField3+31:3 (
2) 35 - 44
TTDisplayField3+31:4 (
2) 45 - 54
TTDisplayField3+31:5 (
2) 55 - 64
TTDisplayField3+31:6 (
2) 65+
TTDisplayField3+30:11 (
1) Male TTDisplayField3+30:12 (
1) Male TTDisplayField3+30:13 (
1) Male TTDisplayField3+30:14 (
1) Male TTDisplayField3+30:15 (
1) Male TTDisplayField3+30:16 (
1) Male TTDisplayField3+30:21 (
1) Female
TTDisplayField3+30:22 (
1) Female
TTDisplayField3+30:23 (
1) Female
TTDisplayField3+30:24 (
1) Female
TTDisplayField3+30:25 (
1) Female
TTDisplayField3+30:26 (
1) Female
TTDisplayField3+34:1 ( 12) Total
16 - 24
25 - 34
35 - 44
45 - 54
55 - 64
65+
- 16 - 24
- 25 - 34
- 35 - 44
- 45 - 54
- 55 - 64
- 65+
Stratificationfile(Sfile)whenusingSampletable
IncaseaSampletableisusedinsteadofaTfile,thestratificationcanrefertothetable'sfieldnames.
ExampleofaSurveystratificationfilewhenusingSampletable
Region : 1
(100) North
Region : 2
(100) East
Region : 3
(100) South
Region : 4
(100) West
Gender : 1
(200) Males
Gender : 2
(200) Females
Age : 1 (100) 18 - 34 years
Age : 2 (100) 35 - 44 years
Age : 3 (100) 45 - 54 years
Age : 4 (100) 55 years or older
GenderAge : 11 (055) Males - 18 - 34 years
GenderAge : 12 (055) Males - 35 - 44 years
GenderAge : 13 (055) Males - 45 - 54 years
GenderAge : 14 (055) Males - 55 years or older
GenderAge : 21 (055) Females - 18 - 34 years
GenderAge : 22 (055) Females - 35 - 44 years
GenderAge : 23 (055) Females - 45 - 54 years
GenderAge : 24 (055) Females - 55 years or older
Page83
UsingtheNIPOODINScriptLanguage
Explanation
Foreachregionmaximum100interviewsshouldbedone.
200malesand200femalesshouldbeinterviewed.
Foreachagecategoryweneed100interviews.
Inthecombinationofageandgenderthetargetsdonotaddupto100.Thismeansthatwedonotneed
exactly50malesof1834and50femalesof1834,butacceptthattherecanbe55malesof1834and
only45femalesof1834.Thequotafor200femaleswillforcethatthesefemalesarecompensatedin
anotheragecategory.
Note:
Combinationsoffieldshavetobecreatedbycombiningthestringsinanewfield.Itisnot(yet)
possibletocreateexpressions.
Stratificationfiles(Sfiles)forOmnibusSurveys(UsingTfiles)
IncaseofanOmnibussurvey,youcanmakeaseparatestratificationfileforeachsubsurvey.Themain
survey(thefirstNIPOODINquestionnaireinthesurvey)doesnotdifferfromaregularstratification.For
subsurveys,however,12positionspersubsurveyarereservedperTfilerecordtostorestratificationdata.
TheTfilefieldreservedforthestratificationofaparticularrespondentmaylookliketheexamplebelow.
Eachfieldforthestratificationisprecededbythesurveyname.TheNIPOCATI/WebMasterusesthis
nametodeterminethequotatargetspersubsurvey.Thisexamplewastakenfromarecordinthe
telephonefile,startingatposition251.
A1001
11
A1002
112
A1003
12
Thefirstsevenpositionscontainthenameofthesubsurvey.The1inthenextpositionmeansthatthe
respondentansweredthesubsurveysuccessfully.Ifanotherstratificationcriterionisdefinedonthis
position,thesubsurveyisnolongerpresentedtotheinterviewerifthestratificationcellisfull.The
remaining11positionsmaybeusedforstratificationinformation.
StratificationfilesforallsubsurveysrefertotherelativepositionintheTfilerecord.Position1containsthe
valueoneifthesubsurveywascompleted.Positions212mayhavebeenpresetintheTfile,ormaybe
filledbytheNIPOODINquestionnaire.
ExampleofaStratificationfileforOmnibussurveys
1:
1:
2:
2:
2:
2:
2:
AstartattheNIPOCATI/WebMasterrewritesthestratificationfileasthis:
ResultafterastartintheNIPOFieldworkSystem
STSuccess:
STSuccess:
STData: 01
STData: 02
STData: 03
STData: 19
STData: 20
1
2
(
(
(
(
(
BelowisanexampleofaNIPOODINsubsurveyusingthestratificationfile.
Page84
UsingtheNIPOODINScriptLanguage
ExampleofaNIPOODINquestionnaireforOmnibussurveys
*QUESTION 201 *CODES 71L1
Do you have a PC at home?
1: Yes
2: No
** If no PC: set relative position 1 to value 2
** (this way the non-owners will not be counted as successful)
** *ABORT cuts to the next sub-survey
*IF [Q201,2] *MOVA 1L1 Q201 *ABORT
*QUESTION 202 *CODES 72L2 *IF [Q201,1]
What is the brand of your PC?
1: Philips
2: Sony
3: Compaq
19: Other *OPEN
20: Don't know
** Copy Q202 into relative position 2L2
*MOVA 2L1 Q202
** Check if stratification is already filled for this PC-brand
*STRAT 98
** The rest of the questionnaire goes here. Note that a sub-survey should not
** end with *END or any *ENDST value.
Omnibussurvey,usingSampletablesandOmnibustables
WhenusingaSampletableratherthanatelephonefileforanomnibussurvey,asubsampletablemustbe
createdforeverysubsurveyinthequestionnaire.ThesetupisbasicallythesameaswhenworkingwithT
files,withsomedifferences:
TheNIPOCATI/WebMasteraddsanewrecordintheOmnibussubsampletableforeachsub
questionnairewithastratificationfile.Thisrecordcontainsthefollowinginformation:
Page85
UsingtheNIPOODINScriptLanguage
Stratificationfile(Sfile)forNIPOCAWI
NonAnonymousSurveys
StratificationforWebClientsworksthesamewayasstratificationforNIPOCATIusingaSampletable.Note
thatifyouusestratificationoninput(stratificationgroupalreadyknownbeforestartinganinterview),the
addresswillbeblockedifastratificationcellisfilled,whichmeansthattherespondentimmediatelygetsa
relocationpage.
Stratificationonnonanonymoussurveysmayresultinthefollowing:
1. Arespondentisinvitedforasurveybymail.
2. Therespondentclicksthelinkforthesurvey.
3. Thelinkimmediatelyredirectstothestratificationreachedpage,thepagethatcaninformthe
respondentthattheirparticipationisnolongerrequired.
Becauseofthisconsequence,stratificationonnonanonymoussurveysisnotrecommended.
Stratificationonoutputmayalsobeused:Eachcontactwillupdatetheexistingrecordforthatrespondent
intheSampletable.Usethe*SAMPLEDATAor*ADDRESScommandintheNIPOODINquestionnaireto
filldatabasefieldsandthe*STRATcommandtocheckyourstratificationcellsandthenjumptoaspecific
question.
Note:
Donotusethe*SQLPUTcommandtoupdateyoursampletable,asthesystemwillnot'recognize'
thesamplerecordischangedandthuscannotcheckthestratificationcell.
AnonymousSurveys
Ifasurveyissentoutanonymously(usingaSurveyIDinsteadofarespondentID),youcanonlyuse
stratificationonoutputasthereisnoreferencetotheoriginalSamplerecordofthespecificrespondent.
Foreachcontactanew(empty)samplerecordiscreatedintheSampletable.Usethe*SAMPLEDATAor
*ADDRESScommandintheNIPOODINquestionnairetofilldatabasefieldsandthe*STRATcommandto
checkyourstratificationcellsandthenjumptoaspecificrouteoutquestion.
SurveysstartedfromaURL
WhenasurveyisstartedfromaURLpublishedonawebsite,stratificationcanonlybeusedifanempty
Sampletableiscreatedforthesurvey.Foreachcontactanew(empty)samplerecordiscreatedinthe
Sampletable.Usethe*SAMPLEDATAor*ADDRESScommandintheNIPOODINquestionnairetofill
databasefieldsandthe*STRATcommandtocheckyourstratificationcellsandthenjumptoaspecific
question.
Bydefault,stratificationisimpossiblewithoutaSampletable.
Page86
CommandIndex
Page87
CommandIndex
<<<!!>>>
System
WebClientonly
Purpose
InsertHTMLtags,includingJavaScript,intext.
Syntax
<<<! !>>>
Description
WiththiscommanditispossibletoinsertHTMLtags,includingJavaScriptinthetextofaNIPOODIN
questionnaire.TheHTMLstartswith<<<!andisclosedwith!>>>.
Example
*PAGE
Click <<<! <A HREF="http://www.niposoftware.com" TARGET="_blank" ONCLICK= "window.open
('http://www.niposoftware.com', 'niposoftware', 'width=1024, height=640, toolbar=no,
menubar=no, location=no, resizable=yes, scrollbars=yes'); return false; ">here</a> !>>> to
open the NIPO Software website in a new Browser window.
Result:
ClickingthelinkopenstheNIPOSoftwarewebsiteinanewbrowserwindow.
Page88
CommandIndex
*?
Purpose
Retrievesthecontentsofavariableorarrayastext.
Syntax
*? <var | n | expression | var[n|expression] >
Description
Thecontentsofavariableorarrayareretrievedandputinplaceofthecommandandwillbeprocessedas
text.Thiscommandmayoccuratanyplacewheretextmayoccur.
Arguments
var
Thisisthenameofthevariablefromwhichthecontentsareretrieved.
n|expression
Thisisapositiveintegerfrom0uptoandincluding9oranexpressionthathasaresult0uptoandincluding
9,whichindicatesasystemvariable.
var[n|expression]
Whenanarrayvariableisused,thisthenameofavariablefollowedby(betweensquarebrackets)a
positiveintegerorexpressionthatindicatestheelementnumberofthisarray.
Remarks
Youcanuseuppercaseandlowercasenamesindifferently;variablenamesarecaseinsensitive.
Systemvariablesmaybedisplayed,butdonotneedtobedefinedusing*VARSor*TEXTVARS.
Example1
*TEXTVARS Gender,Age
*QUESTION 1 *CODES L1 *SAVE Gender
Int. type gender of respondent
1: Male
2: Female
*QUESTION 2 *NUMBER L2 *SAVE Age
How old are you?
*PAGE
So you are a *?Gender of *?Age years old.
ResultofExample1
Page89
CommandIndex
Example2
*TEXTVARS txt[4]
*PUT
*PUT
*PUT
*PUT
txt[1]
txt[2]
txt[3]
txt[4]
"This is a text."
"Another text."
"Third text."
"The fourth line contains: '*?txt[1] *?txt[2] *?txt[3]'"
*PAGE
*? txt[1]
*? txt[2]
*? txt[1] *? txt[2] *? txt[3]
*? txt[4]
ResultofExample2
Example3
*TEXTVARS Number, Price, PricePerFax
*FONT 0 "10 Arial"
*TAB 30
*QUESTION 1 *FORM
Specify count and price:
1:Number of fax machines bought:
*NUMBER 61L3 *SAVE Number
2:Total price paid:
*NUMBER 64L4.2 *SAVE Price
*FORMAT 3.2
*PUT PricePerFax [Q1F2 / Q1F1]
*QUESTION 2 *CODES 70L1
You bought *? Number fax machines for *? Price?
So the average price per fax machine was *? PricePerFax ?
1: Yes
2: No
ResultofExample3
Page90
CommandIndex
SeeAlso
*FORMAT ........................................................135
*PUT................................................................222
*SAVE(codesoption)......................................246
*SAVE(questionoption) .................................245
*TEXTVARS......................................................283
*VARS..............................................................287
Page91
CommandIndex
*ABORT
Purpose
Endsthequestionnaire,interviewnotsuccessful.
Syntax
*ABORT
Description
Terminatesthequestionnaireandmarkstheinterviewasnotsuccessful.Therewillbenodatawritten.
Thiswillbeirrevocable.IntheTfileorSampletablerecord,ifpresent,theresponsecodefor*ABORT(22,
notsuccessful)isstored.
Example
*QUESTION 1 *CODES L1
Are you willing to co-operate with a survey about car-insurances?
Interviewer: If the respondent does not own a car, use code 4 to end the interview.
1: Yes
2: No, perhaps later
*CUT 1
3: No, refusal (specify refusal type) *NONRESP "E"
4: Does not own a car
*ABORT
SeeAlso
*APPOINT..........................................................97
*CUT ...............................................................116
*END ...............................................................121
*ENDNGB........................................................123
*ENDST ...........................................................124
*NONRESP ......................................................203
Page92
CommandIndex
*ADDRESS
Purpose
ReferstoadatafieldintheTfileorSampletablerecord.
Syntax
*ADDRESS
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandaquestiontypedefinitionandmustbe
specifiedafterthesecommandsonthesameline.
WiththiscommandyoucanrefertoadatafieldintheTfileorSampletablerecord.Thisdatafield
specificationmusthaveafixed(nonvariable)format.
Remarks
WhenusingaSampletable,theNIPOODINquestionnairecanrefertoallSampletablefieldnamesby
usingthe*SAMPLEDATAcommand.HoweveryoucanalsorefertopositionsinaSampletableby
referencingfieldpositionsasifitwasaTfile,becausethefieldsintheSampletablearemappedtothe
defaultpositionsinTfilesseeSampletable(separatetableforeachsurvey)fordetails.
YoucanrefertopositionsintheTfilethatoverlapfieldsinaSampletable,buttheresultistruncatedat
theborderofthefield.Asyntaxcheckwillwarnofsuchtruncationswithanerrormessagesuchas
Warning: 136L55 spans multiple database fields, will be truncated to
136L45.
Example
*QUESTION 1 *NUMBER 290L2 *ADDRESS
*QUESTION 2 *NUMBER 61L2
How old are you?
*MOVA Q1 Q2
Thisexamplestoresthecontentsofquestion2(position6162)intoposition290291oftheTfileorSample
tablerecord.
Example2
*QUESTION 11 *ALPHA 61L17
*MOVU Q11 1L17
ThistransfersthefieldTelephoneNumberfromtheSampletableintoQ11.Thismayalsobedoneusing:
*QUESTION 11 *ALPHA 61L17
*SAMPLEDATA TelephoneNumber
*COPY Q11 "*?TelephoneNumber"
Thetelephonenumberisanalphanumericalfield,becauseitmaycontainspacesandaleadingzero.
Example3
*QUESTION 12 *NUMBER 81L8
*MOVU Q12 36L8
ThiscopiesthecontentsofthefieldInterviewerNumberfromtheSampletableintoQuestion12,
because36L8correspondstotheInterviewerNumberfieldintheSampletable.Thismayalsobedone
using:
*QUESTION 12 *ALPHA 81L8
*SAMPLEDATA InterviewerNumber
*COPY Q12 [InterviewerNumber]
Page93
CommandIndex
SeeAlso
*COPY .............................................................114
*MOVA ...........................................................184
*MOVU ...........................................................185
*QUESTION .....................................................224
*SAMPLEDATA................................................244
Page94
CommandIndex
*ALPHA(QuestionType)
Purpose
Definesatextquestion.
Syntax
*ALPHA [pos]L<length>|<pos>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Definesaquestionthatexpectsanalphanumericalansweroflimitedlength.Contraryto
an*OPENquestionthelengthofananswertoan*ALPHAquestionislimitedandtheanswerisstoredin
theUfile.
Arguments
pos
ThisisthestartofthedatafieldwherethedataiswrittenintheUfile.
length
Thisisthelengthofthedatafield.
Example
*QUESTION 1 *ALPHA 61L20
What is your first name?
Result:
SeeAlso
*ALPHA(in*FORMquestion) ...........................96
*CODES ...........................................................109
*LIST(definition).............................................173
*NUMBER(questiontype)..............................205
*OPEN(questiontype)....................................208
*QUESTION .....................................................224
Page95
CommandIndex
*ALPHA(in*FORMquestion)
Purpose
Definesatextfieldina*FORMquestion.
Syntax
*ALPHA [pos]L<length>|<pos>
Description
Thiscommandisalwaysusedina*FORMquestion.Definesafieldthatexpectsanalphanumericalanswer
oflimitedlength.Severalfieldsmaybespecifiedinthesame*FORMquestion.
Arguments
pos
ThisisthestartofthedatafieldwherethedataiswrittenintheUfile.
length
Thisisthelengthofthedatafield.
Example
*QUESTION 1 *FORM *BUT 99 "Refusal"
Please, fill in your name and address:
1:Name
: *ALPHA 73L30
Result:
SeeAlso
*FORM ............................................................132
*GRID(in*FORMquestion)............................141
*NUMBER(questiontype)..............................205
*SCALE(in*FORMquestion) ..........................249
Page96
CommandIndex
*APPOINT
System
NIPOCAPIonly
Purpose
Makesanappointmentfornextquestionnaire.
Syntax
*APPOINT
Description
Anappointmentismadeforthenextquestionnaireinline.IntheCompassInterviewSystemforCAPI,you
cangatheranumberofquestionnairestoasocalledsurveycluster.Theseparatequestionnaireswillbe
dealtwithattherespondentshomeconsecutively.Ifinoneofthequestionnairesthecommand
*APPOINT isexecutedthenextquestionnairewillnotbestarted.Theinterviewerisaskedtomakean
appointmentforthequestionnairethatisnextinline.
SeeAlso
*CUT................................................................116
*END ...............................................................121
*ENDNGB ........................................................123
*ENDST ...........................................................124
*NONRESP ......................................................203
Page97
CommandIndex
*AUTO
System
NIPOCATI/NIPOCAPIonly
Purpose
Automaticallyarrangescategoriesintocolumns.
Syntax
*AUTO
Description
Usethequestionoption*AUTOto:
Automaticallyarrangecategoriesintocolumnsonthescreenwhenmorecategoriesaretobedisplayed
thantherearescreenlines.Whenthecommand*NOCONisusedafteracategorythenfromthat
categoryonthecategorieswillnotbedividedintocolumns.
Removethegapscausedbycategoriesincodedquestionswhenusingthe*CONTROLcommand(NIPO
CATIonlyNIPOCAPIandNIPOCAWIcanautomaticallyremovegapsdependentonthestylesheet
configuration).
*AUTOcanalsobeusedasasinglecommandonacommandline.Allquestions(beforeandafterthe
command)willhaveautomaticallyarrangediftheydontfitonthescreen.
Remarks
The*AUTO commandautomaticallytriestosetthecolumnstoanequallength.
Thenumberofcategoriesthatfitonthescreenusing*AUTOdependsonthelengthofthecategory
texts.Eachcolumnwillbeaswideasthelargestcategorytext.Withcategorytextstoolargetofithalfa
screen,nocolumnsareshown.
InNIPOSYS.INIthefollowingsettingapplies:
AutoColumns = nspecifieswhetherthecategorieshavetobeautomaticallyarrangedornot,where
n=0(autoarrangeoff)or1(autoarrangeon).Defaultis0.SettingAutoColumnsto1hasthesame
resultasputtingan*AUTOcommandatthebeginningofthequestionnaire.
*AUTOisnotsupportedintheNIPOWebClient.Use*NEWCOLUMNtosplitcategoriesincolumnsfor
theWebClient.
IntheNIPOCAPIClient,youcanuse*TABtoindicatethenumberofcolumnsandthespacingofthe
columnsthatshouldbeusedtodisplaythelist.
Extremelylargelistsmaydegradetheperformanceoftheinterviewersoftware.Reducethenumberof
categoriesifpossible,creatingseveralquestionsinsteadofonequestionorusinga*LIST in
combinationwith*NUMBER.
Page98
CommandIndex
Example1
*QUESTION 2 *CODES L2 *AUTO
Question text
1:code
2:code
3:code
4:code
5:code
6:code
7:code
8:code
9:code
10:code
11:code
12:code
13:code
14:code
15:code
16:code
17:code
18:code
19:code
20:code
21:code
22:code
23:code
24:code
25:code
26:code
27:code
28:code
29:code
30:code
31:code
32:code
33:code
34:code
35:code
36:code
37:code
38:code
39:code
40:code
41:code
42:code
43:code
44:code
45:code
46:code
47:code
48:code
49:code
50:code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Page99
CommandIndex
Result:
Example2
Inthefollowingexample,*TABisusedtosplitthescreenintotwocolumnswhenitneedstodisplaymore
than8brands.ThisworksfortheNIPOCAPIClientonly.
*LIST brands
1: BMW
2: Audi
3: Volvo
4: Mercedes
5: Citroen
6: Datsun
7: Bentley
8: Cadillac
9: Alfa Romeo
10: Ferrari
11: Honda
12: Renault
13: Buick
14: Corvette
15: Fiat
16: Ford
17: Isuzu
18: Lotus
19: Mazda
99:Don't know any *NOCON
*TAB 33,67
*QUESTION 1 *CODES L99 *MULTI *AUTO
Which brands do you know?
*USELIST brands
*VARS cnt
*COUNT cnt Q1
*IF[cnt < 8] *TAB *ELSE *TAB 50
*QUESTION 2 *CODES L2 *AUTO *CONTROL Q1W
Which brand do you prefer?
*USELIST brands
Page100
CommandIndex
SeeAlso
*GROUP ..........................................................146
*NEWCOLUMN ...............................................190
*NOCON..........................................................199
*TAB................................................................279
Page101
CommandIndex
*BACK
Purpose
Jumpsbacktoapreviousquestion.
Syntax
*BACK <n|[expression]>
Description
Theinterviewwillreturntothequestionspecifiedintheargument.Itdoesinfactthesameaspressingthe
Backbuttonasmanytimesinsuccessionasneededtoreachthatquestion.
Whenthe*BACKcommandisexecuted,allcommandsandanswersbetweenthecurrentquestionandthe
questionyouarereturningtoarebeingundone,asifyouactuallysteppedbackthroughthequestionnaire
andthereforethereisamajordifferencewiththecommand*GOTO.
Arguments
n|expression
Thisisapositiveintegerorexpressionthatindicatesanexistingquestion.
Remarks
With*BACKyoucanonlyjumpbacktoaquestionthatwaspreviouslydisplayedaccordingtothecurrent
routing.Iftheindicatedquestionwasneverdisplayed,the*BACKcommandwillgotothefirstquestion
thatwasdisplayedafterthisone.
Example
*VARS tot
*VARS answer[3]
*QUESTION 1 *FORM
What proportion of travels are done by ....
(Int. dont know = 999)
1:Bus
*NUMBER L3 *RANGE [ 0 TO 100;999 ] *SAVE ANSWER[1]
2:Train
*NUMBER L3 *RANGE [ 0 TO 100;999 ] *SAVE ANSWER[2]
3:Car
*NUMBER L3 *RANGE [ 0 TO 100;999 ] *SAVE ANSWER[3]
** If one of the values is a Don't Know, skip the check
*IF [ Q1F1 = 999 \ Q1F2 = 999 \ Q1F3 = 999 ] *GOTO 3
*PUT tot [ Q1F1 + Q1F2 + Q1F3 ]
*IF [ tot > 95 & tot < 105] *GOTO 3
*QUESTION 2 *CODES L1
Your percentages must add up to 100%!
*? answer[1]
*? answer[2]
*? answer[3]
----*? Tot
1: Go back and try again *BACK 1
*QUESTION 3
Inthisexample,wejumpbacktothefirstquestiontocorrectthepercentagesiftheyarenotintherange95
to105.
Page102
CommandIndex
SeeAlso
*GOTO ............................................................139
*STRAT ............................................................274
Page103
CommandIndex
*BMP
System
NIPOCAPI/NIPOCATIonly
Purpose
Displaysacanvastodrawonandsavesopenendedanswersasabitmap.
Syntax
*BMP
Description
Opensacanvastodrawonusingthemouseorapen(Tabletcomputer),Openendedanswersaresavedto
asocalledbitmapfile(Bfile)insteadoftheOfile.Theseanswerscanbecodedinthesamewayasthe
regularOfile.
Thesizeoftheopenendedbitmapanswerboxcanbechangedusingthe*SIZEcommand.
Remarks
Thebitmapfileisinbinaryformatandcannotbereadusinganordinarypaintprogram.Openended
answersmustbecodedusingNfieldCodeortheNIPOODINCodingModule.Itisgoodpracticetoreservea
fairnumberofpositionsforcodinginadvance.
Example
*QUESTION 10 *OPEN L99 *MULTI *BMP
What car brands do you know?
Result:
Example2
*QUESTION 1 *CODES 61L99 *MULTI *BMP
What brands of beer do you know?
1: Heineken
2: Amstel
3: Grolsch
98: Other... *OPEN
99: None *NMUL
Page104
CommandIndex
Inthisexample,afterchoosingcode98anopenanswercanbewrittenonscreenandwillbestoredasa
bitmapintheBfile.
Result:
SeeAlso
*OPEN(questiontype)....................................208
*SIZE................................................................257
Page105
CommandIndex
*BUT
Purpose
Definesabutton.
Syntax
*BUT <code> <"text">
Description
Withthiscommandyoucreateuserdefinedbuttonswhicharedisplayedduringtheinterview.These
buttonscanbeusedinsteadofornexttoanswercategories.Ifyouclickonthebuttontherelatingcodeis
written.
Arguments
code
Thisisthecodethatisstoredwhenpressingthebutton.
text
Thisisthebuttontext.
Remarks
Amaximumoffivebuttonsperquestionisallowed.
Whenusingbuttonsona*FORMquestionthevalueofthebuttonsisstoredinthefirstfieldoftheform
question.
Example
*QUESTION 1 *CODES 61 *BUT 5 "Don't know"
How often do you read a newspaper?
1:
2:
3:
4:
Daily
Once a week
Once a month
Never
Inthisexample,thecategoryforDontknowisleftoutofthecategorylist.Insteadabuttonisdefinedto
enterthisanswer:
Result:
Example2
*QUESTION 1 *FORM *BUT 99 "Refusal"
Please, fill in your name and address:
1:Name
: *ALPHA 73L30
Page106
CommandIndex
Result:
IftheRefusalbuttonisused,thecode99isstoredinthefirstfield(Name).
SeeAlso
*WAITCR .........................................................291
Page107
CommandIndex
*CENTRE
Purpose
Centersanswercategoriesautomatically.
Syntax
*CENTRE [n|expression]
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Itcenterstheanswercategoriesautomatically.
Arguments
n
Thisargumentcanbevalue0or1.Value1indicatesthattheanswercategoriesareautomaticallycentered.
Thedefaultvalueis0(notcentered).
Remarks
InNIPOSYS.INIthefollowingsettingapplies:
CentreCodes = nspecifieswhethertheanswercategorieshavetobecenteredornot,wheren=0
(notcentered)or1(centered).Defaultisnotcentered.
When*AUTOisapplicable(i.e.theanswercategoriesaredividedonthescreen)the*CENTRE
commandorthecenteringsettingwillbeignored.
Whencenteringtheanswercategories,youcansuppressthedisplayofthecategorycodeswiththe
settingHideCodes=1inthefileNIPOSYS.INI.
Example
*QUESTION 1 *CODES 61 *CENTRE
Do you own a car?
1: Yes
2: No
Inthisexample,theanswercategoriesaredisplayedinthemiddleofthescreen(notethatthecategory
numbersmaybesuppressedwiththeHideCodessetting):
Result:
SeeAlso
*AUTO...............................................................98
Page108
CommandIndex
*CODES
Purpose
Definesaquestiontype.
Syntax
*CODES [pos]L<length>|<pos>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Itdefinesaclosedquestionwithasetofprecodedanswercategories,whereeach
categoryhasauniquevalue.
Arguments
pos
ThisisthestartofthedatafieldwherethedataiswrittenintheUfile.
length
Thisisthelengthofthedatafield.
Inaclosed,butnotmultiplequestionthenumberofdigitsofthehighestcategorynumberdefinesthe
minimumlengthofthedatafield.Inaclosed,multiplequestionthehighestcategorynumber(i.e.notthe
numberofcategories)definestheminimumlengthofthedatafield.
Remarks
Itisalsopossibletodefineadummyquestionbyomittingthecategoriesinordertostoredatafrom
otherquestionsorvariablesortouseitasalabel.
TheargumentL1maybeomittedwhendatapositionsarefixed.
TheNIPOODINDeveloperreportsawarningmessagewhenthelengthismorethanthehighestcode
numberrequires.TheNIPOODINDeveloperreportsanerrormessagewhena*CODESquestion
without*MULTIexceedsthemaximumsizeofL10(max.codenumberis2147483647=2321).Use
*ALPHAtocopylargedummyquestionsfromandtotheTfile.
Example1
*QUESTION 1 *CODES 61
Do you own a car?
1: Yes
2: No
Inthisexample,aclosedquestionisdefinedwithtwoprecodedanswercategories.
Example2
*QUESTION 2 *CODES 62L25 *MULTI
What brands of cars do you know?
Page109
CommandIndex
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Citron
Fiat
Ford
Hyundai
Mazda
Mitsubishi
Nissan
Opel
Peugeot
Renault
Suzuki
Toyota
Volkswagen
Volvo
Inthisexampleaclosedquestionwithmultipleanswersisdefined.Becausethehighestcodenumberis25,
thefieldhastobeatleast25positionslong.Whentheinterviewerorrespondentisusingthekeyboardto
typethecodenumbers,thevariouscodesshouldbeseparatedbyaspace,thatisgeneratedautomatically
whenacodenumberiscomplete.Soitisbesttoskipcode1whenusingcode10andhigher,skipcode2
whenusingcode20andhigher.
SeeAlso
*ALPHA(QuestionType)...................................95
*FORM ............................................................132
*MULTI ...........................................................186
*NUMBER(questiontype)..............................205
*OPEN(questiontype) ...................................208
*SCALE(questiontype)...................................247
Page110
CommandIndex
*CONJ...*ENDCONJ
System
NIPOCAWIonly
Purpose
Executesmoduleconjointmeasurement.
Syntax
*CONJ [pos]L<length> [*LEFT text] [*RIGHT text]
<commands>
*ENDCONJ
Description
Afulldescriptionofconjointmeasurementcanbefoundinthismanual.
SeeAlso
*LIST(definition).............................................173
*LIST(questionoption)...................................175
Page111
CommandIndex
*CONTROL
Purpose
Makesthedisplayofanswercodesandtextsdependentonanswerstoapreviousquestion.
Syntax
*CONTROL <Qn> <W|N|W*|N*>
Description
Thiscommandisalwaysusedincombinationwith*QUESTION,*FORMor*REPEATandhastobe
specifiedafterthesecommandsonthesameline.Thiscommandcontrolsthedisplayofanswercodesand
textsdependingonanswerstoapreviousquestion.Thissocalledcontrollingquestionisreferredtoby
meansofQn.Whenusedincombinationwith*REPEAT,executionofrepetitionnumbersonlytakesplace
(ornot)ifthenumberscorrespondwiththeanswercodesmentionedinthecontrollingquestion.
Arguments
Qn
Thereferencetothecontrolquestionwherenisthenumberofthequestion.
W
Onlyanswercategoriesthatwerementionedatthecontrolquestionarebeingdisplayed.
N
Onlyanswercategoriesthatwerenotmentionedatthecontrolquestionarebeingdisplayed.
W*
Answercategoriesthatwerenotmentionedatthecontrolquestionaremarkedwithanasterisk(NIPOCATI
/NIPOCAWIonly)
N*
Answercategoriesthatwerementionedatthecontrolquestionaremarkedwithanasterisk(NIPOCATI/
NIPOCAWIonly)
Remarks
Makesurethatthecontrolquestionandthecurrentquestionhavethesamesetofanswercategories.
Categoriesthataresuppressedasaresultofthiscommand,can'tbepartoftheanswer.Whenall
categoriesaresuppressedthequestionwillbeskipped.
Emptylinesforcategoriesthataresuppressedby*CONTROLwillbeskippedifthecategoriesare
automaticallydividedintocolumnsonscreen.
Inaformquestion,*CONTROLautomaticallysuppressesemptylinesthataretheresultofthecontrol.
Whencontrollingarepeatblock,W*andN*havenomeaning.
Page112
CommandIndex
Example1
*QUESTION 1 *CODES 61L5 *MULTI
What PC makes do you know?
1:
2:
3:
4:
5:
Acer
IBM
Tulip
Other *OPEN
Dont know *NMUL
Inthisexample,theanswersmentionedinquestion1arenotdisplayedinquestion2.However,ifDont
knowisselectedinquestion1,thiscategorywillbedisplayedinquestion2,sinceitisexcludedfromthe
controloptionby*NOCON.
Example2
*TEXTVARS brand
*QUESTION 1 *CODES L5 *MULTI
What PC makes do you know?
1:
2:
3:
4:
Acer
IBM
Tulip
Other *OPEN
W
"Acer"
"IBM"
"Tulip"
Very good
Good
Poor
Very poor
Inthisexample,question2willonlybeaskedformakesthatwerementionedinquestion1.
SeeAlso
*FORM ............................................................132
*NOCON..........................................................199
*QUESTION .....................................................224
*REPEAT...*ENDREP ......................................235
*VCONTROL ....................................................288
Page113
CommandIndex
*COPY
Purpose
Transfersdatawithinaquestionnaire.
Syntax
*COPY <Qn> <Qm|[expression]|"text">
Description
Thiscommandisalsoallowedundercondition.Dataspecifiedinthesecondargumentwillbetransferredto
thedatafieldspecifiedinthefirstargument.*COPYisinterpretingthecontentsofdatafieldstobemoved.
Theoriginalcontentsofthereceivingdatafield,ifany,willbereplaced.
Arguments
Qn
Thequestionreferenceofthedatafieldwherethedatawillbetransferredto(i.e.thereceivingfield).
Qm
Thequestionreferenceofthedatafieldthatwillbetransferred(i.e.thesendingfield).
expression
Ifanexpressionisgivenassecondargumenttheresultoftheexpressionwillbeavalue.Thisvaluewillthen
beputasdatainthereceivingdatafield.
text
Thistextwillbetransferredliterallytothereceivingdatafield.Itisallowedtorefertoavariableinthetext.
Inthatcase,thecontentsofthisvariablewillbeembeddedinthetextandthenwillbetransferredtothe
receivingdatafield.
Remarks
Itisrecommendedtousethesamequestiontypeforbothsendingandreceivingfields.
Ifthedatathathastobetransferredconsistsonlyofdigits,NIPOODINregardsthisasanumber.
Therefore,totransferdatafromamultiplequestionyouhavetouse*INCLUDE.
Whenusingthe*INCLUDEcommandtoincludecodesinasinglecodedquestion,thecontentswillbe
settothehighestcode.Usethe*COPYcommandtooverwriteoriginalcontents.
Contrarytothe*INCLUDEcommandthe*COPYcommandwillgivewarningmessageswhendata
positionsareusedmorethanonce.Usethe*INCLUDEcommandtosuppressthesewarnings.
Whenaquestionalreadycontainsthecategorythatwascopied,nothingchanges.
Example1
*QUESTION 1 *CODES 71L2
*COPY Q1 [3]
ThecontentsofQ1willbe03.
Example2
*QUESTION 1 *CODES 71L2
*QUESTION 2 *CODES 81
*COPY Q1 Q2
ThecontentsofQ2arestoredinQ1.Forexample,ifQ2contains8,thecontentsofQ1willbe08.
SeeAlso
*EXCLUDE .......................................................125
*INCLUDE........................................................156
Page114
CommandIndex
*COUNT
Purpose
Countsthenumberofanswers.
Syntax
*COUNT <Qn|numvar> <Qm>
Description
Thiscommandisalsoallowedundercondition.Thenumberofanswerstothequestionspecifiedinthe
secondargumentiscountedandwillbeputasanumberinthedatafieldorvariablespecifiedinthefirst
argument.
Arguments
Qn
Thequestionreferenceofthedatafieldwherethenumberisstored.
numvar
Thenameofthenumericvariablewherethenumberisstored.Thisvariablehastobedefinedearlierinthe
questionnaire.
Qm
Thequestionreferencefromwhichthenumberofanswershavetobecounted.
Remarks
Thiscommandisonlyusefulformultiplecodes(*MULTI)questions.
Example
*QUESTION 1 *CODES 178L7 *MULTI
What brands of beer do you know?
1:
2:
3:
4:
5:
6:
7:
Heineken
Amstel
Grolsch
Carlsberg
Tuborg
Other *OPEN
Dont know *NMUL
*VARS numb
*COUNT numb Q1
*QUESTION 2 *CODES 185 *IF [Q1,1-6]
So you know *? numb brands of beer?
1: Yes
2: No
Inthisexample,thenumberofanswersonquestion1iscountedinthevariablenumbandusedinthe
questiontextofquestion2.
SeeAlso
*MULTI............................................................186
*VARS..............................................................287
Page115
CommandIndex
*CUT
System
NIPOCATI/NIPOCAPIonly
Purpose
Interruptsaninterviewandmakesanappointment.
Syntax
*CUT <n|[expression]>
Description
Withthiscommandtheinterviewcanbeinterruptedfora(definitive)appointment.Thiscommandisalso
allowedundercondition.Thecontextoftheinterviewwillbesavedandtheinterviewerhastomakean
appointmenttofinishtheinterviewatalatertime.Whenpickinguptheinterviewagain,itwillstartwith
thequestionwithquestionnumberindicatedbyn.
Arguments
n|expression
Thisisapositiveintegerthatspecifiesanexistingquestionnumber.
Example
*QUESTION 1 *CODES L1
Are you the managing director of this company?
1: Yes
2: No
*QUESTION 2 *CODES L1 *IF [ Q1,2 ]
Can you connect me with the managing director of the company?
1: Yes
2: No, he is not in the office currently *CUT 1
3: No, refusal *ABORT
SeeAlso
*ABORT.............................................................92
*APPOINT..........................................................97
*END ...............................................................121
*ENDNGB........................................................123
*ENDST ...........................................................124
*NONRESP ......................................................203
Page116
CommandIndex
*DATE
Purpose
Getscurrentdateandtime.
Syntax
*DATE <Qn>
Description
Thiscommandisalsoallowedundercondition.Getsthecurrentcomputerdateandtimeoftheclient
workstationandstoresthisin18positionsinthedatafieldintheformatYYYY/MM/DD hhmm:ss.Ifthe
datafieldisn'tlongenoughthedatawillbetruncated.
Arguments
Qn
Thequestionreferenceofthedatafieldwherethedateisstored.
Examples
*QUESTION 901 *ALPHA 101L18
*DATE Q901
E.g., on January 31 2008 at 2:15 PM and 30 seconds 2008/01/31 1415:30 is storedis
storedTION 902 *ALPHA 201L10
*TIME Q902
E.g.,onJanuary31st,20082008/01/31isstoredinposition201210,thetimewillbetruncated(i.e.isnot
written).Towritethetimeonly,seethe*DTIMEcommand.
*TEXTVARS year,month,day
*QUESTION 1 *ALPHA 101L10
*QUESTION 2 *NUMBER 101L4
*QUESTION 3 *NUMBER 106L2
*QUESTION 4 *NUMBER 109L2
*DATE Q1
*PUT year Q2
*PUT month Q3
*PUT day Q4
*QUESTION 5
Todays date is: *?month-*?day-*?year
*END
Inthisexample,thecompletedatewillbestoredinquestion1.Question2,3and4refertopartsofthe
datafieldfromquestion1,tostoretheyear,monthanddate.
SeeAlso
*DTIME ...........................................................119
Page117
CommandIndex
*DELAY
System
NIPOCATI/NIPOCAPIonly
Purpose
Delaystheinterview.
Syntax
*DELAY <n>
Description
Thiscommanddelaystheinterviewfornseconds.*DELAYcanbeusedtodisplayavideoorplayasound
fragmentforacertainnumberofsecondsbeforetheinterviewercanmoveontothenextquestion.
Arguments
n
ThenumberofsecondsthatNIPOODINwaitsbeforeresumingthescript.
Example
*PLAY "mymovie.avi"
*DELAY 10
*QUESTION 1 *CODES 61L1
Inthisexample,thevideoplaysfor10secondsbeforethequestioncomesup.
Note:
Theemptylinesabovethequestiontextareintendedtomakeroomforthevideo.
SeeAlso
*WAITPLAY..................................................... 292
Page118
CommandIndex
*DTIME
Purpose
Getscurrenttime.
Syntax
*TIME <Qn>
Description
Thiscommandisalsoallowedundercondition.GetsthecurrentcomputertimeoftheworkstationtheNIPO
ODINengineisrunningon(eithertheNIPOCAPIClientorNIPOCATIClientworkstationortheNIPOODIN
WebServer)andwritesthisin7positionsinthedatafieldintheformathhmm:ss.Ifthedatafieldisn't
longenoughthedatawillbetruncated.
Arguments
Qn
Thequestionreferenceofthedatafieldwherethetimeisput.
Example
*QUESTION 901 *ALPHA 101L7
*TIME Q901
Forexample,at2:15PMand30seconds1415:30willbestoredinposition101107.Thedateisnot
stored(Seethe*DATEcommand).
*QUESTION 902 *ALPHA 201L4
*TIME Q902
Forexample,at2:15PM1415willbestoredinposition201204,thesecondsaretruncated.
SeeAlso
*DATE..............................................................117
Page119
CommandIndex
*DUMMY
Purpose
Specifiesadummyquestion.
Syntax
*DUMMY
Description
Thiscommandspecifiesadummyquestion.Dummyquestionsare,forexample,closedquestionsthatwill
beusedtoextractcategorytextsfrom.Ifyoudonotmarkthesequestionsasdummyquestionstheywould
appearonthescreenduringtheinterview.*DUMMYpreventsthequestionfrombeingdisplayed.Inearlier
versionsofODINitwasnecessarytospecifydummyquestionsbyusingnullevaluatingfilterslike*IF [ 1
= 2 ].
Example
*VARS num
*TEXTVARS txt
*QUESTION 1 *CODES L1
Gender
1: Male
2: Female
*QUESTION 2 *CODES L1 *DUMMY
1: wife
2: husband
*PUT num [Q1]
*PUT txt Q2,num
*QUESTION 3 *CODES L1
Do you have a *?txt?
1: Yes
2: No
Inthisexample,question2willnotbedisplayedduringtheinterview.However,thetextfromthisdummy
questionisusedtodisplayinthethirdquestiontext.
Page120
CommandIndex
*END
Purpose
Endsthequestionnaireorsubpartsofit.
Syntax
*END
Description
Ingeneralthiscommanddefinestheendofthequestionnaireorsubpartsofit.Thiscommandisalso
allowedundercondition.Withsubpartsaphysicalunconditionalendisalwaysrequired.Theactionofthis
commanddependsonthecontext.Wedistinguishthefollowing:
Terminationofthequestionnaire.Theinterviewismarkedasasuccessfulinterview.Alldataisstoredto
theappropriatefiles.IntheTfile/Sampletablerecord,ifpresent,theresponsecodefor'successful'is
stored.
Terminationoftheinitialpart(withthe*INITcommand).Anunconditionalphysicalendisrequired.
Terminationofarepetitionblock(*REPEAT).If*ENDisusedwithinarepetitionblock,therepetition
willbeended.Thecurrentrepetitionandallnotyetexecutedrepetitions,ifany,willnotbeexecuted.
Example1
*QUESTION 1 *CODES 96
Do you own a DVD recorder?
1: Yes
2: No *GOTO 99
*QUESTION 2 *CODES 97
Did you use your DVD recorder yesterday?
1: Yes
2: No
*QUESTION 3 *CODES 98 *IF [ Q2,1 ]
Did you use it for playback or recording?
1: Playback
2: Recording
3: Both
*QUESTION 98
This was my final question. Thank you for your co-operation.
*END
*QUESTION 99
Then I dont have any questions for you. Thank you.
*ENDNGB
Page121
CommandIndex
Example2
*REPEAT
*REPNUM
*REPNUM
*REPNUM
3
1
2
3
*RANDOM
*PUT statement "good quality"
*PUT statement "value for money"
*PUT statement "user friendly"
InthisexamplethreestatementsaboutPhilipsDVDrecordersareasked.Whentherespondentdoesnot
knowPhilipsDVDrecordersatall,thereisnoneedtoaskanyfurtherstatementsandtherepeatloopwillbe
terminated.Duetothe*RANDOM command,thiscanbeinanyofthe3statements.
SeeAlso
*ABORT.............................................................92
*APPOINT..........................................................97
*CUT ...............................................................116
*ENDNGB........................................................123
*ENDST ...........................................................124
*INIT...*END..................................................159
*NONRESP ......................................................203
*REPEAT...*ENDREP......................................235
Page122
CommandIndex
*ENDNGB
Purpose
Endsaquestionnaire.
Syntax
*ENDNGB
Description
Terminatesthequestionnaireandmarkstheinterviewasnotsuccessful,usefulinterview.Thedatais
storedintheappropriatefiles.IntheTfile/Sampletablerecord,ifpresent,theresponsecode'19:No
success,answerswritten'isstored.Interviewswiththiscodeare(bydefault)notcountedinthe
stratification.
Example
*QUESTION 1 *CODES 96
Do you own a VCR?
1: Yes
2: No *GOTO 99
*QUESTION 2 *CODES 97
Did you use your VCR yesterday?
1: Yes
2: No
*QUESTION 3 *CODES 98 *IF [ Q2,1 ]
Did you use it for playback or recording?
1: Playback
2: Recording
3: Both
*QUESTION 98
This was my final question. Thank you for your co-operation.
*END
*QUESTION 99
Then I dont have any questions for you. Thank you.
*ENDNGB
SeeAlso
*ABORT .............................................................92
*APPOINT..........................................................97
*CUT................................................................116
*END ...............................................................121
*ENDST ...........................................................124
*NONRESP ......................................................203
Page123
CommandIndex
*ENDST
Purpose
Endsaquestionnaireandwritesaresponsecode.
Syntax
*ENDST <code>
Description
Terminatesthequestionnaire.IntheTfile/Sample tablerecord,ifpresent,theresponsecodeas
indicatedisstored.Thewritingofthedatadependsonthemeaningoftheindicatedresponsecode.
Arguments
code
ThenonresponsecodethathastobewrittenintheTfile/Sampletable.
Remarks
Thenonresponsecodemustbeatwodigitnumberfrom0089.
Example
*QUESTION 1 *CODES L1
Do you own a car ?
1: Yes
2: No
*ENDST 16
Inthisexample,whereonlypeopleowningacarshouldbeinterviewed,thecodeforoutsidetargetgroupis
placedintheTfile/Sampletablerecord.
Example2
*QUESTION 1 *CODES L1
Do you want to continue this survey in a web questionnaire?
If so, we will send you an Email with a link (a URL), that you can start to fill in the
questionnaire yourself.
1: Send Email with link
*ENDST 41
2: No, continue interview in CATI
Inthisexample,weuseresponsecode41toswitchtheinterviewfromNIPOCATItoNIPOCAWI.Makesure
toconfigureresponsecode41inthesurveyconfigurationfile:
RESPC41T=Switch to Web Interviewing
RESPC41=0,SWITCH
SeeAlso
*ABORT.............................................................92
*APPOINT..........................................................97
*CUT ...............................................................116
*END ...............................................................121
*ENDNGB........................................................123
*NONRESP ......................................................203
Page124
CommandIndex
*EXCLUDE
Purpose
Datamanipulation.
Syntax
*EXCLUDE <Qn> <Qm|[expression]|[range]>
Description
Thiscommandisalsoallowedundercondition.Withthiscommanditispossibletoremoveoneormore
answercodesfromthereceivingdatafield.
Arguments
Qn
Thequestionreferenceofthedatafieldwheretheprocesstakesplace.
Qm
Allanswersofthisquestionwillberemovedfromthespecifieddatafield.
expression
Theresultoftheexpressionwillrepresentacodevalue.Nextthiscodewillberemovedfromthedatafield.
range
Youmaynowalsospecifymorethanonecode,separatedbysemicolons,thatshouldbeexcludedfromthe
question.UseTOtospecifyarange.
Remarks
Contraryto*COPYand*INCLUDE,the*EXCLUDE commandisusedforbothsinglecodedandmultiple
questions.Whenaquestiondidnotcontainthecodethatwasexcluded,nothingchanges.
Example1
*QUESTION 1
*EXCLUDE Q1
*EXCLUDE Q1
*EXCLUDE Q1
*EXCLUDE Q1
IfQ1containedcodes2,3,4,5,6and7,itwouldnowcontainonlycode2and6.
Thiscanalsobespecifiedas:
*EXCLUDE Q1 [3;4;5;7]
oras:
*EXCLUDE Q1 [3 TO 5;7]
Note:
Donotseparatecodeswithcommas.UsearangewithTOorusesemicolons;tospecifymorethan
onecode.
Example2
*QUESTION 1 *CODES 71L10 *MULTI
*QUESTION 2 *CODES 81L10 *MULTI
*EXCLUDE Q1 Q2
IfQ1containsthecodes2,3,4and7,andQ2containscodes2,7,and9,Q1willendupwithcodes3and4.
Question2remainsunchanged.
Page125
CommandIndex
Example3
*QUESTION 1 *CODES 136L7 *MULTI
*EXCLUDE Q1 Q1
ThiseffectivelyclearsallanswersinQ1.
SeeAlso
*COPY .............................................................114
*INCLUDE........................................................156
Page126
CommandIndex
*FIELD
Purpose
Definespositionsofasubroutineorrepeatblock.
Syntax
*FIELD [pos]L<length>|<pos>
Description
Thiscommandisusedwith*GOSUB(jumptosubroutine)and*REPEAT(repetitionblock)andmustbe
specifiedafterthatcommandonthesameline.ThiscommanddefinesdatafieldintheUfile,wherethe
enteredanswersofthesubroutineorrepetitionblockhavetobestored.Positionswithintheroutineor
*REPEATblockarerelativepositionswithinthisblock.
Arguments
pos
ThestartofthedatafieldwherethedataiswrittenintheUfile.
length
Thelengthofthedatafield.
Remarks
Ifyou'reworkingwithunfixeddatafieldsyoudon'thavetospecifythiscommand.Fixingthequestionnaire
willplacetherequired*FIELDcommandswhererequired.
Example1
*TEXTVARS BRAND
*REPEAT 3 *FIELD 61L3
*REPNUM 1: *PUT BRAND "Acer"
*REPNUM 2: *PUT BRAND "IBM"
*REPNUM 3: *PUT BRAND "Tulip"
*QUESTION 2 *CODES 1L1
What do you think of the quality of *?BRAND ?
1:
2:
3:
4:
Very good
Good
Poor
Very poor
Example2
*TEXTVARS BRAND
*SUBROUTINE BRANDSUB
Page127
CommandIndex
*QUESTION 2 *CODES 1
What do you think of the quality of *?BRAND ?
1:
2:
3:
4:
5:
Very good
Good
Poor
Very poor
Dont know \ no answer
*QUESTION 3 *CODES 2
What do you think of the price of *?BRAND ?
1:
2:
3:
4:
Very expensive
Expensive
Cheap
Very cheap
SeeAlso
*GOSUB ..........................................................137
*REPEAT...*ENDREP......................................235
Page128
CommandIndex
*FONT(definition)
Purpose
Definesafont.
Syntax
*FONT <n> <"size facename [style] [(R G B, R G B)]">
Description
Specifiesthesize,fonttypefacename,styleandforegroundandbackgroundcolorsofafont.Argumentnis
usedtoidentifythefontwhenthefontisselected.Thefontdescriptionargumentsmustbeenclosedby
doublequotes(")andcanbespecifiedinanyorder.Font0doesnothavetobespecifiedsinceitisthe
defaultfont.Thedefaultfontisthefontthatisusedforeveryquestionwherenofontisselected.Iffont0is
redefinedthenthenewfontdefinitionisusedasthedefaultfont.
Arguments
n
Positiveintegerusedtoidentifythefont.
size
Pointsizeofthefont.
facename
Nameofthefont.ThisfontmustbeinstalledunderWindows.
style
Thefollowingstylesareavailable:bold,italic,underline,strikeout.Stylescanbecombined,theymustbe
separatedbyatleastonespace.
(R G B, R G B)
ThisargumentspecifiestheforegroundandbackgroundcolorsinRGB(RedGreenBlue)values.R,G,Bare
intherangeof0255inclusive,whereristheamountofred,gistheamountofgreenandbistheamount
ofblue.Ifonlyaforegroundcolorhastobespecifiedthiscanbedonebyusing(R G B);Ifonlya
backgroundcolorhastobespecifiedthiscanbedoneby:(,R G B).
Blackis(000);whiteis(255255255);redis(25500)etcetera.
Remarks
Ifarequestedfontisnotinstalled,MicrosoftWindowswillchooseafontinthesamefamilyoffonts.
Example
*FONT
*FONT
*FONT
*FONT
*FONT
*FONT
*FONT
*FONT
*FONT
*FONT
*FONT
0 "10 Courier"
1 "8 ARIAL"
2 "8 ARIAL bold"
3 "12 Times New Roman"
4 "16 Courier (255 0 0)"
5 "18 Roman (,255 0 0)"
6 "25 Script (255 0 0, 0 128 255)"
7 "10 WingDings "
8 "10 ARIAL ITALIC"
9 "10 ARIAL BOLD UNDERLINE"
10 "10 ARIAL strikeout"
SeeAlso
*FONT(switching)...........................................130
Page129
CommandIndex
*FONT(switching)
Purpose
Switchestoanearlierdefinedfont.
Syntax
*FONT <n|[expression]>
Description
Selectsanearlierdefinedfont.Canbeusedasaquestionoptionorinquestionorcodetexts.Theselected
fontwillremainactiveuntilanewfontisselected.Everytimethescreeniscleared,thecurrentfontissetto
thedefaultfont(*FONT 0)ortothefontspecifiedinthequestionoption.
Arguments
n|expression
Thisisapositiveintegerorexpressionthatreferstoanearlierdefinedfont.
Example1
*FONT 0 "8 ARIAL"
*FONT 1 "8 ARIAL BOLD"
*FONT 2 "8 ARIAL ITALIC"
*QUESTION 1 *CODES 61 *FONT 1
Do you use a personal computer?
1: Yes
2: No
*QUESTION 2 *CODES 62 *NCLS *IF [Q1,1]
Do you use it for *FONT 2business*FONT 0 or *FONT 2personal*FONT 0 purposes?
1: Business
2: Personal
3: Both
Result:
Example2
*FONT 1 "8 COURIER BOLD"
*INFO *FONT 1
This is an info page
Inthisexample,theinfopageisdisplayedinCourierBold.
Page130
CommandIndex
Example3
*FONT 0 "10 ARIAL (255 0 0) BOLD"
*FONT 1 "10 ARIAL BOLD"
*FONT 2 "10 ARIAL (0 0 255) BOLD"
*VARS x
*REPEAT 201 *RANDOM
*PUT x [?R-101]
*IF [x<>0] *END
*ENDREP
*PAGE *FONT 1
This randomizer draws a number between -100 and 100
Negative numbers are printed in *FONT 0red*FONT 1
Positive numbers are printed in *FONT 2blue*FONT 1
*FONT [2*(x>0)]*? x*FONT 1
*END
SeeAlso
*FONT(definition) ..........................................129
Page131
CommandIndex
*FORM
Purpose
Definesaformquestion.
Syntax
*FORM
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Definesaformquestionthatcontainsoneormoreseparateinputfieldsthatwillbedealt
withseparatelyononeandthesamescreen.Thesefieldswilleitherexpectnumbersoralphanumerical
textsoflimitedlengthasinput.
Thecommands*NUMBERand*ALPHAdetermineofwhichtypeandhowlonganinputcellis.Intheform
questiontheremaybedescriptivetextsthatgenerallyprecedeacelldefinition.
Itisalsopossibletocreatesocalledgrids,byusing*FORM incombinationwith*SCALEor*GRID.
*FORMquestionscanbecontrolledbyanotherquestionbyusingthe*CONTROLcommand.
Remarks
Ifthereisacodeinfrontofthedescriptivetexts,thiscodecontrolsinwhichorderthecellsaredealt
withduringtheinterview.Thecellwhichturnitiswillbehighlighted.Thiscodeisalsousedto
determinewhichlinesaredisplayedorsuppressedby*CONTROL.
Informquestions,*CONTROLautomaticallysuppressesemptylinesthataretheresultofthecontrol.
YoucanrefertoafieldinaformquestionwiththeexpressionQnFm,wherenisthequestionnumber
andmisthefieldnumber(i.e.theorderinwhichtheywerespecified:fromthelefttotherightandthen
fromtoptobottom;donotconfusethiswiththeFormcellnumberinfrontofthecell,thatdefinesthe
orderinwhichfieldsarefilledwhenusingthe<Tab>).Fordetails,seeFormFieldReferences.
Note:
Ifyourefertoafieldnumberthatishigherthantheamountoffieldsintheformquestion,thevalue
offield1isreturned.
Example1
*QUESTION 1 *FORM *BUT 99 "Refusal"
Please, fill in your name and address:
1:Name
: *ALPHA 73L30
Page132
CommandIndex
Result:
Example2
*TAB 30
*TEXTVARS Number, Price, PricePerFax
*FONT 0 "10 Arial"
*QUESTION 1 *FORM
1:Number of fax machines bought:
*NUMBER 61L3 *SAVE Number
2:Total price paid:
*FORMAT 3.2
*PUT PricePerFax [Q1F2 / Q1F1]
*QUESTION 2 *CODES 70L1 *IF [Q1F1 > 1 ]
You bought *? Number fax machines for *? Price?
So the average price per fax machine was *? PricePerFax ?
1: Yes
2: No
*QUESTION 3 *FORM
Number and price of PC's, monitors and printers.
Number
Computers
Monitors
Printers
Total price
1:*NUMBER 71L3 4: *NUMBER 74L5.2
2:*NUMBER 81L3 5: *NUMBER 84L5.2
3:*NUMBER 91L3 6: *NUMBER 94L5.2
Page133
CommandIndex
Example3
*FONT 0 "Arial 10"
*QUESTION 1 *CODES 61L6 *MULTI
Which of the following brands of beer do you ever drink?
1:
2:
3:
4:
5:
Heineken
Amstel
Grolsch
Carlsberg
Tuborg
*SCALE 68L1 5 6
3:Grolsch
*SCALE 69L1 5 6
4:Carlsberg
*SCALE 70L1 5 6
5:Tuborg
*SCALE 71L1 5 6
Very good
Result:
SeeAlso
*ALPHA(in*FORMquestion) ...........................96
*GRID(in*FORMquestion)............................141
*NUMBER(in*FORMquestion) .....................206
*SCALE(in*FORMquestion) ..........................249
Page134
CommandIndex
*FORMAT
Purpose
Specifiestheformatofnumbertransfer.
Syntax
*FORMAT <i[.f]>
Description
Specifiestheformatofnumbersfromnumericvariableswhentheyareretrievedbythecommand*? or
whenconvertinganumericvariableintoatextvariableby*PUT.
Arguments
i
Theminimumspacetobeusedfortherepresentationoftheintegerpartofthenumber.Ifnecessary,more
spacewillbeused.
f
Themaximumspacethathastobeusedforthefractionalpartofthenumber;thiswillbefilledwithtrailing
zeros.Iffistoosmalltodisplayalldecimals,thesewillberounded.Themaximumnumberofdecimalsis4.
Thedefaultis0.
Example
*TAB 30
*TEXTVARS Number, Price, PricePerFax
*FONT 0 "10 Arial"
*QUESTION 1 *FORM
1:Number of fax machines bought:
*NUMBER 61L3 *SAVE Number
2:Total price paid:
*FORMAT 3.2
*PUT PricePerFax [Q1F2 / Q1F1]
*QUESTION 2 *CODES 70L1
You bought *? Number fax machines for *? Price?
So the average price per fax machine was *? PricePerFax ?
1: Yes
2: No
Result:
Page135
CommandIndex
SeeAlso
*? ......................................................................89
*NUMBER(in*FORMquestion) .....................206
*NUMBER(questiontype)..............................205
*PUT................................................................222
*VARS..............................................................287
Page136
CommandIndex
*GOSUB
Purpose
Jumpstoasubroutine.
Syntax
*GOSUB <name>
Description
Takescareofajumptoasubroutinespecifiedbyname.Afterreturnfromthesubroutinetheinterviewwill
continuewiththenextcommandfollowing*GOSUB.Thiscommandisalsoallowedundercondition.
Arguments
name
Thenameofthesubroutinethatiscalled.Thissubroutinehastobedefinedearlierinthequestionnaire.
Remark
Ifyou'reworkingwithsocalled'floating'datafieldsyoudon'thavetospecifythe*FIELDcommand.
Whenfixingtheanswerfieldsofthequestionnaireitwillbeputthereautomatically.
Example1
*TEXTVARS BRAND
*SUBROUTINE OPINION
*QUESTION 901 *CODES 1
What do you think of the service of *? BRAND?
1:
2:
3:
4:
Very good
Good
Poor
Very poor
Esso
Shell
Texaco
BP
*GOSUB
Mobil
*GOSUB
*GOSUB
*GOSUB
OPINION
*GOSUB
OPINION
OPINION
OPINION
*FIELD
OPINION
*FIELD
*FIELD
*FIELD
69L1
*FIELD
66L1
67L1
68L1
70L1
Inthisexample,foreachanswermentioned,thesubroutineiscalledinreverseorderthattheywere
enteredinQ1.Datapositionsarefixed,eachsubroutinecallrequiresonly1position,specifiedinthe
*FIELDcommand.Question901issettoposition1inthefield,arelativepositionwithinspecifiedfield.
Page137
CommandIndex
Example2
*TEXTVARS BRAND
*SUBROUTINE OPINION
*QUESTION 1 *CODES L1
What do you think of the service of *? BRAND?
1:
2:
3:
4:
Very good
Good
Poor
Very poor
Esso
Shell
Texaco
BP
Mobil
Inthisexample,ifanswer2or3wouldbeselected,thetextoftheanswerisstoredinavariableandthe
subroutineiscalled.Datapositionsarenotfixed,sothe*FIELDcommandisnotspecifiedhere.
SeeAlso
*FIELD .............................................................127
*SUBROUTINE...*ENDSUB ............................275
Page138
CommandIndex
*GOTO
Purpose
Jumpstoaquestion.
Syntax
*GOTO <n|[expression]>
Description
Thiscommandcanbeusedonseparateline,afterafilterexpression,onacodeofa *CODESquestionand
onaresponsecodeinthesurveyconfigurationfileofaNIPOCATIsurvey(toendtheinterviewgracefully
withclosingremarksorquestions).
Ifusedonacategoryithastobeonthesamelineasthecodenumberdefinition.Ifthecodeisselected,the
interviewcontinueswiththequestionspecified.Thiscommandcanalsobeusedunconditionally.However,
jumpingintooroutofasubroutineorrepetitionblockisnotallowed.
IfusedonaresponsecodeofaNIPOCATIsurvey,thejumpismadeoncetheinterviewerselectsthecode
throughthenonresponselist,forexample:
RESPC31T=Stop interview, jump to final questions *GOTO 9001
RESPC31=STOP,WRITE
Anyspecificationsforthecodeareignoredbuttheymustexist.Makesuretheindicatedquestionexistsand
thatthequestionnaireisappropriatelyterminatedafterwards,usingforexample*ENDST.
Arguments
n|expression
Thisisapositiveintegerorexpressionthatindicatesanexistingquestion.Makesurethattheexpression
alwaysreferstoanexistingquestionnumber,toavoidaruntimeerrorduringtheinterview,thatwill
terminatetheinterviewinasurveyerrorduringfieldwork.
Remark
IfyoujumpbackinyourNIPOODINquestionnairetoaquestionthatisspecifiedbeforethecurrent
position,athemessage"Warning: Jump to previous question"appearsduringasyntaxcheck
intheNIPOODINDeveloper.
Whenyoujumpbacktocorrectorchangeanswerspreviouslyentered,considerusingthe*BACK
commandinsteadof*GOTO.Thisshowstheanswersonpreviousquestionsthatwereentered,butwill
alsoautomaticallyclearanyanswersgivenonapreviousquestionnairerouting.
Ratherthanjumpingtoapreviousquestiontocreatealoop,itisrecommendedtousea*REPEATloop
toavoidcreatinganendlessloopand/orproblemswhenexportingquestions.Thisalsoavoidsissues
whenaninterviewissuspendedtobefolloweduplater.
Whenyoujump(unconditionally)acrosssomequestions,thesyntaxcheckintheNIPOODINDeveloper
givesanoverviewofquestionsthatareneverused:
Info: Overview of unused questions:
Info:
Question <n> in line <x>
Info:
Question <m> in line <y>
NotethatNIPOODINDevelopermightconsiderquestionsasunused,duetocomplexfiltersthatalways
evaluatetofalse,butinfactmightbetrueduringaninterview(forexampleduetoexpressionsbasedon
randomnumbersorthecontentsofasamplefield).Considerrewritingthefilterinalesscomplexformat.
Page139
CommandIndex
Example1
*QUESTION 10 *CODES 268
Do you have a driver's license?
1: Yes
2: No
*GOTO 26
Example2
*QUESTION 10 *CODES 268
Do you have a driver's license?
1: Yes
2: No
*IF [Q10,2] *GOTO 26
Inbothexamples,thosewithadriverslicensecontinuewiththefirstquestionafterQ10,theothersgoto
Q26.
SeeAlso
*BACK .............................................................102
*IF(condition)...*ELSE...................................154
Page140
CommandIndex
*GRID(in*FORMquestion)
Purpose
Definesagrid.
Syntax
*GRID [pos]L<length> x[.xs] y[.ys]
Description
Informquestionsitispossibletocreategrids.Agridusescheckboxestomarktheanswersonscreen
insteadofusingcodelists.Withthe*GRIDcommandyoucancreateverticalgrids.Thesegridsaremarked
toptobottom,contrarytohorizontalgrids(*SCALE)whicharemarkedlefttoright.Toallowmultiple
answersinverticalgridsusetheoption*MULTI.Thedatafieldhastobelargeenoughtostorealldata.
Arguments
pos
ThestartofthedatafieldwherethedataiswrittenintheUfile.Onlyonepositionpergridboxisrequired.
length
Thelengthofthedatafield.
x
Numberofboxesvertically.
xs
Verticalspacing(lines).Default:2
y
Numberofboxeshorizontally.Default:1
ys
Horizontalspacing(characters).Default:4
Remarks
Youcanuse*TABandtabstolineoutgrids.
Toaligncolumntexts(headers)abovethegrid,tabpositionsmustbedefinedwiththe*TABcommand
beforea*GRIDquestion.Foreachcolumninthegridatabmustbedefined.Thegridwillalwaysbe
distributedevenlybetweenthefirstandthelasttab(inotherwordsitisnotpossibletovarythegaps
betweencolumns).Ifthelasttabisnotat100%ofthescreen'swidth,thelastcolumntextandthe*GRID
mustbefollowedbyatabandaspacetousethelastinvisiblecolumn.Usestylesheets(CSS)tocentertexts
inNIPOCAWI.
*TAB 30, 40, 50, 60, 70
*QUESTION 1 *FORM
Question text
Column 1
Column 2
Column 3
Column 4
Intheexampleabove,tabsareusedtospacethecolumnheadingsandtoseparatethefirstrow'stextfrom
the*GRIDcommand.Thecolumnheadingandthefirstlinebothendwithtabspace.
Page141
CommandIndex
Inasingle*GRID(without*MULTI)theinterviewerorrespondentmustselectoneboxineach
(vertical)column.Inotherwords,eachbrandmustberated.
Inamultiple*GRID(with*MULTI)theinterviewerorrespondentmustselectoneormoreboxesin
each(vertical)column.Inotherwords,youcanselectoneormorestatementsforeachbrand.
Columnsthathavebeenremoved(NIPOCATI/NIPOCAPI)ordisabled(NIPOCAWI)using*VCONTROL
cannotbeselected.
Ifyouwanttoenforcethattheinterviewer/respondentselectsaboxineach(horizontal)rowinsteadof
each(vertical)column,itisrecommendedtouse*SCALEfieldsinthe*FORMquestioninstead.
Ifitisnotrequiredthatinterviewer/respondentselectoneormoreboxesforeachbrand(forexample,
statementsdonotneedtoapplytoabrand),youmayaddthe*NONcommandinthe*QUESTIONline.
Alternatively,addanoanswerstatementsuchas"Noneofthesestatementsapplyforthisproduct".
Itisnotpossibletoruleoutcombinationsofselectionsina*GRID*MULTIquestion.Youmayhowever
use*DUMMYquestionsonthesamedatapositionstoretrievethedataperproductandcreateafilter
with*IFtocheckifsuchcombinationshavebeenselected.
Example1
*QUESTION 101 *FORM
Vertical grid, using GRID
Heineken
1:1
Tuborg Other
2
3
4
5
Thisresultsinagridconsistingof5lineswith6boxesperline.Notethattabspacecombinationsareplaced
ontheheadingrowandthefistrowofthecodes.
Result:
Page142
CommandIndex
Example2
*QUESTION 101 *FORM
Vertical Grid, MULTIPLE answers allowed
Heineken
1:1
Tuborg Other
2
3
4
5
Thishasthesameresultasabovebutwithmultipleanswersallowed.Notethelengthofthedatafield(30):
6x5positionsarerequiredtostorethedata.Again,tabspacecombinationsareplacedontheheadingrow
andthefistrowofthecodes.
Result:
Example3
*QUESTION 1 *CODES 61L5 *MULTI
Beer brands
1:
2:
3:
4:
5:
Heineken Beer
Amstel Beer
Grolsch Beer
Bavaria Beer
Leeuw Beer
Page143
CommandIndex
Heineken Beer
1:Value for money
Amstel Beer
Grolsch Beer
Bavaria Beer
Leeuw Beer
Good product
Must have this product
None of these statements apply for this product
*** The next construction will check if no-one combined
*** the first 3 statements with the 'None of these apply'.
*TEXTVARS Brand
*** Use the same data positions as the *FORM *GRID question
*** for your dummy question in the *REPEAT loop.
*REPEAT 5 *FIELD 66L20
*PUT Brand Q1,?R
*QUESTION 5 *CODES 1L4 *MULTI *DUMMY
Dummy question with statements for *?Brand.
1:Value for money
2:Good product
3:Must have this product
4:None of these statements apply for this product
*QUESTION 6 *IF [Q5,1-3 & Q5,4]
You combined one or more statements for *?Brand with 'None of these statements apply for
this product'.
Please go back and correct.
*IF [Q5,1-3 & Q5,4] *BACK 4
*ENDREP
InQ4,tabsareusedtospacethecolumnheaders.Boththeheadinglinesandthecodelinesendwithatab
spacecombination.Incodeonethecodetextandthe*GRIDcommandareseparatedbyatabspace.
ResultinNIPOWebClientifHeineken,Amstel,andLeeuwwouldbeselectedinQ1:
Page144
CommandIndex
SeeAlso
*FORM ............................................................132
*MULTI............................................................186
*SCALE(in*FORMquestion) ..........................249
*TAB................................................................279
*VCONTROL ....................................................288
Page145
CommandIndex
*GROUP
Purpose
Keepscategoriestogether.
Syntax
*GROUP
Description
Whendisplayingcodesinaquestionrandomly,invertedorrotated,youcankeepcodestogetherwiththe
command*GROUPafterthefirstcategoryofagroup.Allcodesuptothenext*GROUParesortedonly
mutually.Thiscanalsobecombinedwiththequestionoption*AUTO.
Page146
CommandIndex
Example
*QUESTION 202 *CODES 61L2 *RANDOM *AUTO
Question text
0:code
1:code
2:code
3:code
4:code
5:code
6:code
7:code
8:code
9:code
10:code
11:code
12:code
13:code
14:code
15:code
16:code
17:code
18:code
19:code
20:code
21:code
22:code
23:code
24:code
25:code
26:code
27:code
28:code
29:code
30:code
31:code
32:code
33:code
34:code
35:code
36:code
37:code
38:code
39:code
40:code
41:code
42:code
43:code
44:code
45:code
46:code
47:code
48:code
49:code
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
*GROUP
*GROUP
*GROUP
*GROUP
Page147
CommandIndex
Result:
SeeAlso
*AUTO...............................................................98
*INV ................................................................163
*RANDOM.......................................................226
*ROT ...............................................................241
Page148
CommandIndex
*HEADING
Purpose
Definesaheadertextabovecategories.
Syntax
*HEADING <text>
Description
Whendisplayingcodesinaquestionyoucandefineaheadingabovecodestobeusedwhentheyare
displayedrandomly,invertedorrotated.Thiscanalsobecombinedwiththequestionoption*AUTO.The
command*HEADINGwillbeinterpretedasanimplicit*GROUPonthenextcodeline.
Arguments
text
Atextlabelidentifyingthegroupofcodesitprecedes.
Example
*FONT 0 "Arial 10"
*FONT 1 "Arial 10 Italic"
*QUESTION 201 *CODES 61L2 *RANDOM
Question text
*HEADING*FONT 1Header for code 1 to 5*FONT 0
1:code 1
2:code 2
3:code 3
4:code 4
5:code 5
*HEADING*FONT 1Header for code 6 to 10*FONT 0
6:code 6
7:code 7
8:code 8
9:code 9
10:code 10
*HEADING*FONT 1Header for code 11 to 15*FONT 0
11:code 11
12:code 12
13:code 13
14:code 14
15:code 15
98:don't know *NOCON *GROUP
99:no answer
Page149
CommandIndex
Result:
SeeAlso
*AUTO...............................................................98
*GROUP ..........................................................146
*INV ................................................................163
*NEWCOLUMN ...............................................190
*RANDOM.......................................................226
*ROT ...............................................................241
Page150
CommandIndex
*HELP(definition)
Purpose
Definesapageoftext.
Syntax
*HELP [n]
Description
Definesapageoftext.Thiscommandmustbespecifiedatthebeginningofaline.Thetextconsistsofall
followinglinesuptothefirstnewcommandatthebeginningofaline,excluding**,*?and*FONT
(switching)commands.
Ifanumbered*HELPscreenisfollowedbya*PAGEcommandthispagewillactasthenexthelpscreen.In
thiswayitispossibletodivideyourhelpscreenintomultiplepages.Whenthehelppageiscalledtwonew
buttonswillappearonthequestionscreentogotothepreviousornextscreen.
Arguments
n
Thisisthenumberofthetextpage.Ifomitted,thespecifiedhelptextismadeavailableonallquestions.
Remarks
Thehelptextremainsunchangedandavailableuntilanewpageisdefinedwith*HELP.Thehelptextis
availablefromthepointinthequestionnairethatitwasdefined.AninterviewermaypressHelporF3to
viewthehelptext.Ifanemptypageoftextisdefined(*HELP withamewcommandimmediatelyonthe
nextline)itisnolongeravailable.
Example1
*HELP 1
This is the first help screen defined.
*HELP 2
And this is the second help screen defined.
Example2
*HELP 1
This is the first page of the help screen.
*PAGE
This is the second page of the help screen.
Inthisexample,ahelpscreenwith2pagesisdefined.
Page151
CommandIndex
*HELP(questionoption)
Purpose
Switchestoanearlierdefinedhelptextpage.
Syntax
*HELP <n>
Description
Thiscommandhastobeusedincombinationwith*QUESTION.Bypressingthehelpbutton,therelated
textpageisdisplayed.
Arguments
n
Thenumberofthepagethathastobedisplayed.
Remarks
Ifaglobalhelppagewasdefined,theglobalhelpfileisavailableonallquestionswithoutrequiring*HELP
asaquestionoption.Ifyoudospecify*HELPasaquestionoption,theglobalhelpisoverriddenwiththe
specifiedhelppage.
Example
*HELP 1
This is the first page of the help screen.
*PAGE
And this is the second page of the help screen.
*QUESTION 1 *CODES 433 *HELP 1
Did you know that if you press the help button a help screen
appears?
1: Yes
2: No
Page152
CommandIndex
Result:
Inthisexample,pressingtheHelpbuttondisplaysahelpscreenwithtextandpressingNextwilldisplaysthe
secondpageofthehelpscreen.
SeeAlso
*HELP(definition) ...........................................151
Page153
CommandIndex
*IF(condition)...*ELSE
Purpose
Createsacondition.
Syntax
*IF <[expression]> <action> [*ELSE <action>]
Description
Theexpressionwillbeinterpretedandtestedfortrueorfalse.Iftheexpressionistruethecommands
immediatelyfollowingtheexpressionwillbeexecuted.Youmayusethecommand*ELSEfollowedby
commandsthatwillbeexecutediftheexpressionisfalse.Formoreinformationontheexpressionsthat
maybeused,seeExpressions(onpage76).
Arguments
expression
Abooleanexpressionwithasresulttrueorfalse.
action
Oneormorecommandsthatcauseanaction.Definitioncommandsarenotallowed.Allthesecommands
willbeexecutedoneaftertheothertill*ELSEisencounteredortheendofthecommandlinehasbeen
reached.
Example1
*IF [ Q6 , 1-5 ] *GOSUB "BRAND"
IfQ6isansweredwithananswervaluebetween1and5thesubroutineBRANDiscalled.
Example2
*IF [ RAN 3 ] *GOTO 100
ThegeneratedvaluesforRAN 3are0,1and2.Value0willmaketheexpressionfalseandthuspreventthe
jump.Consequently,inroughly67%ofthecasestheinterviewjumpstoquestion100.
Example3
*IF [ Q11 = "PC" ] *GOTO 100 *ELSE *GOTO 200
Theconditionistrueiftheanswertoquestion11isequaltothetext"PC".
SeeAlso
*GOTO ............................................................139
*IF(questionoption) ......................................155
Page154
CommandIndex
*IF(questionoption)
Purpose
Displayaquestionundercondition.
Syntax
*IF <[n|expression]> ["text"]
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandaquestiontypedefinitionandmustbe
specifiedonthesameline.Thiscommandputsaconditiononaquestion.Thequestionwillonlybe
displayediftheexpressionistrue.Foradetailedexplanationofexpressions,seeExpressions(onpage76).
Arguments
expression
Abooleanexpressionwithasresulttrueorfalse.
text
Anytext.If,whencreatingvariablesduringanexport,thequestionfiltersarecopied,thistextwillbecopied
inthevariablefile.InNIPODiana,thistextisplacedabovethetablewithstraightrunsandcross
tabulations.
Example
*QUESTION 15 *CODES 96
Do you own a DVD player?
1: Yes
2: No
*QUESTION 16 *CODES 97 *IF [ Q15 , 1 ]
Did you use your DVD player yesterday?
1: Yes
2: No
Inthisexample,question16willonlybeaskediftheanswertoquestion15iscode1.
SeeAlso
*IF(condition)...*ELSE...................................154
Page155
CommandIndex
*INCLUDE
Purpose
Transfersdatawithinaquestionnaire.
Syntax
*INCLUDE <Qn> <Qm|[expression]|[range]>
Description
Thiscommandisalsoallowedundercondition.Oneormoreanswercodesarecombinedinthereceiving
datafield.
Arguments
Qn
Thequestionreferenceofthedatafieldwherethecodesmustbemerged.Formorecodestobeinsertedin
aquestion,thequestionmustbemultiplecoded(*CODES *MULTI).Onsinglecodedquestions,the
existingcodeisoverwrittenwiththehighestcodeinthesecondparameter.
Qm
Allcodesofthisquestionwillbemergedinthespecifieddatafield.Thisquestionmaybeasingle(*CODES)
oramultiplecodesquestion(*CODES *MULTI).
expression
Theresultoftheexpressionrepresentsacodevalue.Thiscodeismarkedinthedatafield.
range
Specifiesarangeofmorethanonecode,separatedbysemicolons,thatshouldbemarkedinthequestion.
UseTOtospecifyarange.
Remarks
Usethe*COPYcommandtooverwriteoriginalcontents.Use*EXCLUDE Qn Qntoclearallanswers
fromamultiplecodedquestion.
Contrarytothe*COPYcommandthe*INCLUDEcommanddoesnotgivewarningmessageswhendata
positionsareusedmorethanonce,exceptwhenthe*INCLUDEcommandisspecifiedbeforethe
actualquestiondefinition.
Whencopyingtextoran*ALPHAquestionintoan*ALPHAquestion,use*COPYratherthan
*INCLUDE.
Whenaquestionalreadycontainsthecodesthatwereincluded,nothingchanges.
Whenincludingmorethanonecodeorincludingarangeinaquestionthatisnot*MULTI,onlythelast
codethatwasspecifiedisincluded.
Example1
*QUESTION 1
*INCLUDE Q1
*INCLUDE Q1
*INCLUDE Q1
*INCLUDE Q1
Thecontentsofthequestionwillbe:2,3,4,5and7.Thismayalsobespecifiedas:
*INCLUDE Q1 [3;4;5;7]
Oras:
*INCLUDE Q1 [3 TO 5;7]
Note:
Donotseparatecodeswithcommas.
Page156
CommandIndex
Example2
*QUESTION 1 *CODES 71L10 *MULTI
*QUESTION 2 *CODES 121L8 *MULTI
*INCLUDE Q1 Q2
TheanswersofQ2aremergedintotheanswersofQ1.Forexample,ifQ1containedcodes1and4andQ2
containscodes1,3and7,Q1willcontaincodes1,3,4and7.
SeeAlso
*COPY .............................................................114
*EXCLUDE .......................................................125
Page157
CommandIndex
*INFO
Purpose
Definesapageoftextwithinformationfortheinterviewer(beforetheintroduction).
Syntax
*INFO [n]
Description
Definesapageofinformationtext.Thiscommandmustbespecifiedatthebeginningofaline.Thetext
consistsofallfollowinglinesuptothefirstnewcommandthatisatthebeginningofaline,excluding**,
*?and*FONT(switching).Thispageoftextmayonlyoccuronceinthequestionnaire.
Thetextisdisplayedataparticularpointintheinterviewandbeforetheintroductiontext.InNIPOCATIand
NIPOCAPI,duringtheinterviewitcanbedisplayedatanytimebyselectingView>Infofromthemenu.
Theinfopageisoftenusedtoinformorinstructtheinterviewerorrespondentaboutthesubjectofthe
questionnaire.
Arguments
n
Specifiesunderwhatconditionthe*INFOpageisdisplayed,avalueofeither0,1,2or3(default1whennot
specified).
Valuesforn
Value
Function
Theinfopageissuppressedbeforethestartoftheinterview.TheinterviewercanseetheinfopageonlybyselectingView>
Infofromthemenu(NIPOCATIandNIPOCAPIonly).
Theinfopageisshownbeforetheintroductionscreenatthestartofeachinterview.Theinterviewercanalsoseetheinfo
pagebyselectingView>Infofromthemenu(NIPOCATIandNIPOCAPIonly).
Theinfopageisshownwhenwaitingforthedialertoreturnwithanewtelephonenumber(NIPOCATIonly,dialeronly)
ForNIPOCATIandNIPOCAWI,theinfopageisshownonlyoncewhenstartingthesurvey.ForNIPOCAPI,theinfopageis
showatthestartofeachinterview.
Example
*INFO 1
Before starting a new interview please check the following information:
.....
SeeAlso
*HELP(definition) ...........................................151
*INSTRUC........................................................161
*PAGE .............................................................214
*QUESTION .....................................................224
Page158
CommandIndex
*INIT...*END
Purpose
Startsaninitialpartofaquestionnaire.
Syntax
*INIT
Description
Definesthestartofaninitialpartofthequestionnaire.Thiscommandmustbespecifiedatthebeginningof
aline.Thecommandmayonlyoccuronceinthequestionnaire.Inaninitialization'block'anyNIPOODIN
scriptmaybeused.Thisblockisalwaysexecutedafterdisplayingtheintroduction,evenforresumed
questionnairesaftersuspensionoranappointment.Theblockisconcludedby*END.
The*INITcommandisusefulasaprecursoryinitializationthatmustalwaysbeexecutedwhenresuming
theinterviewafteranappointmentorsuspension.Itmaybeusedtorerunquestions,calculations,retest
stratificationetcetera.Afterexecutionofan*INITblock,theinterviewisresumedatthelastquestion
answeredprevioustotheappointmentorsuspension.
Remarks
Answersfromapreviousrunofthe*INITblockarenotmadevisible.
Ifthe*INITblockisusedtodisplaysomevariablesfromaprevioussession(likeacounter),one
solutionistostorethiscounterinthetelephonefileorSampletableandusethe*COPYcommandto
retrievethisdata.
WhenusingChannelAwarescripting(*IF [_ISCATI]or*IF [_ISCAWI]),questionsinthe
*INITblockwillalwaysbeexecutedaccordingtothecurrentchannel.
Example1
*INIT
*QUESTION 9001 *ALPHA L18
*DATE Q9001
*END
Inthisexamplethecurrentdateandtimeissavedeachtimetheinterviewisstarted.
Example2
*INIT
*QUESTION 9002 *ALPHA L20
Int. first type the name of the respondent
*END
*QUESTION 1 *CODES L1
Are you the managing director of this company?
1: Yes
2: No
*QUESTION 2 *CODES L1
Can you connect me with the managing director of the company
1: Yes
2: No, he is not in the office currently *CUT 1
3: No, refusal *ABORT
Inthisexamplethenameoftherespondentisaskedbeforeeachinterview.Notethatonlythenameofthe
lastcontactwillbesavedinquestion9002.
Page159
CommandIndex
SeeAlso
*END ...............................................................121
*INFO ..............................................................158
*INSTRUC........................................................161
Page160
CommandIndex
*INSTRUC
System
NIPOCAPIonly.
Purpose
Definesapageoftext.
Syntax
*INSTRUC
Description
Definesapageoftext.Thatismadevisibleonlyduringatestrunoftheinterview.Thiscommandmustbe
specifiedatthebeginningofaline.Thetextconsistsofallfollowinglinesuptothefirstnewcommandthat
isatthebeginningofalinewiththeexceptionof**,*?and*FONT(switching).
*INSTRUC
Please review the following instructions with regard to this survey:
...
SeeAlso
*HELP(definition) ...........................................151
*INFO ..............................................................158
*PAGE .............................................................214
*QUESTION .....................................................224
Page161
CommandIndex
*INTRO
Purpose
Definestheintroductionpage.
Syntax
*INTRO [n]
Description
Definestheintroductionpagetext.Foreachchannel(NIPOCATI,NIPOCAWI,NIPOCAPIorNIPOCASI)a
separateintroductiontextmaybedefined.Thetextconsistsofallfollowinglinesuptothefirstnew
commandthatisatthebeginningofalinewiththeexceptionof**,*?and*FONT(switching).Youmay
define*INTROtextperlanguagesectionifrequired,butonlyone*INTROdefinitionperchannelper
languagemaybespecified.
Arguments
[n]
Thisisthechannelnumberoroneofthepredefinedchannelconstants:_CATI_,_CAPI_,_CAWI_and
_CASI_.Expressionsarenotallowed.Ifomitted,theintroductiontextisusedforallchannelsthatdonot
havetheirownintroductiontextdefined.
Remarks
Ifnisthenumberofanunknownchannelawarningmessagewillbegiven.Itisnotconsideredanerror
becauseitmayrepresentavalidchannelinafutureversionofthesoftware.
Example
*SAMPLEDATA TTAppointmentName
*INTRO _CATI_
This is the introduction for NIPO CATI Clients only.
*?AGENTNAME, please call the telephone number that is displayed on top of this screen.
*INTRO _CAWI_
Introduction for CAWI (Web) Clients only.
*?TTAppointmentName, please press the <Start> button, to start the interview.
SeeAlso
*INSTRUC........................................................161
*LANGUAGE....................................................166
Page162
CommandIndex
*INV
Purpose
Randomlydisplayscodesininvertedorder.
Syntax
*INV [[pos]L<length>]
Description
Thiscommandcanbeusedintwoways:
Incombinationwithaclosedquestion.Itmustbespecifiedonthesamelineasthequestiondefinition.
Theanswercodesandthedescriptionsofthequestionareshowneithertoptobottomorbottomto
top,randomly.
Onasinglecommandlinewithoutarguments.Usethecommandonaseparatelinetomakeinversionof
categoriesrespondentconsistentacrossasingleinterview.NIPOODINfirstrandomlyselectsan
inversion(toptobottomorbottomtotop)andthenusestheselectedinversionforall*INVquestions
inthecurrentinterview.
Arguments
pos
Thedatafieldspecificationwheretheorderofthedisplayedcategoriesisstoredinthedatafilewiththe
closedanswers.
length
Thelengthofthedatafield.Notethatitisnotusefultostoremorethanonecode,sincetheorderofthe
codesisobviousfromthefirstvalue.
Remarks
Thepositionspecifiedafter*INV isonlystoredifthelistwasdisplayedinverted.
The*NOCONcommandexcludesanswercodesfrominversion.
Example1
*QUESTION 1 *CODES 61 *INV 71L1
To what extent do you agree?
1:
2:
3:
4:
5:
6:
Totally agree
Agree
Dont agree\dont disagree
Disagree
Totally disagree
Dont know *NOCON
Inthisexample,theanswerisstoredinposition61.Inposition71,code5isstoredifthelistwasinverted.
The*NOCONensurescode6isalwaysdisplayedatthebottomofthelist.
Example2
*INV
*REPEAT 3
*REPNUM 1: *PUT brand "Acer"
*REPNUM 2: *PUT brand "IBM"
*REPNUM 3: *PUT brand "Tulip"
*QUESTION 2 *CODES L1 *INV
What do you think is the quality of *?brand ?
1:
2:
3:
4:
Very good
Good
Poor
Very poor
*ENDREP
Page163
CommandIndex
Inthisexampleeitherallquestions(inthiscaseonlyQ2)aredisplayedinregularorderorinverted,
consistentlythroughoutthentireinterview.
Page164
CommandIndex
*LABEL
Purpose
Definesatextlabelforthequestion'sexport.
Syntax
*LABEL <text>
Description
Thiscommandmustbespecifiedona*QUESTIONwithaquestiontypedefinition.Thiscommandgivesthe
possibilitytoattachanexportlabeltoaquestionthatreplacesthequestiontext.Thelabeldoesn'thaveto
beunique.
Arguments
text
Thetextthatmustbeusedasthequestionlabel.Themaximumlengthofalabelnameis65characters.
Labelnamescontainingspacesmustbeenclosedbydoublequotes.
Example
*QUESTION 1 *CODES L1 *VAR Sex *LABEL Gender
Int. type the respondents gender
1:Male
2:Female
*QUESTION 2 *NUMBER L2 *VAR Age *LABEL "Age of respondent"
Could you please tell me your age?
ExportresultinNIPODiana/NvisionScript
*Sex *SNG 61L1: Gender
1:Male
2:Female
*Age 62L2: Age of respondent
ExportresultinIBMSPSS
VARIABLE LABELS
Sex 'Gender'
Age 'Age of respondent'
SeeAlso
*VAR ...............................................................285
Page165
CommandIndex
*LANGUAGE
Purpose
Definesalanguagesection.
Syntax
*LANGUAGE "<name>[,LTR|RTL]"
Description
Withthiscommand,youcancreateoneormoresectionsthatcontaintextinanotherlanguagethanthe
defaultlanguage.Thefirst*LANGUAGEsectionmuststartattheendofthescriptcontainingtheactual
questionnairelogic.Alimitednumberofcommandsareavailableina*LANGUAGEsectionformostly
formattingpurposes.Seefurtherbelowfordetails.Allotherlogicmustbeplacedinthemainsection.
Ifaquestionnumberisnotavailableinanotherlanguage,thetextfromthemainsectionisdisplayed.Ifa
questionisonlyavailableinatranslation,itisneverdisplayed.Thecodesaredisplayedastheyarespecified
inthelanguage,somakesuretheoriginalcodelabelsandtheirtranslationscorrespond.
DuringtheinterviewtheinterviewercanselecttheappropriatelanguagefromtheLanguagemenu(NIPO
CATIandNIPOCAPIonly).Thelanguagecanalsobechangedusingthe*SWILANGcommand.
ThenameofthecurrentlyactivelanguageiscontainedwithinthesystemtextvariableLANGUAGE.
Arguments
name
ThisisthenameofthelanguagesectionthatNIPOODINreferstowhenalanguageisselectedfromthe
menu.Languagenamesmustbespecifiedbetweendoublequotes(forexample"Nederlands").
LTR
IndicateslanguagedirectionLefttoRight(default).SupportedforNIPOCAPIandNIPOCAWIonly.
RTL
IndicateslanguagedirectionRighttoLeft(HebrewandArabic).SupportedforNIPOCAPIandNIPOCAWI
only.
Remarks
ThedefaultlanguageisalwaysconsideredtobeEnglish.Thisisthedefaultnameofthefirstiteminthe
languagemenuandcannotbechanged.Itisrecommendedtocreatetheoriginalquestionnairein
Englishwhenappropriateandthenaddthetranslationsections.
IfyouroriginalquestionnaireiswritteninanotherlanguagethanEnglishandyoumadeanEnglish
translationlateron,refertotheoriginallanguagewith"English"andtothistranslationwithanother
name,e.g.,"Engels".Toavoidconfusionitisrecommendedtouse*SWILANGtoswitchbetween
languagestonotconfusetheinterviewer.
Ifyouareusingthe*SWILANGcommandinyourNIPOODINquestionnaire,youcandisablethe
languagemenuinthesurveyconfigurationusingSwilangDisablesLanguageSwitch=1.
Tousebidirectionallanguages(HebrewandArabic)inNIPOCATIorintheNIPOCATIpreview,addthe
settingBiDi=1tothe[OdQes]sectionoftheNIPOSYS.INIfile.
Allowedcommands
Thefollowingcommandsmaybeusedina*LANGUAGEsection:
Page166
CommandIndex
*QUESTIONwithquestionnumberbutwithouttype,position,conditionsandotheroptions.
*?
**
*FONT(definition)
*FONT(switching)
*LIST(definition)
*USELIST
*INTRO
*INFO
*NEW
*PICT(questionoption)
*PICT(codesoption)
*HELP(definitiononlynumbered*HELPscreens)
*PAGE(Aspartofanumbered*HELPscreen)
*NUMBER(in*FORMquestion)withoutpositiondefinitionoroptions
*ALPHA(in*FORMquestion)withoutpositiondefinitionoroptions
*SCALE(in*FORMquestion)withoutpositiondefinitionoroptions
*GRID(in*FORMquestion)withoutpositiondefinitionoroptions
*HEADING
*MERGEtomergelanguagesectionsonly
Example1
Test questionnaire in three languages
*QUESTION 100 *CODES L1
Please type in the language code.
You can change the language code via the Language menu.
1: English
*QUESTION 1 *CODES L1
question in English
1: Yes
2: No
*QUESTION 2 *CODES L1
second question in English
1: Yes
2: No
*QUESTION 3 *CODES L1 *IF [ Q100,2 ]
third question only in Dutch
1: Yes
2: No
*END
*LANGUAGE "Nederlands"
Test vragenlijst in drie talen
*QUESTION 100
Wilt u de taalcode intikken.
U kunt de taalcode wijzigen via het Language menu.
2: Nederlands
Page167
CommandIndex
*QUESTION 1
vraag in het Nederlands
1: Ja
2: Nee
*QUESTION 2
tweede vraag in het Nederlands
1: Ja
2: Nee
*QUESTION 3
de derde vraag is alleen in het Nederlands
1: Klopt
2: niet waar
*LANGUAGE "Deutsch"
Test Fragenbogen in drei Sprachen
*QUESTION 100
Bitte geben Sie die Sprache ein.
Sie knnen die Sprache ndern via das Language menu.
3: Deutsch
*QUESTION 1
Frage auf Deutsch
1: Ja
2: Nein
*QUESTION 2
Zweite Frage auf Deutsch
1: Ja
2: Nein
Example2
*INTRO
Introduction text for English respondents.
** In FORM questions the location of the fields should also be
** specified in the translation, without position or options;
** but including [Tab] and [Space] characters where required.
Page168
CommandIndex
*QUESTION 4 *FORM
FORM question
1:Numeric field
*NUMBER L2 *MIN 18 *MAX 65
2:Alpha field *ALPHA L20 *NON
*TAB 40,50,60,70
*QUESTION 5 *FORM
FORM SCALE question
value1 value2 value3
1:Statement 1
2:Statement 2
3:Statement 3
*SCALE L1 3 10
*SCALE L1 3 10
*SCALE L1 3 10
*QUESTION 6 *FORM
FORM GRID question
Brand 1 Brand 2 Brand 3
1:Line 1
Line 2
Line 3
Line 4
*LANGUAGE "Nederlands"
*INTRO
Introduktietekst voor Nederlandse respondenten.
*QUESTION 4
FORM vraag
1:Numeriek veld
*NUMBER
2:Alfa veld
*ALPHA
*QUESTION 5
FORM SCALE vraag
waarde1 waarde2 waarde3
1:Uitspraak 1
2:Uitspraak 2
3:Uitspraak 3
*SCALE
*SCALE
*SCALE
*QUESTION 6
FORM GRID vraag
Merk 1 Merk 2 Merk 3
1:Regel 1
Regel 2
Regel 3
Regel 4
*GRID
SeeAlso
*SWILANG.......................................................277
Page169
CommandIndex
*LEFT
Purpose
Questiontypeoptionandoptionwithinconjointanalysis.
Syntax
*LEFT <text>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONand*SCALEorincombinationwith
*CONJ(Conjointmodule)andmustbespecifiedafterthesecommandsonthesameline.Withthis
commandatextcanbespecifiedthatisplacedatthelefthandendofthescaleduringtheinterview.
Arguments
text
Thetextthatwillbedisplayedonthelefthandpoleofthescale.Ifthetextcontainsspacesithastobe
placedbetweendoublequotes.
Example
*QUESTION 1 *SCALE 61 *LEFT "Left scale text" *RIGHT "Right scale text"
This is an example of a scale question.
Result:
SeeAlso
*CONJ...*ENDCONJ .......................................111
*RIGHT ............................................................240
*SCALE(questiontype)...................................247
Page170
CommandIndex
*LINE
Purpose
Definesacontinuousscalequestion.
Syntax
*LINE [pos]L<length>|<pos>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Inputisdonebymeansofdrawingaline,usingtheleftandrightcursorkeysorbyclicking
withthemouseonthescrollarrows.Thenumericalanswerconsistsofthelengthoftheline(thenumberof
horizontalscreenpositionsthelineoccupies)andwillbestoredrightalignedandwithleadingzerosinthe
specifiedpositions.
Youcanuse*MAXtospecifyamaximumvaluefortheline.Ifyouspecifyanegativevalueforthemaximum
averticallineispresented.
Arguments
pos
Thedatafieldspecificationwherethegivenanswersisstoredinthedatafilewiththeclosedanswers.
length
Thisisthelengthofthedatafield.
Example1
*QUESTION 1 *LINE 192L2
This is an example of a line question.
Result:
Example2
*QUESTION 1 *LINE 192L2 *MAX -99
This is an example of a vertical line question.
Page171
CommandIndex
Result:
SeeAlso
*MAX ..............................................................178
*MIN ...............................................................182
*REPEAT(questionoption).............................234
*SCALE(questiontype)...................................247
Page172
CommandIndex
*LIST(definition)
Purpose
Definesananswerlist.
Syntax
*LIST <n|"name">
Description
Definesacodelist.Thiscommandmustbespecifiedatthebeginningofaline.Thecodelistconsistsof
allthefollowinglinesuptothefirstnewcommandatthebeginningofaline.
Ifthelistisgoingtobeusedwithatextquestion(*ALPHA)theremaybeatextbetweensquare
bracketsafterthecodetext,whichisusedasdatatostorewhenthecodeisselectedduringthe
interview.
Ifthelistisgoingtobeusedwithanumericalquestion(*NUMBER)oratextquestion(*ALPHA)thelist
maycontainthesamecodemorethanonce.Thiswayyoucanhaveamultiplelabelsbecodedunderthe
samecodevalue,forexampletocoverforalternativenames,changedbrandnamesorcommonspelling
errors.
Listsprovideagreatwaytoreusecodelists,tocondensethequestionnaireandtomaintaincodeliststhat
arerepetitivelyusedthroughoutthequestionnaire.
Arguments
n
Apositiveintegerandisuniquewithinonesubquestionnaire.
name
Thenameofthelist.Thisnamemustbeuniquewithinone(sub)questionnaire.
Page173
CommandIndex
Remarks
Inthelistdefinitionacodemaybefollowedbytheansweroption*NOCON.Theuseofthisanswer
optionspecifiesthatthespecificcodealwayswillbedisplayedwhenthelistisused.Withthisoptionitis
forexamplepossibletoalwaysdisplaytheanswercategory"Dontknow".
Foreachcodeinthecodelistandwhenthelistisusedincombinationwitha*CODESquestion,the
followingcodeoptionsareallowed:*OPEN(codesoption),*NOCON,*NMUL,*SAVE(codesoption),
*FONT(switching),*GROUP,*NEWCOLUMNand*SWILANG.
Whenthelistisusedincombinationwith*NUMBERor*ALPHA,onlythecodeoption*NOCONis
allowed.Themeaningoftheoptionisthatthiscodewillnotdisappearfromthelistwhentypingan
answer.Allothercodeoptionsresultinasyntaxerror.
Ablanklineatthebottomofthelistisconsideredpartofthelistandisdisplayedinthecodelistofthe
questionthatusesthelist.
Example
*LIST 1
1: Citron
2: Fiat
3: Ford
4: Hyundai
5: Mazda
6: Mitsubishi
7: Nissan
8: Opel
9: Peugeot
10: Renault
11: Suzuki
12: Toyota
13: Volkswagen
14: Volvo
15: Other *NOCON *OPEN
16: Dont know *NOCON
SeeAlso
*LIST(questionoption)...................................175
*USELIST .........................................................284
Page174
CommandIndex
*LIST(questionoption)
Purpose
Usesanswercodesfromalist.
Syntax
*LIST <n|[expression]|"name">
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandaquestiontypedefinitionandmustbe
specifiedafterthesecommandsonthesameline.Anearlierdefinedlistofcodeswillbeusedasanswer
codesforthequestion.Thiscommandmaybeusedinthefollowingthreequestiontypes:
Incombinationwitha*CODESquestionoptionallywith*MULTI,thecodesandthetextsfromthelist
areused.TheanswercodesstoredintheUfilearedecidedbythecodenumbersinthelist.
Incombinationwitha*NUMBERquestiontheanswermustbetyped.Thelistofavailableoptions
narrowsdownateachcharacterenteredthenumber,andonlycodelabelswithamatchingpattern
(bothlabelsstartingwithorcontainingthetext)aredisplayed.Whenfinallyoneisselected,thecode
numberbelongingtotheanswerisstoredasanumberintheUfile.Theinterviewermayusethemouse
orthearrowdownkeytoselectananswerfromthe(narroweddown)list.Thecodenumbersarenot
displayedinatypeaheadlistandcannotbeenteredbytheinterviewerorrespondent.InNIPOCAPIand
NIPOCAWI,alistsmallerthan25itemsischangedintoadropdownbox.ForNIPOCAWI,takecarenot
touseverylargelistassomeolderbrowsersdonotproperlysupportthis.
Incombinationwithan*ALPHAthefunctionalityisthesameaswitha*NUMBERquestion,exceptthat
thecodelabelisstoredintheUfileratherthanthecode.Notethatthelabeltextistruncatedtothe
positiondefinitioninthe*ALPHAcommand.
Arguments
n|expression
Apositiveintegerorexpressionthatindicatesanexistinglist.Iftheexpressionisanumericvariablethe
expressionhastobeplacedbetweensquarebrackets.Iftheexpressionisatextvariable,theexpressionhas
tobeplacedbetweendoublequotes.
name
Thenameofanexistinglist.
Example1
*LIST 1
1: Citroen
2: Fiat
3: Ford
4: Hyundai
5: Mazda
6: Mitsubishi
7: Nissan
8: Opel
9: Peugeot
10: Renault
11: Suzuki
12: Toyota
13: Volkswagen
14: Volvo
15: Other *NOCON *OPEN
16: Dont know *NOCON
*QUESTION 1 *CODES 61L2 *LIST 1
What is the make of your car?
Inthisexampletheearlierdefinedlistisusedfortheanswercodes.
Page175
CommandIndex
Example2
*LIST Cars
1: Citroen
2: Fiat
3: Ford
4: Hyundai
5: Mazda
6: Mitsubishi
7: Nissan
8: Opel
9: Peugeot
10: Renault
11: Suzuki
12: Toyota
13: Volkswagen
14: Volvo
*QUESTION 2 *CODES 63L17 *MULTI
What brands of cars do you know?
*USELIST Cars
16: Other #1 *OPEN
17: Other #2 *OPEN
18: Dont know any brand *GOTO 9999
Example3
*LIST Cars2
01: Alfa Romeo
02: B.M.W.
02: BMW
03: Citroen
04: Fiat
05: Ford
06: Hyundai
07: Mazda
08: Mitsubishi
09: Nissan
10: Opel
11: Peugeot
12: Renault
13: Rolls Royce
14: Suzuki
15: Toyota
16: Volkswagen
16: VW
17: Volvo
18: Other *NOCON
19: Dont know
*TEXTVARS lname
*PUT lname "Cars2"
*QUESTION 3 *NUMBER 81L2 *LIST "*? lname"
What is the make of your car?
Inthisexample,thelistdisplayedisdeterminedbyatextvariableandthereforethenamemustbeplaced
betweendoublequotes(")whenyourefertoitinthequestion.
Whenselectingthebrand,forinstanceFord,starttypingthename.Whentypingforexamplethe"F"only
thelistnarrowsdowntothebrands"Ford"and"Fiat".The"Other"codeisalwaysdisplayedbecauseit
containsthe*NOCONcommand.Eithertypethe"O"toselect"Ford"orusetheArrowDownkey,then
pressENTER.Thisstorescodenumber05inthedatafile.
Whenselectingthebrand"Volkswagen"aftertyping"VOL"stillboth"Volkwagen"and"Volvo"are
displayed.Aftertypingthefourthcharacter"K"thelistnarrowsdownto"Volkswagen"only.Notethatwe
definedtheabbreviation"VW"withthesamecodenumber.
Page176
CommandIndex
Whenselectingthe"RollsRoyce",aftertyping"RO"thebrands"AlfaRomeo"and"RollsRoyce"are
displayed,asthesecondwordof
AlfaRomeo"stillfits."Citron"alsocontains"ro",butthisisnotatthebeginningofaword.
Example4
*LIST PeugeotModels
1:Peugeot 107 [11107 ]
2:Peugeot 1007 [111007 ]
3:Peugeot 206 [11206 ]
4:Peugeot 207 [11207 ]
5:Peugeot 207 CC
[11207CC]
6:Peugeot 207 SW
[11207SW]
7:Peugeot 307 CC
[11307CC]
8:Peugeot 307 SW
[11307SW]
9:Peugeot 307 Estate
[11307ES]
10:Peugeot 308 [11308 ]
11:Peugeot 308 SW
[11308SW]
12:Peugeot 407 [11407 ]
13:Peugeot 407 Coupe
[11407CO]
14:Peugeot 407 SW
[11407SW]
15:Peugeot 4007
[114007 ]
16:Peugeot 607 [11607 ]
17:Peugeot 807 [11807 ]
18:Peugeot Partner Combi
[11COMBI]
*QUESTION 4 *ALPHA L7 *LIST PeugeotModels
What model Peugeot do you have?
You can start typing the model number. The list of models will become shorter with every
character that you type. Then select the appropriate model by using the arrow keys or the
mouse.
InthisexamplethemodelofPeugeotisasked.NIPOODINstoresthemodelnumberspecifiedbetweenthe
squarebrackets.
SeeAlso
*LIST(definition).............................................173
*USELIST .........................................................284
Page177
CommandIndex
*MAX
Purpose
Setsamaximum.
Syntax
*MAX <n|[expression]>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthequestion
typedefinitiononthesameline.
Incombinationwith*CODES*MULTIitdefinesthemaximumnumberofanswersallowed.
Incombinationwith*NUMBERitdefinesthemaximumvaluethatmaybeentered.
Incombinationwith*NUMBERanda*LIST(questionoption)itdefinestheendofthelist;codelabels
thathaveahighercodevaluewillnotbedisplayed.
Incombinationwith*LINEitdefinesthenumberofstepsthelinewillincrease.Forexampleifthe
maximumis10thenthelinewillbeonitsmaximumin10steps.
Incombinationwith*SCALEitdefinesthenumberofpointsinthescale.Notethatthemaximum
numberofpointsona*SCALEquestionis26.
Arguments
n|expression
Thisisapositiveintegerorexpressionthatgivesthemaximumanswervalue.
Example1
*QUESTION 91 *NUMBER L2 *MAX 65
What is your age?
(Maximum is 65)
*QUESTION 92 *CODES L1
Do you smoke?
1: Yes
2: No
*QUESTION 93 *NUMBER L2 *MAX [ Q91 ]
At what age did you start smoking?
(Maximum is current age)
Page178
CommandIndex
Example2
*QUESTION 1 *NUMBER L1
How many cars do you have?
*QUESTION 2 *CODES L16 *MULTI *MAX [ Q1 ] *IF [ Q1>=1 ]
What brand(s) of car(s) do you have
(Maximum as many brands as you have cars)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Citroen
Fiat
Ford
Hyundai
Mazda
Mitsubishi
Nissan
Opel
Peugeot
Renault
Suzuki
Toyota
Volkswagen
Volvo
Inthisexample,nomoreanswerscanbegiventhanthenumberofcarsmentionedinQ1.
Example3
*QUESTION 71 *SCALE L1 *MAX 5
This is an example of a scale question with 5 boxes.
*QUESTION 72 *LINE L2 *MAX 50
This is an example of a line question, divided in 50 steps.
SeeAlso
*LINE ...............................................................171
*MIN ...............................................................182
*MULTI............................................................186
*NUMBER(questiontype)..............................205
*RANGE...........................................................228
*SCALE(questiontype)...................................247
Page179
CommandIndex
*MERGE
System
NIPOCAPIandNIPOCATIStandaloneonly.
Purpose
Insertsaquestionnaire.
Syntax
*MERGE [startpos] <filename> [:C]
Description
Thespecifiedquestionnairefileisinsertedontheplaceofthiscommand.*MERGEcannotbeusedina
questionnairethatisalreadymergeditself.
Arguments
startpos
Thestartpositionwithwhichallfixeddatafieldsinthemergedquestionnairewillberaised.Alldatafields
thatarenotfixedwillbereservedasusualinconsecutivepositions.
filename
Nameofthequestionnairethathastobemerged.Thenamemustcomplywiththequestionnairenaming
conventions.NotethatthelastcharacterQinthefilenamemustbeincluded.
:C
Thequestionnairethatshouldbemergediscoded(encrypted),soitcannotbeviewed,openedorchanged
bytheinterviewerorrespondent.ThequestionnairecanbeencryptedwiththeNIPOSoftwareprogram
DECODE.EXE.Bydefaultmergedquestionnairesareuncoded(plainASCIItext),whichmeansthatthey
couldbeviewedorchangedbytheinterviewerorrespondent.
Remarks
Thequestionnairetobemergedhastohavefixeddatafields.
The*MERGEcommandisintendedfortheNIPOCAPISystemorNIPOInterviewSystemstandalone.
Whenusing*MERGEintheNIPOFieldworkSystem,thequestionnairethatshouldbemergedmustbe
placedonthelocaldriveoftheinterviewerworkstation.
Nostartpositioncanbedefinedifthequestionnaireistobemergedinalanguagesection.
The*MERGEcommandcannotbeusedconditionallyasitisevaluatedwhenthequestionnaireisloaded
intomemory.
Example1
*MERGE BCKGRNDQ
ThequestionnairewiththenameBCKGRNDQismergedintothemainquestionnaireatstartup.
Page180
CommandIndex
Example2
*QUESTION 100 *CODES L1
Please type in the language code.
You can change the language code via the Language menu.
1: English
*QUESTION 1 *CODES L1
question in English
1: Yes
2: No
*QUESTION 2 *CODES L1
second question in English
1: Yes
2: No
*QUESTION 3 *CODES L1 *IF [ Q100,2 ]
third question only in Dutch
1: Yes
2: No
*END
*LANGUAGE Nederlands
*MERGE DUTCHQ
*LANGUAGE Deutsch
*MERGE GERMANQ
Inthisexample,aquestionnairewiththenameDUTCHQismergedintotheDutchlanguagesectionofthe
mainquestionnaireandaquestionnairewiththenameGERMANQwillbemergedintotheGermanlanguage
sectionofthemainquestionnaire.
Page181
CommandIndex
*MIN
Purpose
Setsaminimum.
Syntax
*MIN <n|[expression]|Qn>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthequestion
typedefinitiononthesameline.
Incombinationwith*CODES*MULTIitdefinestheminimumnumberofanswersallowed.
Incombinationwith*NUMBERitdefinestheminimumvaluethatmustbeentered.
Incombinationwith*NUMBERanda*LIST(questionoption)itdefinesthestartofthelist;codelabels
thathavealowercodevaluewillnotbedisplayed.
Incombinationwith*LINEitdefinesthestartinglengthoftheline,thenumberofscreenpositionthe
lineisinitiallysetat.
Incombinationwith*SCALEitdefinesthecodebydefaultselectedinthescale.Setto0tospecifythat
nostartingpositionisselected.
Arguments
n|expression
Apositiveintegerorexpressionthatgivestheminimumanswervalueortheinitiallengthorposition.
Qn
Aquestionreferenceofadatafield.Theanswertothisquestionisusedastheminimumvalue.
Example1
*QUESTION 91 *NUMBER L2 *MIN 18 *MAX 65
What is your age?
(Minimum is 18, maximum is 65)
*QUESTION 101 *NUMBER L4 *MIN [ -999 ]
What was the gross profit for your company last year?
(Type the profit in Millions, if the company made a loss, use negative numbers)
Page182
CommandIndex
Example2
*QUESTION 1 *CODES L18 *MULTI *MIN 3
What are your three favorite car brand(s)?
(Minimum 3 brands)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Citroen
Fiat
Ford
Hyundai
Mazda
Mitsubishi
Nissan
Opel
Peugeot
Renault
Suzuki
Toyota
Volkswagen
Volvo
Example3
*QUESTION 71 *SCALE L1 *MAX 5 *MIN 3
This is an example of a scale question with 5 boxes.
The initial value is 3 (the box in the middle)
*QUESTION 72 *SCALE L1 *MAX 5 *MIN 0
This is an example of a scale question with 5 boxes.
The initial value is 0 (no box preselected)
Example4
*QUESTION 81 *LINE L2 *MAX 50 *MIN 25
This is an example of a line question, divided in 50 steps. The initial value is 25 (line
is halfway the screen)
*QUESTION 82 *LINE L2 *MAX 50 *MIN 0
This is an example of a line question, divided in 50 steps. The initial value is 0 (no
line)
SeeAlso
*LINE ...............................................................171
*MAX ..............................................................178
*MULTI............................................................186
*NUMBER(in*FORMquestion) .....................206
*NUMBER(questiontype)..............................205
*RANGE...........................................................228
*SCALE(in*FORMquestion) ..........................249
*SCALE(questiontype)...................................247
Page183
CommandIndex
*MOVA
Purpose
TransfersdatatotheTfileorSampletablerecord.
Syntax
*MOVA <Qn> <Qm>
Description
DataspecifiedinthesecondargumentistransferredtothedatafieldintheTfileorSampletablerecord
specifiedinthefirstargument.Theoriginalcontentsofthereceivingdatafieldareoverwritten.This
commandmayalsobeallowedundercondition.
Arguments
Qn
Thisisa(dummy)questionthatreferstoadatafieldintheTfileorSampletablerecord.
Qm
Thequestionreferenceofthedatafieldthatcontainsthedatatobetransferred.
Remarks
PositionsintheTfilearelinkedtofieldsintheSampletable.Formoreinformation,seeCopyingPositions
FromaTfile(see"CopyingPositionsFromaTfileIsLimitedtoFieldLength"onpage24)fordetails.Asa
resultyoushouldnotrefertopositionsintheTfilethatoverlapfields.Forexample,thefollowingscript:
*MOVA 136L55 101L55
ThisexamplestoresthecontentsofQ2(position6162)inposition290291oftheTfile.Thiscorresponds
tothe4thandthe5thpositioninthefieldTTDisplayField4intheSampletablerecord.
SeeAlso
*ADDRESS .........................................................93
*COPY .............................................................114
*MOVU ...........................................................185
Page184
CommandIndex
*MOVU
Purpose
Transfersdatatoadatafieldintheclosedanswersrecord(Ufile).
Syntax
*MOVU <Qn> <Qm>
Description
Dataspecifiedinthesecondargumentistransferredtothedatafieldspecifiedinthefirstargument.This
commandisusedtotransferdatafromtheTfileorSampletablerecordtoadatafieldintherecordwith
closedanswers.Theoriginalcontentsofthereceivingdatafieldareoverwritten.Thiscommandmayalso
allowedundercondition.
Arguments
Qn
Thequestionreferenceofthedatafieldwherethedatahavetobetransferredto.
Qm
Referstoa(dummy)questionindicatingadatafieldintheTfileorSampletablerecordthatcontainsthe
datatobetransferred.
Remarks
PositionsintheTfilearelinkedtofieldsintheSampletable.Formoreinformation,seeCopyingPositions
FromaTfile(see"CopyingPositionsFromaTfileIsLimitedtoFieldLength"onpage24)fordetails.Asa
resultyoushouldnotrefertopositionsintheTfilethatoverlapfields.Forexample,thefollowingscript:
*MOVU 155L55 136L55
Thisexamplestoresthecontentsofposition290291oftheTfileorSampletablerecordintoquestion2
(position6162).
Example2
*QUESTION 701 *ALPHA 1L17 *ADDRESS
*QUESTION 702 *ALPHA 101L17
*MOVU Q702 Q701
Thisexamplestoresthetelephonenumber(position117oftheTfileorSampletablerecord)intoquestion
702(position101117).
SeeAlso
*ADDRESS .........................................................93
*COPY .............................................................114
*MOVA............................................................184
Page185
CommandIndex
*MULTI
Purpose
Specifiesaquestionasamultiplecodedquestion.
Syntax
*MULTI [[pos]L<length>|<pos>]
Description
Specifiesaquestionasamultiplecodedquestion.Thiscommandmaybeusedincombinationwithaclosed
question,anopenquestionora*SCALEfieldina*FORMquestionandmustbespecifiedafterthese
commandsonthesameline.Thelengthofthedatafieldspecificationfor*CODEShastobeatleastaslong
asthehighestcodevalueinthesetofpresentedcodes.Theanswersisstoredasastringof0and1valuesin
thedatafilewiththeclosedanswers.Hereanswercodencorrespondswiththentthpositioninthestring.A
1onthatpositionmeansthattheanswerwasgiven.
If*MULTIisusedincombinationwith*OPEN,thequestionwillberegardedasamultipleanswer
questionwhencodingopenanswers.
If*MULTIisusedincombinationwith*GRID,thegridquestionwillberegardedasmultipleandmore
thanoneboxmaybeselectedinbothhorizontalandverticaldirection.
If*MULTIisusedincombinationwitha*SCALEina*FORMquestion,itcreatesamultipleanswer
checkbox.
Arguments
pos
Anoptionaldatafieldspecificationwheretheorderofthementionsisstoredinthedatafilewiththeclosed
answers.
length
Thenumberofcodesofwhichtheorderwillbesavedisdependentofthelengthinthedatafield
specification.Thishastobejustaslongasthenumberofcodestobesavedmultipliedbythenumberof
digitsforthehighestcode.Ifthedatafieldisshortercodesmaybetruncated.
INNIPOCAWI,theorderofmentionsismarkedbynumbersastherespondentselectstheanswers.
Remarks
Tospecifyamaximumnumberofanswerstobementioned,use*MAX.
Example
*QUESTION 1 *CODES 61L10 *MULTI 71L6
What PC makes do you know?
1:
2:
3:
4:
5:
6:
9:
10:
Acer
Compaq
Dell
Hewlett Packard
IBM
Philips
Other *OPEN
Dont know *NMUL
Inthisexample,allmentionsarestoredinposition61L10.Theorderofthefirstthreeanswersmentionedis
storedinposition71L6.Forinstance,ifthecategories5,1,6and4arementioned,position71L2willhold
thevalue05,position73L2willholdthevalue01andposition75L2willholdthevalue06.
Page186
CommandIndex
SeeAlso
*CODES ...........................................................109
*GRID(in*FORMquestion)............................141
*NMUL ............................................................198
*OPEN(questiontype)....................................208
*SCALE(in*FORMquestion) ..........................249
Page187
CommandIndex
*NCLS
Purpose
Doesnotclearthescreenatnewquestion.
Syntax
*NCLS
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONor*PAGEandmustbespecifiedafter
thesecommandsonthesameline.Duringtheinterview,thescreenwillnotbeclearedwhenthisquestion
isdealtwith.Thequestionisplacedunderthepreviousquestiononthescreen.Ifallverticalscreenlines
areused,thetextwillscrolloffthetopofthescreenandascrollbarwillappear.
Remarks
Ifthescreendoesnotscrollautomatically,youcanusethescrollbartoscrollthescreen.
Example
*QUESTION 1 *CODES 61
Do you own a DVD player?
1: Yes
2: No
*QUESTION 2 *OPEN 62L10 *MULTI *IF [Q1,1] *NCLS
What is the brand of your DVD player?
Inthisexample,thescreenisnotclearedwhenquestion2comesup:
SeeAlso
*PNW..............................................................220
Page188
CommandIndex
*NEW
Purpose
Startsanewsubquestionnaire.
Syntax
*NEW [n|Qn]
Description
Definesthestartofanewsubquestionnaire.Thiscommandmustbespecifiedatthebeginningofaline.A
subquestionnaireformsaclosedsetofquestions.Questionnumbersandanswerfieldsmaymatch
questionnumbersandanswerfieldsofanothersubquestionnairewithoutconsequences.Foreachsub
questionnaireaseparateanswerrecordisstored.Variablesarealwaysknownthroughouttheentire
questionnaire.
Thefunctionofthiscommandistodealwithseveralsubjects,forinstancefromdifferentresearchers,inthe
sameinterviewortostoreseparaterecordsforeachmemberofahouseholdortostoredataover99,999
positionsperrecord.
Arguments
n
Thepositionoftherecordfromwheretheanswersofthepreviousquestionnairewillbecleared.
Qn
Thequestionreferenceofthedatafieldfromwheretheanswersofthepreviousquestionnairewillbe
cleared.
Remarks
Ifthisargumentisgivenyoumaystillrefertodatafieldsthatarelowerthanthespecifieddatafield.
Iftheargumentisomittedthedefaultpositionis61.
Aftera*NEWyoucanalwaysrefertoquestionsinprevioussubquestionnaire(s).Howeverifyouusea
questionnumberagaininanewsubquestionnaire,itwillrefertothequestioninthecurrentsub
questionnaire.Youarenotallowedtostoreanythinginaprevioussubquestionnaire.
Page189
CommandIndex
*NEWCOLUMN
System
NIPOCATIandNIPOCAWI
Purpose
Setsabreakpointforcategorylists.
Syntax
*NEWCOLUMN
Description
Thiscommandisusedtosetabreakpointforcodelistsifusedincombinationwith*AUTO.Whenacode
lististoolongtofitonthescreenthesystemattemptstoarrangethecodesintocolumnsofequallengthon
thescreen.With*NEWCOLUMNyoucandeterminewheretostartthenextcolumn.
Page190
CommandIndex
Remarks
IntheNIPOCATIyoucannotforcetosplitacolumnlistataspecificpoint.Onlyiftheenginedecidesto
splitacolumnlistitwilltakeintoaccountwhereyouhaveputthebreakpoints.
IntheNIPOCAWI,*AUTOisnotsupported.The*NEWCOLUMNcommandsplitscodesincolumnsfor
theNIPOCAWI.Inotherwords,thecolumnsareforced.
Bydefaultthesystemmakesabestefforttocreatecolumnsofequallength.Using*NEWCOLUMN
preventsthisbehavior.
Example
Page191
CommandIndex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 *NEWCOLUMN
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 *NEWCOLUMN
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Inthisexamplethesecondcolumnstartsatthetwentiethcoderegardlessthelengthofthecolumns.
Page192
CommandIndex
Result:
SeeAlso
*AUTO...............................................................98
*GROUP ..........................................................146
*HEADING .......................................................149
Page193
CommandIndex
*NEXT
System
NIPOCATIonly.
Purpose
Skipsfieldsinformquestions.
Syntax
*NEXT <n>
Description
Withthiscommanditispossibletojumptoaspecificfieldinaformquestionwherenreferstothefield
number.Ifthefieldsarenotnumbered,NIPOODINwillnotskipanyfields.Adda*NONcommandafterall
fieldsthatmaybeskippedbythe*NEXTcommand.Itisrecommendedtousethisoptionincombination
withan*IFstatement.
Arguments
n
Fieldnumbertowhichthejumpwillbemade.Theindexofthefieldiscountedhorizontallyfirstand
verticallysecond.
Example
*QUESTION 1 *FORM
Income and spending per month
1: Gross income per month
*NUMBER L5
*NUMBER L5 *NON
*NUMBER L5 *NON
Inthisexample,themortgagepermonthisaskediftherespondentownsahouse,otherwisetherentper
monthisasked.
SeeAlso
*FORM ............................................................132
*IF(condition)...*ELSE...................................154
Page194
CommandIndex
*NEXTRECORD
System
NIPOCATIonly.
Purpose
CreateorupdateaSamplerecordtobeusedinsametelephoniccontact.
Syntax
*NEXTRECORD Variable "SampleTableField1=text1, SampleTableField2
=text2, "
Description
Usethe*NEXTRECORDcommandinaNIPOODINquestionnaire,tocreateanewSamplerecordorto
updateanexistingSamplerecord,soitcanbeusedinthesametelephonecontact.Thepurposeofthisisto
performmultipleinterviewsduringasingletelephoniccontact,andmaintainsamplerecordsper
respondentifrequired.
Oncethecurrentinterviewiscompleted(eitherasasuccessfulintervieworwithanynonresponse
code),thesystemautomaticallyrestartstheinterviewwiththesamplerecordsthatwereupdatedor
createdduringtheinterviewwithoutdisconnectingthetelephonelineorendingtheinterview.
Oncethe*NEXTRECORDcommandisexecutedsuccessfullytheVariablecontainstheinterview
numberoftheupdatedorcreatedrecord.
Arguments
Variable
Thisisavariablethatcontainsavalue0uptoandincluding99999999,whichisusedasInterviewNumber.
When0(zero)isspecifiedastheinterviewnumber,thesystemcreatesanewsampletablerecordand
assignsaninterviewnumberautomatically.Thisinterviewnumberwillbebasedonthehighestvaluefor
thefieldInterviewNumberintheSampletable,orasdefinedintheStartIntnr=<nr>setting
specifiedintheSurveyConfigurationfile.Thisrecordcontainsacopyofallthefieldsoftheactiverecord
whichareknownbythesystem(usedinthescriptorinthesurveyconfigurationfile).Thesystemfields
areautomaticallyinitializedandthespecifiedsampletablefieldsareupdatedwiththeconfigured
values.
IftheInterviewNumberdoesnotyetexistintheSampletableanewrecordwiththespecified
interviewnumberiscreated.
Thisrecordwillcontainacopyofallthefieldsoftheactiverecordknownbythesystem(assetinthe
surveyconfigurationfile).Thesystemfieldsarealsoinitializedandthespecifiedsampletablefieldsare
updatedwiththeconfiguredvalues.
WhentheInterviewNumberalreadyexistsintheSampletable,thatSamplerecordwillbeupdated
withthegiveninformation.ThesystemfieldsareinitializedandtheSampletablefieldsthatare
specifiedareupdated.
AftersuccessfulexecutionVariablecontaintheInterviewNumberoftheneworupdatedrecord.
Iftheexecutionofthe*NEXTRECORDfails,thevariablewillcontaina(negative)returncode.For
details,seeReturnCodesfor*NEXTRECORD.
"SampleTableField1=text1, SampleTableField2=text2, "
SetthecontentsofdatabasefieldsintheSampletable.Thisstringmaybeleftemptyusingdoublequotes.
Page195
CommandIndex
Remarks
ThespecifiedSampletablefieldsmustexistintheSampletableandmusthavebeenpreviouslydefined
withthe*SAMPLEDATAcommand.
Text1,Text2,maycontainspacesand/orreferencesto(system)variables.
Textsshouldnotbeembeddedinquotes.Anyquoteswillbeconsideredpartofthetext.
Expressionsarenotsupported.Usethe*PUTcommandtofirstevaluateexpressions.
Valuessettofieldsaretruncatedtothesizeofthesampletablefield.
Theinterviewercannotgobackinthequestionnaireaftera*NEXTRECORDisexecuted.Youdonot
needtospecifya*NOTBACKcommandinthequestionnaire.
Wheneveracopyoftheactiverecordismade,thenewrecordincludesanychangesmadetotheactive
recordduringtheinterview.
Whenusedinanomnibussurveythe*NEXTRECORDcommandcannotbeusedtoupdatetherecords
oftheomnibustable.
*NEXTRECORDrequirescommunicationbetweenNIPOCATI/WebMasterandNIPOFMSServer.
Checktheconfigurationwithyoursystemadministrator.
Youmaynotchangethecontentsofthefollowingsystemfields(systemvariables):
InterviewNumber (TTInterviewNumber)
Status (TTAvailabilityCode)
ResponseCode (TTStatusCode)
NumberOfContacts (TTNumberOfContacts)
ContactTime (TTContactTime)
SystemData (TTSystemData)
InterviewerNumber (TTInterviewerNumber)
ID (TTID)
SuspendImage
Channel
Anychangesinsystemfieldsareignoredwithoutwarning.Thevaluesforthesefieldswillbeequaltothose
ofaninitialNIPOCATIrecordclaimedbytheNIPOFieldworkSystem.
Example1
*PUT NewNumber [ 0 ]
*NEXTRECORD NewNumber "TTDisplayField1=*?Name"
ThesystemcreatesanewSamplerecord.TheNIPOFieldworkSystemdefinesthenew
InterviewNumber.ThefieldDisplayField1issettothetextvariableNAME.Allotherfieldsare
copiedfromthecurrentsamplerecord.Allsystemfieldsareinitialized.Oncetheinterviewends,the
questionnairerestartsforthisnewlycreatedsamplerecord.
Example2
*SAMPLEDATA TTInterviewNumber
*PUT NewNumber [ TTInterviewNumber ]
*REPEAT 9
*IF [?R > FamilySize ] *END
*PUT NewNumber [ NewNumber + 1 ]
*IF [?R > 1] *NEXTRECORD NewNumber "TTDisplayField1=*?Name[?R]"
*ENDREP
ThesystemcreatesnewSamplerecordsdependentonthefamilysizestoredinthevariableFamilySize.
ThenewinterviewnumberisbasedontheoriginalInterviewNumbervalue.Thisrequiresthatthese
interviewnumbersdonotyetexisttheoriginalsamplemustcontainpresetinterviewnumberswith
"gaps"of9records.ThefieldDisplayField1isstoredwiththenameofthefamilymembersthathave
previouslybeenstoredintheNamearray..Allothersamplerecordfieldsarecopiedfromthecurrent
record.Allsystemfieldsareautomaticallyinitialized.
Page196
CommandIndex
SeeAlso
*SQLADD.........................................................261
Page197
CommandIndex
*NMUL
Purpose
Specifiesthatthecodeinquestioncannotbegivenasanswerincombinationwithothercodes.
Syntax
*NMUL
Description
Thiscommandisalwaysusedafteracodedefinitionandmustbespecifiedbehindthiscodeonthesame
line.Specifiesthatthecodecannotbegivenasanswerincombinationwithothercodes.
Remarks
Thiscommandisonlyeffectiveforquestionsthatallowmultipleanswers.
Example
*QUESTION 1 *CODES 61L10 *MULTI
What PC makes do you know?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Acer
AST
Compaq
Dell
Hewlett Packard
IBM
Philips
Tulip
Other *OPEN
Dont know *NMUL
Inthisexample,selectingcode10willautomaticallydeselectothercodesandviceversa.
Page198
CommandIndex
*NOCON
Purpose
Specifiesthatthecodeinaquestiondoesn'tcomeundercontrol.
Syntax
*NOCON
Description
Thiscommandisalwaysusedbehindacodedefinitionandmustbespecifiedafterthiscodeonthesame
line.Ifthecodesofthecurrentquestionaredisplayedundercontrolbymeansof*CONTROLthenthis
codeisignoredandalwaysdisplayed.Thiscommandisalsousedforthequestionoptions*RANDOM,*INV
and*ROT.Allcodesstartingfromthecodethathave*NOCONasoptionaredisplayedonthescreen.
Ifusedincombinationwith*LISTand*NUMBERor*ALPHAthecodeisalwaysdisplayedregardlessof
thetextenteredasthenarroweddownsearch.
Example
*QUESTION 1 *CODES 61L10 *MULTI
What PC brands do you know?
(Unaided awareness)
1:
2:
3:
4:
5:
6:
7:
8:
Acer
AST
Compaq
Dell
Hewlett Packard
IBM
Philips
Tulip
9: Other *OPEN
10: Dont know any makes*NMUL
*QUESTION 2 *CODES 71L10 *MULTI *CONTROL Q1 N
Which of the following PC makes do you know?
(Aided awareness)
1:
2:
3:
4:
5:
6:
7:
8:
Acer
AST
Compaq
Dell
Hewlett Packard
IBM
Philips
Tulip
Inthisexample,code10inquestion2isalwaysdisplayed,evenwhenitismentionedinquestion1.
SeeAlso
*CONTROL ......................................................112
*INV ................................................................163
*LIST(definition).............................................173
*RANDOM.......................................................226
*ROT ...............................................................241
Page199
CommandIndex
*NOENTER
System
NIPOCATIonly
Purpose
AllowsbypassingtheENTERkey.
Syntax
*NOENTER
Description
WiththiscommanditispossibletoenterdatawithoutconfirmingbypressingtheENTERkeyortheOK
button.Thisspeedsupdataentry.
Remarks
Thisoptionhasnoeffecton*MULTIand*ALPHAquestions.Notethatthisoptionmaybeerrorsensitive.
Example
*NOENTER
*QUESTION 1 *CODES L1
Gender
1: Male
2: Female
*QUESTION 2 *NUMBER L2
Age
Page200
CommandIndex
*NOHIDE
Purpose
Ignoresthe*CONTROLcommandforaspecificcode.
Syntax
*NOHIDE
Description
Sameas*NOCON.See*NOCONforafulldescription.
SeeAlso
*NOCON..........................................................199
Page201
CommandIndex
*NON
Purpose
Permitsnonresponse.
Syntax
*NON
Description
Thiscommandcanbespecifiedonany*QUESTIONorona*ALPHA,*NUMBER,*SCALEor*LINEfield
ina*FORMquestion.Nonresponseispermittedatthisquestionorfield.ItispermittedtopressENTERor
OKwithoutgivingananswer.
Remarks
Ifthecommandisusedincombinationwitha*SCALEquestionora*LINEquestionaDon'tKnowbutton
automaticallyappearstoenternonresponse.
Example
*QUESTION 1 *NUMBER 61L4 *NON
What is your postcode?
Inthisexample,itispossibletopressENTERorOKwithoutfillinginthepostcode.
SeeAlso
*ALPHA(in*FORMquestion) ...........................96
*ALPHA(QuestionType)...................................95
*FORM ............................................................132
*LINE...............................................................171
*NUMBER(in*FORMquestion) .....................206
*NUMBER(questiontype)..............................205
*QUESTION .....................................................224
*SCALE(in*FORMquestion) ..........................249
*SCALE(questiontype)...................................247
Page202
CommandIndex
*NONRESP
System
NIPOCATI/NIPOCAWIonly.
Purpose
Endquestionnaire,toresponselist.
Syntax
*NONRESP ["I"|"E"|"A"]
Description
Withthiscommandtheinterviewisterminatedandtheindicatednonresponselistisputonthescreen.
Theargumentdetermineswhichlistwillbeshown.Iftheargumentisomittedthedefaultnonresponselist
for"I"isdisplayed.
Arguments
"I"
Thenonresponselistthatisdisplayedinitiallyappearsonthescreen.Thisisthelistthatappearsafter
pressingtheNonRespkeyintheintroductionscreen.Thislistcanbeconfiguredbythefieldworkmanager
orusingthesurveyconfigurationfile.Bydefaultthenonresponsecodescodes0117areinthislist.
"E"
Thenonresponselistthatisdisplayedwhentheinterviewerwantstoenteranonresponsecodeafterthe
interviewwasstarted,bychoosingFile>NonRespfromthemenu.Thislistcanbeconfiguredbythe
fieldworkmanagerorusingthesurveyconfigurationfile.Bydefaultthenonresponsecodescodes0417
areinthislist.
"A"
ThenonresponselistthatisdisplayedwhentheinterviewerselectsFile>Appointfromthemenutomake
anappointmentwiththerespondent.Thislistcanbeconfiguredbythefieldworkmanagerorusingthe
surveyconfigurationfile.Bydefaultthenonresponsecodescodes06and07areinthislist.
Example
*QUESTION 1 *CODES L1
Start interview now?
1: Yes
2: No, make appointment *NONRESP "A"
3: No, Non-response (specify) *NONRESP "E"
Notethatifanappointmentismade,itiscontinuedatQ1.Thereforecode1isrequiredtocontinuethe
interview.
SeeAlso
*ABORT .............................................................92
*APPOINT..........................................................97
*CUT................................................................116
*END ...............................................................121
*ENDNGB ........................................................123
*ENDST ...........................................................124
Page203
CommandIndex
*NOTBACK
Purpose
Blocksgoingbackinquestionnaire.
Syntax
*NOTBACK
Description
Theinterviewerorrespondentcannotgobackinthequestionnaireanyfurtherthanuptothiscommand.
UsingtheBackbuttonatthisspotresultsinanerrormessage.
Remarks
Itispossibletogobackpastthispointusingthecommand*BACK.
Page204
CommandIndex
*NUMBER(questiontype)
Purpose
Definesanumericalquestion.
Syntax
*NUMBER [pos]L<length>[.fraction]|<pos>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedbehindthis
commandonthesameline.Definesaquestionasanumericalquestionandexpectsanumberasananswer.
Arguments
pos
Thedatafieldspecificationwherethegivenanswersisstoredinthedatafilewiththeclosedanswers.
length
Thelengthofthedatafield.Thelengthofthedatafielddefinesthenumberofdigitsofthemaximumvalue
ofthequestion.Incaseofafloatingpointvalue,thelengthofthedatafieldislength+fraction.
fraction
Thenumberofdecimalsthatisallowedtobeenteredinafloatingpointvalue.Thefractionisstoredinthe
datafieldwithoutthedecimalseparator.Whichseparator(pointorcomma)istobeusedbythe
interviewerorrespondentdependsontheregionalconfigurationsettings.
Remarks
Theanswerisrightalignedandstoredwithleadingzerosintheanswerfield.
Theanswercanconsistofanintegerorafloatingpointvalue,asdefinedinthedatafieldspecification.
Thedecimalpointinthesyntaxisneverstoredintheanswerrecord.
Themaximumvaluecanbesetwiththe*MAXor*RANGEcommand,butisalsolimitedbythenumber
ofpositionsinthedatafield.
Theminimumvaluecanbesetwiththe*MINor*RANGEcommand.
Negativevaluescanonlybeenteredwhenthe*MINor*RANGEcommandisdefinedwithanegative
value.
Negativevaluesarestoredwithaprecedingminussigninthedatafile.Notethatyoumayrequirean
extrapositioninthefielddefinition.
Positivevaluesarestoredwithoutsign.
Example
*QUESTION 1 *NUMBER 61L3.2 *MAX 100
What percentage of your income do you spend on clothing?
Inthisexample,youcanenteravaluewithtwodecimals,forinstance60.75.Inthedatafield06075is
storedin5positions.
SeeAlso
*ALPHA(QuestionType)...................................95
*CODES ...........................................................109
*LIST(questionoption)...................................175
*MAX ..............................................................178
*MIN ...............................................................182
*OPEN(questiontype)....................................208
*RANGE...........................................................228
Page205
CommandIndex
*NUMBER(in*FORMquestion)
Purpose
Definesanumericalfieldina*FORMquestion.
Syntax
*NUMBER [pos]L<length>[.fraction]|<pos>
Description
Thiscommandisalwaysusedina*FORMquestion.Definesafieldthatexpectsanumberasananswer.
Severalfieldsmaybespecifiedinthesame*FORMquestion.Theanswerisrightalignedwithleadingzeros
intheanswerfield.Theanswercanconsistofanintegerorafloatingpointvalue,asdefinedinthedata
fieldspecification.Thedecimalcharacterisnotstoredinthedatefield.
Arguments
pos
Thedatafieldspecificationwherethegivenanswersisstoredinthedatafilewiththeclosedanswers.
length
Thelengthofthedatafield.Thelengthofthedatafielddefinesthenumberofdigitsofthemaximumvalue
ofthequestion.Incaseofafloatingpointvalue,thelengthofthedatafieldislength+fraction.
fraction
Thenumberofdecimalsthatisallowedtobeenteredinafloatingpointvalue.Thefractionisstoredinthe
datafieldwithoutthedecimalseparator.Whichseparator(pointorcomma)istobeusedbythe
interviewerorrespondentdependsontheregionalconfigurationsettings.
Remarks
Theanswerisrightalignedandstoredwithleadingzerosintheanswerfield.
Theanswercanconsistofanintegerorafloatingpointvalue,asdefinedinthedatafieldspecification.
Thedecimalpointinthesyntaxisneverstoredintheanswerrecord.
Themaximumvaluecanbesetwiththe*MAXor*RANGEcommand,butisalsolimitedbythenumber
ofpositionsinthedatafield.
Theminimumvaluecanbesetwiththe*MINor*RANGEcommand.
Negativevaluescanonlybeenteredwhenthe*MINor*RANGEcommandisdefinedwithanegative
value.
Negativevaluesarestoredwithaprecedingminussigninthedatafile.Notethatyoumayrequirean
extrapositioninthefielddefinition.
Positivevaluesarestoredwithoutsign.
Example
*TAB 50, 60
*QUESTION 1 *FORM *BUT 99 "Don't know"
What percentage of your income do you spend on ...
1:Regular expenses (rent, heating, etc)
2:Clothing
*NUMBER 65L3.1 *MAX 100
3:Food *NUMBER 69L3.1 *MAX 100
%
4:Going out
*NUMBER 73L3.1 *MAX 100
%|
*QUESTION 2 *CODES 77L1 *IF [Q1F1 + Q1F2 + Q1F3 + Q1F4 <> 100]
The sum of all 4 fields may not add up over 100%
1: go back and correct *BACK 1
Inthisexample,youcanenterfourvalueswithonedecimaleach.TheOKbuttonisenabledafterallfields
areenteredandmatchthecriterion*MAX 100.Question2checksthesumofthevalues.
Page206
CommandIndex
TheDon'tknowbuttonisenableduntilallfieldsarecompleted.IftheDon'tknowbuttonispressed,the
firstfieldofthe*FORMquestioncontainsthevalue99(thevalue0990isstoredinposition6164).
Result:
Page207
CommandIndex
*OPEN(questiontype)
Purpose
Definesanopenquestion.
Syntax
*OPEN [pos]L<length>|<pos>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Itdefinesaquestionasanopenquestionthatexpectsanalphanumericalanswer.This
openanswercanbeofvirtuallyunlimitedlength.Theanswerisstoredinaseparatedatafileforopen
answers(surveyO).Duringorafterfieldwork,suchopenendedanswersmaybecodedusingtheNIPO
CodingModuleorNfieldCode.Althoughtheanswerarenotstoredinthedatafile(Ufile)withtheclosed
answers,youmustreservedatapositionsintheUfile.Itisrecommendedbutnotrequiredtoreserve
positionsthatwillbeusedformergingthecodedopenendedanswers.
Arguments
pos
ThestartofthedatafieldreservedintheUfile.ThispositionisalsobeusedasidentificationtomatchOfile
openendedanswerswithaUfiledataposition,toenablecodingopenanswersusingNfieldCodeorthe
NIPOCodingModule.
length
Thelengthofthedatafield.
Remarks
Atextboxappearsinwhichyoucantypethecompleteanswer.TypingisfinishedwhentheOKorCancel
buttonispressed.
Optionallythecommand*MULTImaybeadded.Thishasnoinfluenceontheinterviewingprocess.
Whencodingopenanswersthequestionwillbetreatedasamultiplecodedanswerquestion.
Example1
*QUESTION 1 *OPEN 61 *NON
Do you have comment or remarks regarding this questionnaire?
Inthisexample,youcanenteranytext.ThistextisstoredintheOfile.NocodesarestoredintheUfile,so
therelateddatafield(61)remainsempty.Itishoweverusedtoreservesomespaceforcodingopenended
answer.Becauseofthe*NONcommand,itisalsopossiblenottoenteranythinginwhichcasenoopen
endedanswerarestored.
Example2
*QUESTION 2 *OPEN 62L100 *MULTI *BUT 100 "No suggestions"
Do you have any suggestions on how to improve this product?
Inthisexample,youcanenteranytext.ThistextisstoredintheOfile.Thepositionsreservespacetocode
openendedanswersafterwards(maximum100categories,multiple).IfthebuttonNosuggestionsis
pressed,noopenanswerisstored,butcode100ismarkedinthedatafile.
Page208
CommandIndex
SeeAlso
*ALPHA(QuestionType)...................................95
*BMP...............................................................104
*CODES ...........................................................109
*LINE ...............................................................171
*NUMBER(questiontype)..............................205
*OPEN(codesoption).....................................210
*REC ................................................................232
*SCALE(questiontype)...................................247
Page209
CommandIndex
*OPEN(codesoption)
Purpose
Specifiesacodeasanopencode.
Syntax
*OPEN
Description
Thiscommandisalwaysusedafteracodedefinitionandmustbespecifiedafterthiscodeonthesameline.
Specifiesacodeasopencodeandexpects,ifthecodeispartoftheanswer,aliteralanswerthatcanbeof
virtuallyunlimitedlength.Theenteredanswerisstoredinaseparatedatafileforopenanswers
(surveyO).
Remarks
Atextboxappearsinwhichyoucantypethecompleteanswer.TypingisfinishedwhentheOKorCancel
buttonispressed.
Thiscodesoptionisnotallowedforcode0insinglecodedquestions.
Example
*QUESTION 1 *CODES 61L3
Do you live in Amsterdam or somewhere else?
1: Yes, in Amsterdam
2: No, somewhere else *OPEN
Inthisexample,ifanswer2isselectedalocationcanbeentered.ThistextisstoredintheOfile,whilethe
code(2)isstoredintheUfile.Itisrecommendedtoreservecodespaceforcoding,whichiswhy3positions
arereserved(allowingforamaximumof999differentcountries).
SeeAlso
*CODES ...........................................................109
*OPEN(questiontype) ...................................208
Page210
CommandIndex
*ORDER
Purpose
Settheorderofcodesinacodelistortheorderofexecutionina*REPEATloop.
Syntax
*ORDER <var | QnM | QnR>
Description
Youcandefinetheorderofcodesina*CODESor*FORM questionandtheorderofa*REPEATloop
accordingtothecontentsofanarrayvariableortheorderofmentionsofanotherquestion.
Bothvariablenamesandquestionswithorderspecifier(QnMorQnR)maybeusedinthe*ORDER
command.
*ORDERmaybeusedina*REPEAT,*QUESTIONor*FORMstatement.
Invalidordersintheargumentwith*ORDERareignored.Thismeansifanordernumberisusedtwice
orifanindexinthevariableisempty,allremainingcodearedisplayedinregularascendingorder.
*ORDERcannotbeusedtogetherwith*RANDOM,*INV or*ROT.
TheorderofmentionsinaquestionareavailablethroughQnMiwherenisthequestionnumberandi
istheindexofthemention.
ThedisplayorderofarandomquestionisavailablethroughQnRi,wherenisthequestionnumberand
iistheindexoftherandomorder.
Youcanstoretheorderofmentionsandortherandomorderbyspecifyingalengthbehindthe*MULTI
or*RANDOMcommandusingLnwherenisthenumberofpositionstostoreanswers.Theoperators
QnMandQnRareavailable,independentofwhethertheorderissavedornot.
AsyntaxcheckproducesawarningmessageifthevariablesMorRaredefined.Ifthesevariablenames
areused,theoperatorQnMiandQnRiarenotavailable.
Theitemsina*REPEATblockorcodelistwhicharenotinthe*ORDERcommand,aredisplayedinthe
orderasiftherewasno*CONTROLcommand.Thismeansthatifyouonlywanttoshowtheitems
mentionedinaprevious*CODESquestionintheordertheywerementioned,youhavetousebotha
*ORDER anda*CONTROLcommand.
Arguments
var
Thisisavariablenameofanarrayvariable(*VARS name[n]).Thevaluesinthisvariablesettheorderin
whichthecodesaredisplayedortheorderinwhichthe*REPEATloopisprocessed.
QnM
Thisisorderofmentionsofaprevious*MULTI question.
QnR
Thisistheorderinwhichapreviousquestionwith*RANDOM,*INV or*ROT wasdisplayed.
Page211
CommandIndex
Example1
*QUESTION 1 *CODES 61L5 *MULTI 66L4
Which brands do you know?
(Int. do NOT help!
Type the answers in the same order as given by the respondent)
1:
2:
3:
4:
brand
brand
brand
brand
A
B
C
D
brand
brand
brand
brand
A
B
C
D
Example2
*QUESTION 3 *CODES 81L5 *MULTI *RANDOM
Which of the following brands do you know?
1:
2:
3:
4:
brand
brand
brand
brand
A
B
C
D
1
2
3
4
5
*PUT
*PUT
*PUT
*PUT
*PUT
STATEMENT
STATEMENT
STATEMENT
STATEMENT
STATEMENT
*QUESTION 4 *CODES L1
*?STATEMENT
5:
4:
3:
2:
1:
5 (good)
4
3
2
1 (poor)
*ENDREP
Page212
"Brand A"
"Brand B"
"Brand C"
"Brand D"
"All brands"
CommandIndex
Example3
*** 'Brand A' should always be presented first
*** 'Brand B', 'Brand C' and 'Brand D' should be in random order
*** 'All brands' should always be last
*VARS MyOwnOrder[4],NR
*PUT MyOwnOrder[1] [1]
*** Create an extra repeat-loop to get 3 unique numbers
*** 2 through 4
*REPEAT 3 *RANDOM
*PUT NR [ NR + 1 ]
*PUT MyOwnOrder[?R + 1] [NR + 1]
*ENDREP
*TEXTVARS STATEMENT
*REPEAT 5 *ORDER MyOwnOrder
**
**
**
**
**
*REPNUM
*REPNUM
*REPNUM
*REPNUM
*REPNUM
1
2
3
4
5
*PUT
*PUT
*PUT
*PUT
*PUT
STATEMENT
STATEMENT
STATEMENT
STATEMENT
STATEMENT
"Brand A"
"Brand B"
"Brand C"
"Brand D"
"All brands"
*QUESTION 3 *CODES L1
*?STATEMENT
5:
4:
3:
2:
1:
5 (good)
4
3
2
1 (poor)
*ENDREP
WhenyoucreaterandomordernumbersforbrandA,B,CandD,youcouldalsousetheRANoperator.But
thenyouarenotsurethatitwillpickfourdifferentnumbers.Ifthishappens,brandA,B,CandDwillbein
randomorderuntiladuplicateismet.
*PUT
*PUT
*PUT
*PUT
MyOwnOrder[1]
MyOwnOrder[2]
MyOwnOrder[3]
MyOwnOrder[4]
[
[
[
[
(RAN
(RAN
(RAN
(RAN
4)
4)
4)
4)
+
+
+
+
1
1
1
1
]
]
]
]
SeeAlso
*CODES ...........................................................109
*FORM ............................................................132
*INV ................................................................163
*RANDOM.......................................................226
*REPEAT...*ENDREP ......................................235
*ROT ...............................................................241
Page213
CommandIndex
*PAGE
Purpose
Definesapageoftext.
Syntax
*PAGE
Description
Definesapageoftext.Thiscommandshouldbeatthebeginningofalineorunderconditionusing*IF.
Thetextconsistsofallfollowinglinesuptothefirstnewcommandthatisatthebeginningofaline,
excluding**,*?and*FONT(switching).Duringtheinterviewthistextisdisplayed.ToproceedonlyENTER
orOKneedtobepressed.Thetextusuallycontainsanexplanationforthenextquestionorquestions.
Example1
*PAGE
And now some questions about snacks.
*QUESTION 1 *CODES 61
Did you have a snack today?
1: Yes
2: No
Inthisexample,ashortintroductiontothenext(setof)question(s)isdisplayed.
Example2
*IF [ TMP = 1 ] *PAGE This text will appear on a separate page
Afteran*IFstatement,youmayimmediatelyspecifyan*PAGEwithtext.
SeeAlso
*HELP(definition) ...........................................151
*INFO ..............................................................158
*INSTRUC........................................................161
*PNW..............................................................220
*QUESTION .....................................................224
Page214
CommandIndex
*PICT(questionoption)
Purpose
Displaysapicture.
Syntax
*PICT <filename|n|[expression]>
or
*PICT <n|[expression]> <"library name">
Description
Displaysapictureonthescreen.Thedefaultpositionofthepictureisintheupperrightcorner.Thefilecan
alsobepartofapicturelibrary.Inthiscasethepositionisdefinedinthepicturelibrary.The*PICT
commandmayalsobeusedincombinationwith*PAGE,*INFOand*HELP.
Oicturesinthefollowingformatsmaybeused:
BMP
JPG (normalandprogressiveencoding)
Arguments
filename
Thefilenameoftheimagethatmustbedisplayed.Ifthisfileisnotintheworkingdirectoryafullorrelative
pathnamemaybeused.Notethatscreenresolutionforrespondentsorinterviewerworkstationsmight
vary.Alwayscreateapictureinthelowestresolutionthatisusedforoptimumresults.
n|expression
Apositiveintegerorexpressionthatindicatesthenumberofthepictureinapicturelibrary(Pfile).
library name
Thenameofapicturelibraryotherthanthedefaultpicturelibrary.Adefaultpicturelibraryisalibrarywith
thesamenameasthequestionnaire:nameP.
Example1
*QUESTION 1 *CODES 61 *PICT NipoSoftwareLogo.jpg
Page215
CommandIndex
ThisexampledisplaysaquestionwiththepictureNipoSoftwareLogo.jpg.Thescreenpositionofthe
picturecannotbeset.Emptylinesareusedtoreservespacetodisplaythepicture.
Example2
QUESTION 1 *CODES 61 *PICT 1
Have you seen this logo before?
1: Yes
2: No
Thisexampledisplaysaquestionwithpicture1fromthepicturelibrary.Thescreenpositionofthepicture
canbechangedintheMultimediaLibrary:
Example3
*QUESTION 1 *CODES 61 *PICT 1 "mylib" *PICT 3 "otherlib"
Thisexampledisplaysaquestionwithpicture1fromthepicturelibrarymylibandpicture3fromthe
picturelibraryotherlib.
SeeAlso
*HELP(definition) ...........................................151
*INFO ..............................................................158
*PAGE .............................................................214
*PICT(codesoption).......................................217
Page216
CommandIndex
*PICT(codesoption)
Purpose
Displaysapictureonacode.
Syntax
*PICT <n|[expression1]> <m|[expression2]>
Description
Thiscommandisalwaysusedonacodedefinitionandmustbespecifiedafterthiscodeonthesameline.A
pictureisdisplayedidentifiedbythepicturenumber.Thepicturecomesfromthepicturelibrary(Pfile).
Arguments
n|expression1
Apositiveornegativeintegerorexpressionthatindicatestheverticalshiftofthepictureinpixels.When
thevalueispositive,thedirectionoftheshiftisupwards.Whenthevalueisnegative,thedirectionofthe
shiftisdownwards.
m|expression2
Thevaluemisapositiveintegerorexpressionwhichindicatesthepicturenumberinthepicturefile(Pfile).
Remarks
ShiftingupanddowniscurrentlyonlysupportedforNIPOCAWI,butthefirstargumentmustbe
specifiedforNIPOCATIandNIPOCAPI.
Picturesmustcomefromthesurveypicturelibrary(surveyPfile).Directlyreferringtoafilenameor
referringtoanotherpicturelibraryisnotsupportedforpicturesaftercodes.
Example
*QUESTION 1 *CODES 65L2
Which flag do you like best?
1: *PICT 11 United Kingdom
2: *PICT 12 France
3: *PICT 13 Germany
4: *PICT 14 Italy
6: *PICT 16 Japan
Page217
CommandIndex
Result:
SeeAlso
*PICT(questionoption) ..................................215
Page218
CommandIndex
*PLAY
Purpose
Playsmultimediafiles.
Syntax
*PLAY [n1] [n2] <filename>
Description
Playsmultimediafiles,suchassoundfragmentsormovies.Duringplaybacktheinterviewdoesnotstop;
playbackoccurssimultaneously.Playbackstopswhenananswerisgiven.Thiscommandisalsoallowed
undercondition.Tohearsoundfragments,asoundcardisobviouslyrequired.
Arguments
n1
Anumberreferringtoapictureinthepicturelibrary.Whendefined,avideoclipispositionedonthesame
positionasthepictureinthelibrary.
n2
Anumberindicatingthesizeofthevideoclip.Theclipwillappearn2timestheoriginalsizeofthevideo
clip.Ifn1isdefined,n2ismandatory.
filename
Thenameofthemultimediafile.Absoluteorrelativepathsmaybeused.Thisisespeciallyimportantfor
NIPOCAWIandNIPOCAPIinterviews,wheremultimediafilesarelocatedinthesurvey's
TemplateRelatedFilesdirectory,orforNIPOCAPIinterviewswherethefilesaresimplytoolargeto
betransferredonlineandplayeddirectlyfrommediasuchasaCD.
Remarks
AllmultimediafilesrecognizedbythemultimediainterfaceoftheMicrosoftWindowsoperatingsystemcan
beplayed.
Example1
*PLAY "letitbe.wav"
*QUESTION 1 *CODES 102
Do you recognize this sound?
1: yes
2: no
Example2
ThisplaystherelatedvideofilefortheNIPOCAPIClient,assumingthesurveyiscalledDemo:
*PLAY "TemplateRelatedFiles\Demo\Video.avi"
*QUESTION 1 *CODES 102
Do you recognize this video fragment?
1: yes
2: no
Page219
CommandIndex
*PNW
System
NIPOCATIonly.
Purpose
Definesapageoftext,notwaitingforanentry.
Syntax
*PNW
Seealso
*PAGE*HELP*INFO*INSTRUC*QUESTION
Description
Createsapagetext.Thiscommandhastobeatthebeginningofaline.Thetextconsistsofallfollowing
linesuptothefirstnewcommandthatisatthebeginningofaline,excluding**,*?and*FONT
(switching).Duringtheinterviewthistextisdisplayed.Thetextusuallycontainsanexplanationforthenext
questionorquestions.ThesystemdoesnotwaitforanENTERorOKpressfromtheinterviewer/
respondentbeforecarryingoutthenextcommand.Usethiscommandifforinstanceaheavycalculation
willtakesometimeandabriefinformationmessageisrequired.
Example
*PNW
The system is now calculating if the year is a leap year
(where February has 29 instead of 28 days).
Please wait a moment.
*QUESTION 1 *ALPHA 61L4
*VARS YEAR,HELPYEAR
*TEXTVARS LEAPYEAR
*DATE Q1
*PUT YEAR Q1
*PUT HELPYEAR Q1
*REPEAT 3
*IF [HELPYEAR < 1001 ] *END
*PUT HELPYEAR [ HELPYEAR - 1000 ]
*ENDREP
*IF [ HELPYEAR = 1000 ] *PUT LEAPYEAR "a leapyear" *GOTO 2
*REPEAT 10
*IF [HELPYEAR < 101 ] *END
*PUT HELPYEAR [ HELPYEAR - 100 ]
*ENDREP
*IF [ HELPYEAR = 100 ] *PUT LEAPYEAR "not a leapyear" \
*GOTO 2
*REPEAT 25
*IF [HELPYEAR < 5 ] *END
*PUT HELPYEAR [ HELPYEAR - 4 ]
*ENDREP
*IF [ HELPYEAR = 4 ] *PUT LEAPYEAR "a leapyear" \
*ELSE *PUT LEAPYEAR "not a leapyear"
*QUESTION 2 *NCLS
At the moment it is *?YEAR.
This is *?LEAPYEAR
Page220
CommandIndex
SeeAlso
*HELP(definition) ...........................................151
*INFO ..............................................................158
*INSTRUC ........................................................161
*INTRO............................................................162
*PAGE .............................................................214
*QUESTION .....................................................224
Page221
CommandIndex
*PUT
Purpose
Putsdatainvariable.
Syntax
*PUT <var> <"text" | [value] | Qn | Qn,code | [expression] >
Description
Replacesthecontentsofavariablebydataindicatedinthesecondargument.Thiscommandisalsoallowed
undercondition.Youcantransferthecontentsofanumericvariabletoatextvariableandviceversa.
Whentransferringthecontentsofatextvariabletoanumericvariablethetextvariablemustcontaina
value.Thefollowingrulesapply:
Anyfractionsaretransferredaswell.
Thetransferstopsatthefirstnonnumericalcharacter.
Ifthefirstcharacterisnotnumeraltheresultvalueis0.
Whentransferringthecontentsofanumericvariabletoatextvariable,itisroundedtothenextinteger,
unlessanotherformatisspecifiedwiththe*FORMAT command.
Arguments
var
Thisisanearlierdefinedvariable,whichreceivesthedata.
text
Directtextenclosedinquotes(singleordouble)witheventuallyembeddedcontentsofavariable.Ifquotes
aretobedisplayedinthetextusetheotherquotestoembedthetext.
value
Avalueenclosedinsquarebrackets.
Qn
Theanswertothequestionwillbeusedasdata.
Qn,code
Thecodeofaquestionisusedasdata.Inatextvariablethedescriptivetextofthecodeisused.
Qn,var
Acodeofquestionnisusedasdata.Thiscodeisdefinedinthevariablevar.Inatextvariablethe
descriptivetextofthecodeisused,ratherthanthecodenumber.
Qn,?R
Acategoryofquestionnwillbeusedasdata.Thiscodeisdefinedbytherepetitionnumber.Inatext
variablethedescriptivetextofthecodeisused,ratherthanthecodenumber.
expression
Theresultoftheexpressionisstoredinthevariable.
Remarks
Atextvaluemayrangeseverallines.Alllinesupuntiltheclosingofthequotesareconsideredpartof
thetext.Linefeedsarealsoconsideredpartofthetext.Ifaclosingquoteismissingforacommand,an
erroroccursduringthesyntaxcheck.
AtextmaynotcontainNIPOODINcommandsotherthanthe*?and*FONT(switching)directives.
Sampletable
IfaSampletableisusedwhilecopyingpositionsfromaTfile,thepositionsaretranslatedtowardstheir
relativedatabasefield.Forexample:
*PUT intnr 52L8
Page222
CommandIndex
Copiestheinterviewnumber(position52L8intheTfile)inthevariableintnr.
However,inthisexampleasimplesolutionisalsoavailable:
*SAMPLEDATA intnr
ThiswillautomaticallyfillthevariableintnrwiththeinterviewnumberfromtheSampletable.
Example1
*VARS age
*QUESTION 1 *NUMBER 61L2
How old are you?
*PUT age Q1
Inthisexample,theanswerofquestion1isstoredinthevariableage.
Example2
*TEXTVARS paper
*QUESTION 2 *CODES 61L7 *MULTI
Which of the following newspapers do you know?
1:
2:
3:
4:
5:
6:
7:
La Repubblica
La Stanza
The Mirror
The New York Times
Le Figaro
La Libration
None *NMUL
*REPEAT 6
*IF [Q2,?R] *ELSE *GOTO 4
*PUT paper Q2,?R
*QUESTION 3 *CODES 1
How often do you read *?paper?
1:
2:
3:
4:
Daily
Once a week
Once a month
Dont know
*QUESTION 4
*ENDREP
Example3
*TEXTVARS sex
*QUESTION 7 *CODES 91
Gender?
1: Man
2: Woman
SeeAlso
*? ......................................................................89
*FORMAT ........................................................135
*SAMPLEDATA ................................................244
*TEXTVARS......................................................283
*VARS..............................................................287
Page223
CommandIndex
*QUESTION
Purpose
Definesaquestion.
Syntax
*QUESTION <n>|X
or
*Q <n>|X
Description
Definesaquestionwithquestionnumbern.Thiscommandhastobeatthebeginningofaline.
Thequestionconsistsofalllinesuptothefirstcommandthatisatthebeginningofaline(excludingfor**,
*?,*FONTand*PICT).Afterthecommand*QUESTION (or*Q)thereareoftenmorecommandsonthe
sameline.Thesecommandsonthequestionlinedefinethespecificconditionsandoptionswhenanswering
thisquestion.
Arguments
n
Apositivenumberthatindicatesthequestionnumber.Questionnumbersaremadeupofpositivenumbers
(>=1).Noalphabeticorothercharactersareallowed(exceptforX,seebelow).Eachquestionnumberhas
tobeuniquewithinthe(sub)questionnaire.Youmayuseanyquestionnumberintherange1to
2147483647inanyordertheorderofthequestionnaireisnotsetbythequestionnumbers.TheNIPO
ODINDeveloperallowsyoutorenumberquestionnumbersifnecessary.
X
Aplaceholdervaluetobefilledwithaquestionnumberautomaticallylater,byrenumberingthe
questionnaire.Itisnotpossibletosetroutingorfilteringforplaceholderquestionnumbers.
Remarks
Questionswithoutquestiontextandcodesareconsidereddummyquestionsandareskippedduring
execution.
Example1
*QUESTION 1 *CODES L1
Int. type Gender of respondent.
1: Male
2: Female
*QUESTION 2 *NUMBER L2
What is your age?
*QUESTION 9999
These were all the questions. Thank you very much for your co-operation.
*END
InthisexampleQuestion1isaprecodedquestion,Question2isanumericquestionandQuestion9999isa
questionwithouttype,whereonlyENTERisrequiredtocontinue.
Page224
CommandIndex
Example2
*QUESTION 11 *CODES L1
*QUESTION 12 *NUMBER L2
What is your age ?
*IF
*IF
*IF
*IF
*IF
*IF
[
[
[
[
[
[
Q12
Q12
Q12
Q12
Q12
Q12
<=
>=
>=
>=
>=
>=
24
25
35
45
55
65
]
&
&
&
&
]
*COPY
Q12 <
Q12 <
Q12 <
Q12 <
*COPY
Q11 [ 1 ]
35 ] *COPY
45 ] *COPY
55 ] *COPY
65 ] *COPY
Q11 [ 6 ]
Q11
Q11
Q11
Q11
[
[
[
[
2
3
4
5
]
]
]
]
InthisexampleQuestion11isadummyquestion,butiscreatedtobeabletostoretheagein6distinct
codes.
SeeAlso
*ALPHA(QuestionType)...................................95
*CODES ...........................................................109
*FORM ............................................................132
*LINE ...............................................................171
*NUMBER(questiontype)..............................205
*OPEN(questiontype)....................................208
*PAGE .............................................................214
*SCALE(questiontype)...................................247
Page225
CommandIndex
*RANDOM
Purpose
Randomizesanswercodesorrepetitions.
Syntax
*RANDOM [[pos]L<length>|<pos>]
Description
Thiscommandcanbeusedincombinationwith*QUESTION,*REPEATand*FORMandmustbespecified
afterthesecommandsonthesameline.Thecodesandthedescriptionsofaquestionareshowninrandom
orderonthescreen.Repetitionsareexecutedinrandomorder.
Arguments
pos
Thedatafieldspecificationwheretheusedorderisstoredinthedatafilewiththeclosedanswers.
length
Thelengthofthedatafield.
Remarks
Ifyouuse*RANDOM onaquestionthefollowingapplies:
Thenumberofcodesofwhichtheorderissaveddependsonthelengthofthedatafieldspecification.
Tostoretheentireorder,thismustbejustaslongasthenumberofcodestobesavedmultipliedbythe
numberofdigitsinthehighestcode.Theappliedrandomorderisstoredintheclosedanswerfile.
With*NOCONanswercodescanbeexcludedfromtherandomization.
Withina*FORM,fieldsarenotdisplayedinrandomizedorderifmorethanonefieldisusedonasingle
row.
Example
*QUESTION 1 *CODES 61L10 *MULTI *RANDOM 71L6
What PC makes do you know?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Acer
AST
Compaq
Dell
Hewlett Packard
IBM
Philips
Tulip
Other *OPEN *NOCON
Dont know *NMUL *NOCON
Inthisexample,allmentionsarestoredinposition61L10.Intheanswerfield71L6thecodenumbersofthe
firstthreecodesdisplayedarestored.Thelasttwocodesarenotrandomizedalongandwillbedisplayed
alwaysatthebottomofthelist.
Example2
*TEXTVARS who
*REPEAT 5 *FIELD 86L15 *RANDOM 1L1
*REPNUM 1: *PUT who "Johnny"
*REPNUM 2: *PUT who "Mary"
*REPNUM 3: *PUT who "Bill"
*REPNUM 4: *PUT who "Anne"
*REPNUM 5: *PUT who "Joey"
*QUESTION 1 *NUMBER 2L2
How old is *? who?
*ENDREP
Page226
CommandIndex
Inthisexample,question1isrepeated5times,randomly.Theanswerofthequestionsisstoredinthedata
field86L15:foreachquestion1position(1L1)fortheorderinwhichthequestionwasdisplayedand2
positions(2L2)fortheanswer.Forexample,thequestionsforJohnnyarestoredinpositions86L3(86L1the
order,87L2theanswer),forMaryinposition89L3(89L1theorder,90L2theanswer),etcetera.
SeeAlso
*FORM ............................................................132
*GROUP ..........................................................146
*INV ................................................................163
*NOCON..........................................................199
*ORDER...........................................................211
*REPEAT...*ENDREP ......................................235
*ROT ...............................................................241
Page227
CommandIndex
*RANGE
Purpose
Specifiesavaluerangefornumericalquestions.
Syntax
*RANGE <[n1|expression [TO n2|expression]]>[;n3 [TO n4];...]
Description
Thiscommandspecifiesarangefornumericalquestionsandnumericalfieldsina*FORMquestion.Youcan
specifyastartvalueandanendvaluefortherangebyseparatingthetwovalueswiththekeywordTO.
Multiplevaluescanseparatedbyasemicolon(;).Insteadofavalue,anexpressionmayalsobeused.
Remarks
Youcanonlyuseanincrementalrange(1 TO 5ratherthan5 TO 1).
Asemicolonmustbeusedtoseparatetworanges.Whenusingacomma,thesysteminterpretsthisasa
columncodereference.
TheargumentTOmustbeusedtoseparatetheextremeswithinarange.Thedash(-)isinterpretedasa
minussignandshouldnotbeused.
Arguments
n1
Thestartvalueoftherange.
n2
Theendvalueoftherange.
expression
Anexpressionofwhichtheresultwillbeusedasthestartorendvalue.
Example1
*QUESTION 1 *NUMBER L2 *RANGE [ 18 TO 70 ; 99 ]
How old are you?
Int.: enter "99" for no answer.
Inthisexample,theanswercanbeintherangeof18to70and99.
Example2
*QUESTION 1 *NUMBER L3 *RANGE [ -10 TO -1 ; 1 TO 10 ]
Specify a number in the ranges of -10 to -1 or 1 to 10.
Inthisexample,theanswercanbeintherangeof10to1and1to10.
Example3
*VARS x,y
*PUT x [-3]
*PUT y [3]
*QUESTION 1 *NUMBER L2 *RANGE [x TO y]
Specify a number in the ranges of *?x to *?y.
Inthisexample,theanswercanbeintherangeof3to3.
Page228
CommandIndex
SeeAlso
*MAX ..............................................................178
*MIN ...............................................................182
*NUMBER(in*FORMquestion) .....................206
*NUMBER(questiontype)..............................205
Page229
CommandIndex
*READ
System
NIPOCATIandNIPOCAPIonly.
Purpose
Readsdatafromafile.
Syntax
*READ <Qn|var> ["filename"]
Description
Withthiscommanddatacanbereadfromafileandplacedinthedatafieldorvariableindicatedbythefirst
argument.Ifthefilenameisomitteddatawillbereadfromthelastfileusedforreading.Thefileconsistsof
asinglerecord.Thecontentsoftherecordconsistofoneormorevalueswhichareeithernumbersortext.
NIPOODINtakescareofproperlyreadingvaluesonebyoneinconsecutivecallsto*READ.Itisnot
requiredtobeawareofthefileformatcreatedbyNIPOODINunlessthedataisaccessedorchangedbyan
externalapplication.
Fileformatfor*READand*WRITEforeachvalue
HeaderIdentifier
Size
Value
.Singleposition
containinga'D'
Decimalvalueof
4digits
indicatingthe
sizeofthevalue.
Anystringof
charactersofwhich
thesizeisdetermined
intheheader.
Forexample,whenthevalues123456andthetext"NIPOODINScript"arestoredinasinglefile,itwould
containthestring"D0006123456D0016NIPO ODIN Script".
Arguments
Qn
Thequestionreferenceofthedatafieldwherethedatabeingreadwillbestored.
var
Thenameofthevariablewherethedatabeingreadwillbestored.
filename
Thefilenameofthefiletostoretheinformationin.
Remarks
Duringaninterviewyoucannotgobackovera*READwithafilename,youcanhowevergobackovera
*READwithoutafilename.
Youcannotcombine*READwith*WRITEonthesamefile;aftera*WRITEafilenamehastobe
specifiedwiththenext*READ.
Ifnomoredatacanberead,theresultquestionorvariablewillbe0ifitisnumericoremptyifitis
alphanumeric.
Example
*VARS numb[2]
*READ numb[1] "myfile.txt"
*READ numb[2]
Inthisexample,twonumbersarereadfromthefilemyfile.txtandstoredinthearraynumb.
Page230
CommandIndex
SeeAlso
*WRITE............................................................293
Page231
CommandIndex
*REC
System
NIPOCATIonly
Purpose
Records(partsof)interviews.
Syntax
*REC [[pos]L<length>|<pos>]
Description
Withthiscommanditispossibletorecordpartsofanintervieworeventhewholeinterview.Thiscommand
canbeusedat:
Thebeginningofaline.Whenusedatthebeginningofalineadatafieldmustbespecified.Thisdata
fieldisusedtostoringtheanswersaftercoding.Specifying*RECatthebeginningofalineusingadata
fieldspecificationstartsrecording;specifying*RECwithoutadatafieldspecificationendsrecording.
Recordingalsoautomaticallystopsattheendofthescript.
Asaquestionoption.Onlythequestionisrecorded;recordingstopsautomaticallyatthenextquestion.
RecordedanswersaresavedtotheBfile(surveyBfile).Theseanswerscanbecodedinthesamewayas
theregularOfile,usingtheNIPOCodingModuleorNfieldCode.Notethatrecordingstakeapproximately
MBofdiskspaceperminute.
Remarks
Torecord(partsof)interviews,adialerisrequired.
Forrecordingsstartedatthebeginningofaline,recordingsarenotautomaticallyrestartedwhen
followingupanappointment.Ifyourequiretorecordtheentireinterview,placethe*RECcommand
withdatafieldspecificationinan*INITblock.
Arguments
pos
ThisisthestartofthedatafieldwherethedataiswrittenintheUfile.
length
Thisisthelengthofthedatafield.
Example1
*QUESTION 1 *CODES 648
We would like to record your answers. Do you agree?
1: Yes
2: No *GOTO 2
*REC 649L20
*QUESTION 2
Recording of the interview starts here.
Page232
CommandIndex
Example2
*REC 648L20
*QUESTION 1 *CODES 668
Do you own a dog?
1: Yes
2: No
*QUESTION 2 *OPEN 669 *IF [ Q1 , 1 ]
What is the name of your dog?
*QUESTION 3 *CODES 670
Do you own a cat?
1: Yes
2: No
*REC
*QUESTION 4
This question is no longer recorded.
Inthisexample,theanswersonquestions1,2and3willberecordedandsavedintheBfile.
SeeAlso
*BMP...............................................................104
Page233
CommandIndex
*REPEAT(questionoption)
System
NIPOCATIonly
Purpose
Storesthecurrentpositioninascaleorlinequestion.
Syntax
*REPEAT <n>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandthequestiontypedefinitions*SCALE
or*LINEandmustbespecifiedafterthesecommandsonthesameline.Onspecifiedintervalsthecurrent
positionoftheblockorthelengthofthelineisstored.Howmanytimesthishappensdependsonthe
numberofreservedpositionsinthedatafieldspecificationandthegivenmaximum.Forinstance,ifthe
maximumofthescaleis10(i.e.2digitsareusedpervalue)andthelengthofthedatafieldis80,the
registrationwillberepeated40times.
Arguments
n
Positiveintegerthatrepresentsthenumberofsecondstowaitbetweeneveryregistration.
Example
*QUESTION 1 *LINE 61L60 *MAX 40 *REPEAT 5
This is an example of a line question.
Inthisexample,thelengthofthelineisstoredevery5secondsupto30times(sizeofdatafield(60)divided
by2positionsforthehighestcode(40)).
SeeAlso
*LINE...............................................................171
*REPEAT...*ENDREP......................................235
*SCALE(questiontype)...................................247
Page234
CommandIndex
*REPEAT...*ENDREP
Purpose
Startrepetitionblock.
Syntax
*REPEAT n
<commands>
*ENDREP
Description
Definesthestartofarepetitionblock.Thiscommandhastobeonthebeginningofaline.Thiscommandis
alwaysusedincombinationwith*ENDREP(endrepetitionblock).Arepetitionblockconsistsofasetof
commandsandquestionsthatareconsideredtobeaspecialcomponent.Whenarepetitionblockis
executedinthequestionnaire,thesystemexecutesallcommandswithintherepetitionblockasmanytimes
asisindicatedbyn.Theanswerfieldswithintherepetitionblockareconsideredrelativepositionstothe
datafield.Whenarepetitionblockisexecuted,thesystemusesthestartingpositiondefinedby*FIELD
onthe*REPEATstatementasthestartingpointtodeterminewheretheanswershavetobestored.For
everyrepetitiontheanswerfieldsbelongingtothecommandsintherepetitionblockarestoredinfixed
fieldsoneafteranother.Itispossibletorefertotherepetitionnumberwiththe?Roperatororthe
*REPNUMcommand.
Arguments
n
Thisisapositiveintegerthatgivesthenumberofrepetitions.
Remarks
Youcannotjumpoutofarepetitionblockwiththe*GOTOcommand.Toterminatearepetitionblock,
the*ENDcommandmustbeused.
Jumpingfromoutsidetherepetitionblockintoaquestionwithinarepetitionblockwiththe*GOTO
commandisnotpossible.
Therepeatnumbersinrepeatblockscanbecontrolledby*CONTROL,randomizedby*RANDOM,
invertedby*INVandrotatedby*ROT.
Example1
*TEXTVARS who
*REPEAT 5 *FIELD 86L10
*REPNUM 1: *PUT who "Johnny"
*REPNUM 2: *PUT who "Mary"
*REPNUM 3: *PUT who "Bill"
*REPNUM 4: *PUT who "Anne"
*REPNUM 5: *PUT who "Joey"
*QUESTION 1 *NUMBER 1L2
How old is *? who?
*ENDREP
Inthisexample,question1isrepeated5times.Theanswersofthe5questionsarestoredinthedatafield
86L10(foreachanswer2positions=1L2x5questions).Forexample,theanswersforJohnnyarestoredin
position86L2,forMaryin88L2,etcetera.
Page235
CommandIndex
Example2
*TEXTVARS who
*REPEAT 5 *FIELD 86L15 *RANDOM 1L1
*REPNUM 1: *PUT who "Johnny"
*REPNUM 2: *PUT who "Mary"
*REPNUM 3: *PUT who "Bill"
*REPNUM 4: *PUT who "Anne"
*REPNUM 5: *PUT who "Joey"
*QUESTION 1 *NUMBER 2L2
How old is *? who?
*ENDREP
Inthisexample,question1isrepeated5times,inrandomorder.Theanswersofthe5questionsarestored
inthedatafield86L10(foreachanswer2positions=1L2x5questions).Forexample,theanswersfor
Johnnyarestoredinposition86L2,forMaryin88L2,etcetera.
Example3
*TEXTVARS paper
*QUESTION 2 *CODES 61L7 *MULTI
Which of the following newspapers do you know?
1:
2:
3:
4:
5:
6:
7:
La Repubblica
La Stanza
The Mirror
The New York Times
Le Figaro
La Libration
None *NMUL
Daily
Once a week
Once a month
Dont know
*ENDREP
Inthisexample,question3isrepeated6times.OnlyforthosenewspapersmentionedinQ2thequestionis
displayed.
Example4
*TEXTVARS paper
*QUESTION 2 *CODES 61L7 *MULTI
Which of the following newspapers do you know?
1:
2:
3:
4:
5:
6:
7:
La Repubblica
La Stanza
The Mirror
The New York Times
Le Figaro
La Libration
None *NMUL
Page236
CommandIndex
Daily
Once a week
Once a month
Dont know
*ENDREP
Thisexampleisthesameastheprevious,butnowthe*IFstatementhasbeenreplacedwitha*CONTROL
statementtothesameeffect.
SeeAlso
*END ...............................................................121
*FIELD .............................................................127
*INV ................................................................163
*ORDER...........................................................211
*RANDOM.......................................................226
*REPNUM........................................................238
*ROT ...............................................................241
RepeatNumber.................................................72
Page237
CommandIndex
*REPNUM
Purpose
Conditiononrepetitionnumber.
Syntax
*REPNUM <n|[expression]>: <action> [*ELSE <action>]
Description
Thiscommandcanonlybeusedinsidearepetitionblock.Itcomparesthecurrentrepetitionwiththe
numberindicatedbyn.Iftheseareequalthecommandsafterthecolonareexecuted.Optionallyyoucan
usethecommand*ELSE afterwhichyouplacecommandsthatareexecutedifthecurrentrepetitionis
notequalton.
Arguments
n|expression
Thisisapositiveintegerthatindicatestherepetitionnumbertobecompared.
Remarks
Therepetitionnumberisstoredinthesystemvariable?R.
Thecoloninthesyntaxmaybeusedasaseparatorbetweentheconditionandtheaction.Itmayalsobe
leftout.
Thecommands*RANDOM,*ROT,*INVand*ORDERdonotchangetherepetitionnumber,butdo
changetheorderinwhichtherepeatblockisexecuted.
Example
*TEXTVARS who
*REPEAT 5 *FIELD 86L10
*REPNUM 1: *PUT who "Johnny"
*REPNUM 2: *PUT who "Mary"
*REPNUM 3: *PUT who "Bill"
*REPNUM 4: *PUT who "Anne"
*REPNUM 5: *PUT who "Joey"
*QUESTION 1 *NUMBER 1L2
How old is *? who?
*ENDREP
Inthisexample,question1isrepeated5times.Theanswerofeachquestionisstoredinthedatafield
86L10(foreachanswer2positions(1L2x5questions).
SeeAlso
*REPEAT...*ENDREP......................................235
RepeatNumber ................................................72
Page238
CommandIndex
*RETURN
Purpose
Returnsfromsubroutine.
Syntax
*RETURN
Description
Returnsfromasubroutinebeforethephysicalendofthesubroutineisreached.Thiscommandisalso
allowedundercondition,butismandatoryforevery*SUBROUTINE.
Example
*TEXTVARS PAPER, OTHERPAPER
*SUBROUTINE "NEWSPAPER"
*QUESTION 101 *NUMBER L1 *MAX 6
How many of the last 6 issues of *?PAPER did you read?
*IF [Q101 = 0] *RETURN
*QUESTION 102 *CODES L1
Did you read *?PAPER yesterday?
1: Yes
2: No
*ENDSUB
*QUESTION 1 *CODES L8 *MULTI *SAVE PAPER
Which newspapers do you read?
1:
2:
3:
4:
5:
6:
7:
8:
SeeAlso
*GOSUB...........................................................137
*SUBROUTINE...*ENDSUB.............................275
Page239
CommandIndex
*RIGHT
Purpose
Questiontypeoptionandoptionwithinconjointanalysis.
Syntax
*RIGHT text
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONand*SCALEorincombinationwith
*CONJandmustbespecifiedafterthesecommandsonthesameline.Withthiscommandatextcanbe
givenwhich,duringtheinterview,isplacedattherighthandpoleofthescale.
Arguments
text
Thisisthetextthatwillbedisplayedontherighthandpoleofthescale.
Remarks
Ifthetextcontainsspacesithastobespecifiedbetweendoublequotes.
Example
*QUESTION 1 *SCALE 61 *LEFT "Left scale text" *RIGHT "Right scale text"
This is an example of a scale question.
Result:
SeeAlso
*CONJ...*ENDCONJ .......................................111
*LEFT...............................................................170
*SCALE(questiontype)...................................247
Page240
CommandIndex
*ROT
Purpose
Displaysanswercategoriesrotated.
Syntax
*ROT [[pos]L<length>|<pos>]
Description
Thiscommandisalwaysusedincombinationwitha*CODESquestionor*REPEATblockandhastobeon
thesamelineasthequestiondefinition.Thecodesandtheirlabelsareshowninrotatedorderonthe
screen,startingrandomlyfromanyoftheavailableanswercodes.Thenthenextcodesfollowinsequence,
uptoandincludingthehighestcode.Nextthelowestcodesfollowuptocodewhereitrandomlystarted.
Arguments
pos
Thedatafieldspecificationwheretheorderofthedisplayedcategoriesiswrittenintheclosedanswerfile.
length
Thelengthofthedatafield.
Remarks
Thenumberofcodes,ofwhichtheorderwillissaved,dependsonthelengthinthedatafield
specification.Thishastobejustaslongasthenumberofcodestobesavedmultipliedbythelengthof
thehighestcode.Theorderofappearanceofthecodesonthescreenisstoredinthedatafilewiththe
closedanswers.
With*NOCONanswercodescanbeexcludedfromtherotation.
Example
*QUESTION 1 *CODES 61L10 *MULTI *ROT 71L8
What PC makes do you know?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Acer
AST
Compaq
Dell
Hewlett Packard
IBM
Philips
Tulip
Other *OPEN *NOCON
Dont know *NMUL *NOCON
Inthisexample,allmentionsarestoredinposition61L10.Intheanswerfieldbehind*ROTthecodesfor
thefirst4codesonthescreenarestored.Thelasttwocodesarenotrotatedalongandarealways
displayedatthebottomofthecodelist.
SeeAlso
*GROUP ..........................................................146
*INV ................................................................163
*NOCON..........................................................199
*ORDER...........................................................211
*RANDOM.......................................................226
*REPEAT...*ENDREP ......................................235
Page241
CommandIndex
*RUN
System
NIPOCATIandNIPOCAPIonly
Purpose
RunsanexternalWindowsmodule(.DLL)withintheNIPOCATIClientandNIPOCAPIClient.
Syntax
*RUN Qn "[LIBRARY],[FUNCTION]"
Description
The*RUNcommandexecutesafunctionwithinanexternallibrary.Thelibrarymusthavebeenspecifically
developedtoworkinconjunctionwiththeNIPOODINengine,andmustbeaccessiblefortheNIPOCATI
ClientandNIPOCAPIClientexecutableinarelativepath.Thelibrarymayaccessvariablesdefinedwithin
theNIPOODINscriptandreturninformationinthespecifiedquestion.ItmayalsoreturndatainNIPOODIN
variables.
Formoreinformationoncreatingyourownlibraries,contacttheNIPOSoftwareHelpdeskforexample
source.
Arguments
Qn
Thetargetquestionwheretheresultvaluefromthelibraryfunctioncallisstored.Ifthedatafieldofthe
targetquestionisnotlongenough,theincomingdataistruncated.
LIBRARY
Thepartialorfullfilepathandnameofthelibrarytocall.
FUNCTION
Thenameofthefunctionwithinthelibrarytocall.Notethatthefunctionnameiscasesensitive.
STDRUN32
AspartofitsinterviewingclientsoftwareNIPOSoftwareincludesthelibrarySTDRUN32.DLL.Thislibrary
containsasinglefunctionSTDRUNENTRYwhichallowstheNIPOODINscripttocallanexternalexecutable
andpassinformationtotheexecutableusingtheclipboardorafile.Thefollowingvariablesmaybedefined
inNIPOODINscripttobeusedbySTDRUN32.DLL:
CMDLINE
Textvariable.Fullorpartialpathtotheapplicationthatneedstobecalled.
INPUTDATA
ThelibrarySTDRUN32.DLLusesthetextvariableINPUTDATAtotransferinformationtotheexternal
application.ThevalueofINPUTDATAiscopiedtotheclipboardpriortocallingtheapplication.Notethat
theapplicationthatiscalledneedstobeabletohandleinformationpassedtotheclipboard.
STDRUNTEMPFILEPATH
Ifyoudonotwishtousetheclipboardtopassinformationtotheexecutable,STDRUN32.DLLmayusea
fileinstead.Thistextvariablesetsapartialorfullfilepathtowardsafileinwhichtostorethecontentsof
INPUTDATA.AnyinformationpassedtoINPUTDATAisplacedinthisfileasanullterminatedstring.Note
thattheexecutablethatiscalledwillhavetotakecareofopening,readingandoptionallychangingthe
informationinthisfile.Anychangedinformationisultimatelypassedtothetargetquestionusingthisfile.
WhenusingSTDRUNTEMPFILEPATHitisrecommendedtosetRUNTYPEto1(seebelow)toavoidfile
accessissues.
RUNTYPE
Numericvariable.SetswhetherornotSTDRUN32.DLLwaitsfortheexternalapplicationtofinishbefore
NIPOODINcontinuestheinterview.
Page242
CommandIndex
Runtypevalues
Value
Function
0/10
WaitforapplicationthatwasopenedbytoclosebeforecontinuingtheNIPOODINscript.Use0for16bitapplicationsand10
for32bitapplications.
1/11
Donotwaitforapplicationtofinishcontinuethequestionnaireimmediately.Use1for16bitapplicationsand11for32bit
applications.
Waitfortheapplication,andforanyotherapplicationthatwasstartedbytheapplicationinturn,tofinishbeforecontinuing
theNIPOODINscript.
STDRUN32Example#1
ExampleofusingSTDRUN32.DLLusingtheclipboard.Returninformation,ifany,isstoredinQ1.
*TEXTVARS CMDLINE, INPUTDATA
*VARS RUNTYPE
*PUT CMDLINE "MYOWN.EXE"
*PUT RUNTYPE [ -1 ]
*PUT INPUTDATA "mydata"
*QUESTION 1 *ALPHA L10
*RUN Q1 "STDRUN32.DLL,STDRUNENTRY"
STDRUN32Example#2
ExampleofusingSTDRUN32.DLLusinganexternalfile.Returninformation,ifany,isstoredinQ1.
*TEXTVARS CMDLINE, INPUTDATA, STDRUNTEMPFILEPATH
*VARS RUNTYPE
*PUT CMDLINE "MYOWN.EXE"
*PUT STDRUNTEMPFILEPATH "TEMP.TXT"
*PUT RUNTYPE [ -1 ]
*PUT INPUTDATA "mydata"
*QUESTION 1 *ALPHA L10
*RUN Q1 "STDRUN32.DLL,STDRUNENTRY"
Page243
CommandIndex
*SAMPLEDATA
Purpose
WiththiscommandvariablesintheNIPOODINquestionnairecanbelinkedautomaticallywithfieldnames
intheSampletable.
Syntax
*SAMPLEDATA var1,var2,
Description
ThevariableintheNIPOODINquestionnaireisfilledautomaticallywiththecontentsofthematching
databasefieldwhenstartingtheinterview.Thefieldsinthedatabasetableareupdatedwiththecontents
ofthevariablewhenclosingtheinterviewforafinal(non)responseoranappointment.Ineveryother
aspect,asampledatavariableworksjustlikearegularNIPOODINvariable.
Remark
Whenusingatelephonefile,sampledatavariablesaremappedtopositionsinsystemfields.Inthiscase,
nocustomfieldscanbeused.
Default(system)fieldsinthesampletablemustbeprefixedwithTT.Forexample,toretrievethe
telephonenumberfromthesampletable,useTTTelephoneNumber.
Example
*SAMPLEDATA Region
*PAGE
According to our database the region is *?Region.
AssumesthatthesampletableforsurveyA1234containsafieldcalledRegion.
SeeAlso
*MOVA ...........................................................184
*MOVU ...........................................................185
*NEXTRECORD ................................................195
*PUT................................................................222
*SQLADD.........................................................261
*SQLGET .........................................................265
*SQLPUT .........................................................268
*TEXTVARS......................................................283
*VARS..............................................................287
Page244
CommandIndex
*SAVE(questionoption)
Purpose
Savestheanswerofaquestioninavariable.
Syntax
*SAVE <var>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Theansweronaquestionissavedinavariable.Ifitisanumericvariablethecodevalue
orthenumberissaved.Ifitisatextvariablewithaclosedquestionwithprecodedanswersthelabelofthe
codeissaved.Savingananswertextisparticularlyofuseifyouwanttoinsertthistextinasubsequent
question(dynamictextmodification).
Maynotbeusedinasinglequestionincombinationwith*SAVEasacodeoption.Ifusedona*MULTI
question,itsavesthehighestselectedcode(text)only.
Arguments
var
Any(alpha)numericalvariableoranyofthetensystemvariables.Iftheargumentisomittedsystemvariable
0isusedbydefault.
Example
*TEXTVARS PARTY
*QUESTION 5 *CODES 81 *SAVE PARTY
Which party will you vote for in the next election?
1:
2:
3:
4:
5:
Conservative union
Social democrats
Liberals
Greens
Communists
SeeAlso
*PUT................................................................222
*SAVE(codesoption)......................................246
Page245
CommandIndex
*SAVE(codesoption)
Purpose
Savesacodenumberorlabelinavariable.
Syntax
*SAVE <var>
Description
Thiscommandisalwaysusedafteracodedefinitionandmustbespecifiedafterthiscodeonthesameline.
Ifitisanumericvariablethecodevalueissavedasanswer.Ifitisatextvariablethedescriptivetextofthe
answercategoryissaved.Ifitisanopencodetheopenendedanswertextissaved.
Remark
Maynotbeusedinasinglequestionincombinationwith*SAVEasaquestionoption.
Arguments
var
Any(alpha)numericalvariableoranyofthetensystemvariables.Iftheargumentisomittedsystemvariable
0isusedbydefault.
Example
*TEXTVARS localpaper
*QUESTION 1 *CODES L7 *MULTI
To what newspapers do you subscribe?
1:
2:
3:
4:
5:
6:
SeeAlso
*SAVE(questionoption).................................245
Page246
CommandIndex
*SCALE(questiontype)
Purpose
Definesadiscretescalequestion.
Syntax
*SCALE <pos>L<length>
Description
Thiscommandmustbeusedaftera*QUESTIONonthesameline.Inputisdonebymeansofpositioninga
blockinannpoints(default7points)scale.Theanswerconsistsofthepositionoftheblockinthescale
startingatoneandincreasingfromlefttoright.Thescalecanbemodifiedtoamaximumsizeof26points.
Theupperlimitisdeterminedbythemaximumvaluethatfitsthespecifiedlength,orbythe*MAX
command.Use*MINtosetaninitialcursorpositionforthe*SCALEquestion(default:middle).Specifying
*MIN 0doesnotplacethecursoranywhere.Use*RIGHTtosetatextontherighthandsideofascale
question.Use*LEFTtosetatextonthelefthandsideofascalequestion.
Arguments
pos
ThisisthestartofthedatafieldwherethedataiswrittenintheUfile.
length
Thisisthelengthofthedatafield.
Remark
IntheclientapplicationconfigurationforNIPOCAPIandNIPOCATI,thesettingScaleInitValue=n
positionsthecursorinascalequestionattheboxindicatedbyn.Withoutthissettingthedefaultpositionis
theboxinthemiddle.Ifn=0nocursorwillbedisplayed.
Example
*QUESTION 71 *SCALE 101L1 *LEFT "Poor taste" *RIGHT "Good taste"
What do you think of the taste of Heineken beer?
Result:
Page247
CommandIndex
SeeAlso
*LEFT...............................................................170
*LINE...............................................................171
*MAX ..............................................................178
*MIN ...............................................................182
*REPEAT(questionoption).............................234
*RIGHT ............................................................240
*SCALE(in*FORMquestion) ..........................249
*SCALERANGE.................................................252
Page248
CommandIndex
*SCALE(in*FORMquestion)
Purpose
Definesahorizontalgridquestion.
Syntax
*SCALE <pos>L<length> n1 n2
Description
Thiscommandmustbeusedincombinationwitha*FORMquestiontocreateagridofoneormorerows.
Thesekindsofquestionsusecheckboxestomarktheanswersonscreeninsteadofusingcodes.Withthe
*SCALE commandyoucancreatehorizontalgrids,eithersinglecodedormultiplecodedusing*MULTI.
Tocreateverticalgrids,see*GRID.
Arguments
pos
ThisisthestartofthedatafieldwherethedataiswrittenintheUfile.
length
Thisisthelengthofthedatafield.
n1
Thisisanumberorexpressionthatindicatesthenumberofcheckboxes.
n2
Thisisthespacingbetweeneachcheckbox.Onlyavailableinagrid.Negativevaluesresultinaverticalgrid.
Remarks
Expressionsarenotallowedfor*SCALEin*FORMquestions.
InNIPOCAWI,thevaluen2isoverruledbythecolumnwidthasdefinedbythe*TABcommand,but
mustbespecifiedregardless.
Use*TABand[Tab]tospacescales:
Toaligncolumntexts(headers)abovethescale,tabpositionsmustbedefinedwiththe*TABcommand
beforea*FORM*SCALEquestion.Foreachcolumninthescaleatabmustbedefined.Thescalesare
alwaysdistributedevenlybetweenthefirstandthelasttabitisnotpossibletovarythegapsbetween
columns.Ifthelasttabisnotat100%,thelastcolumntextandthe*SCALEmustbefollowedby
[Tab][Space]tofillthelastinvisiblecolumn.Usestylesheets(CSS)tocentertextsinNIPOCAWI.
*TAB 30, 40, 50, 60, 70
*QUESTION 1 *FORM
Question text
Column 1
Column 2
1:Scale 1
*SCALE 61L1 4 1
2:Scale 1
*SCALE 62L1 4 1
3:Scale 1
*SCALE 63L1 4 1
Column 3
Column 4
Notethattabsareusedtoseparatecolumnheadersandcodetextsandtheir*SCALEstatements.Boththe
headerrowandthecoderowsendwithatabspace.
Page249
CommandIndex
Example1
*TAB 35, 45, 55, 65, 75, 85
*QUESTION 2 *FORM
How do you rate the taste of the following beers:
Very poor
1:Heineken
*SCALE 67L1 5 6
2:Amstel
*SCALE 68L1 5 6
3:Grolsch
*SCALE 69L1 5 6
4:Carlsberg
*SCALE 70L1 5 6
5:Tuborg
*SCALE 71L1 5 6
Very good
Again,tabsareusedtoseparatecolumnheaders(aspaceeachforthemiddlethree)andcodetextsand
their*SCALEstatements.Boththeheaderrowandthecoderowsendwithatabspace.
Result:
Example2
*QUESTION 882 *FORM
What did you think of the service at the following gas stations?
Esso
1:Very good
Good
Average
Poor
Very poor
No opinion
Mobil Oil
Shell
*SCALE L1 6 -1 *SCALE L1 6 -1
*SCALE L1 6 -1
Verticalscalesareusedhere,whichiswhy3*SCALEstatementsareplacedonasinglerow.
Page250
CommandIndex
Result:
Example3
*TAB 35, 45, 55, 65, 75, 85
*QUESTION 2 *FORM
Which features would you attribute to these beers?
Dark
Strong Sweet
Bitter Clear
1:Heineken
2:Amstel
3:Grolsch
4:Carlsberg[Tab]
5:Tuborg
Result:
SeeAlso
*ALPHA(in*FORMquestion) ...........................96
*FORM ............................................................132
*GRID(in*FORMquestion)............................141
*MULTI............................................................186
*NUMBER(in*FORMquestion) .....................206
*SCALERANGE.................................................252
*TAB................................................................279
Page251
CommandIndex
*SCALERANGE
Purpose
Definesthevaluesfora*SCALEquestion.
Syntax
*SCALERANGE [n]
or
*SCALERANGE [n1;n2;n3;...]
or
*SCALERANGE [n1 TO n2;...]
or
*SCALERANGE
Description
Thiscommanddefinesthevaluesthatwillbeusedfora*SCALEquestion.Bydefaultclickingthefirstbox
fromtheleftsavesvalue1,clickingthesecondboxfromtheleftsavesvalue2,etcetera.Thevaluessaved
froma*SCALEcanbechangedusing*SCALERANGE.Thescalerangeissetforall*SCALEquestions.
Arguments
[n]
Specifiestheoffsetfortheboxvalues.Thefirstboxwillgetvaluen,thesecondwillgetvaluen+1,third
n+2,etcetera.
[n1;n2;n3]
Specifiestheboxvaluesseparatedbysemicolons.Valuesmustbeintegersandmaybecontainnegative
valuesaswell.TheNIPOODINDevelopersyntaxcheckchecksifnovaluesareusedmorethanonce.When
moreboxesareusedthanvaluesspecified,thesystemautomaticallyusesthedefaultvalueofthoseboxes.
[n1 TO n2]
Specifiesarangeofvalues.Allvaluesinbetweenareused.
Whennoargumentisspecified,thedefaultboxvalueswillbeused.Use*SCALERANGEwithoutargument
toresetboxvalues.
Page252
CommandIndex
Remark
Itispossibletousemorethanone*SCALERANGEinthesameNIPOODINquestionnaire.However,
fromamethodologicalpointofview,thisisnotrecommended.
*SCALERANGEshouldnotbeusedincombinationwitha*SCALE *MULTIina*FORMquestion.
Youcannotusedescendingscaleranges.
Whenavalueisnotaninteger(ifdecimalsareused),thevalueistruncated(thedigitsafterthedecimal
pointareignored).
Itisnotrecommendedtouseexpressionsorvariablestosetthe*SCALERANGE.Ifyoudo,makesure
anyvariablevaluesaredeterminedbeforesettingthescalerange.Otherwise,theyareconsidered0and
thefollowingerrorappears:"Error: 'SCALERANGE' , illegal argument".Makesureyou
checktherouting(*GOTO,*IF,*BACK,*CUT,etc.)inyourquestionnaire,topreventyoufrom
unexpectedlyjumpingovera*SCALERANGE,asthiswouldmakeanalysisofthedataimpossible(as
youdonotknowwhattheboxvaluesrepresent).
Ifaboxvalueisusedmorethanonce,theNIPOODINDevelopersyntaxcheckpresentsawarning
message"Warning: Duplicate Code: n"ifthisisthecase.
Ifthe*SCALERANGE specifiesfewervaluesthanboxesareused,thedefaultboxvaluewillbeused.
Thismaybeavaluethatwasalreadyusedinyour*SCALERANGE specification.Itisnotpossibleto
differentiatebetweenthese2boxes.Thesyntaxcheckgiveswarningmessage"Warning: number
of boxes in SCALE (n) exceeds number of values specified in SCALERANGE
(m)"ifthisisthecase.
In*SCALERANGEyoumayspecifynegativeboxvalues.WhenexportingthequestionnairetoNIPO
Diana,makesurethatyoudonotexportthescalequestionswiththeoption'Createcodesforscale
questions'switchedon,asNIPODianadoesnotsupportnegativecodevalues.Exportthescale
questionsasvaluesonly.InIBMSPSSPCandTripleSusingnegativecodevaluesaresupported(check
yourIBMSPSSdocumentationonhowtousethesescales).
Example1
*SCALERANGE [ 0 ; 1 ; 2 ; 3 ; 4 ]
*QUESTION 1 *FORM
How do you rate the taste of the following beers:
0
1:Heineken
*SCALE 61L1 5 10
2:Amstel
*SCALE 62L1 5 10
3:Grolsch
*SCALE 63L1 5 10
4:Carlsberg
*SCALE 64L1 5 10
5:Tuborg
*SCALE 65L1 5 10
Theleftmostgridboxsavesvalue0,thesecondboxsavevalue1,thethirdvalue2,thefourth3andthe
rightmostboxsavesvalue4.Notethattabsareusedtoseparatecolumnheadersandcodelabelsand
*SCALEstatements,andthateachrowendswithatabspacecombination.
Page253
CommandIndex
Example2
*SCALERANGE [-2 TO 2 ; 9]
*QUESTION 2 *FORM
How do you rate the taste of the following beers:
Very poor taste
Don't know
-2
-1
Poor taste
1:Heineken
*SCALE 66L2 6 10
2:Amstel
*SCALE 68L2 6 10
3:Grolsch
*SCALE 70L2 6 10
4:Carlsberg
*SCALE 72L2 6 10
5:Tuborg
*SCALE 74L2 6 10
Theleftmostboxontheleftsavesvalue2,thesecondboxsavesvalue1,thethirdvalue0,thefourth1,
thefifth2andtherightmostboxsaves9.Notethattabsareusedtoseparatecolumnheadersandcode
labelsand*SCALEstatements,andthateachrowendswithatabspacecombination.
Result:
Notethatthevaluesabovetheboxesinthisexamplearepartofthequestiontext.Theyhaveno
significancefortheboxvalue.
Example3
*SCALERANGE [0]
*QUESTION 3 *SCALE L1 *MAX 5
Inascaleof5boxes,thefollowingboxvalueswillbeused:leftmostboxvalue0;secondbox1,thirdbox:2;
thefourth3andtherightmostboxvalue4.Thisisthesameas*SCALERANGE [0;1;2;3;4]or
*SCALERANGE [0 to 4].
Example4
*SCALERANGE [1;3;5]
*QUESTION 6 *SCALE L1
Inascaleof4boxes,thefollowingboxvaluesareused:leftmostbox1,secondbox3;thirdbox5andthe
4th(rightmost)boxvalue4asitwouldhavebeenitsdefaultvalue.
Page254
CommandIndex
SeeAlso
*SCALE(in*FORMquestion) ..........................249
*SCALE(questiontype)...................................247
Page255
CommandIndex
*SHOWDOCUMENT
System
NIPOCAWIonly
Purpose
Showadocumentduringanonlineinterview.
Syntax
*SHOWDOCUMENT "URL [,frame]"
Description
Thiscommandisusedtoshowawebsiteduringanonlineinterview.
Arguments
URL
ThisistheURL(address)ofawebsitetobeshown.
frame
ThisisoptionalthenameoftheframeinwhichtoopentheURL.Theframemusthavebeendefinedinthe
NIPOODINTemplate.Ifnoframewasspecified,anewbrowserwindowisopened.
Remark
The*SHOWDOCUMENTcommandisignoredNIPOCATI,NIPOCAPI,NIPOCASIandNIPOCATIstandalone.
Example
*QUESTION 1 *CODES L1
Please first have a look at this web-site
1: Start
*SHOWDOCUMENT "http://www.niposoftware.com"
*QUESTION 2 *CODES L1
How did you like the new NIPO Software Website?
1:
2:
3:
4:
Very good
Good
Poor
Very poor
Page256
CommandIndex
*SIZE
System
NIPOCATI/NIPOCAPIonly
Purpose
Determinesthesizeoftheopenendedanswerboxin*OPENand*OPEN*BMPquestionsandthesizeof
checkboxesina*SCALEor*GRIDquestion.
Syntax
*SIZE x y
*SIZE expression1 [expression2]
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandmustbespecifiedafterthiscommand
onthesameline.Incaseofan*OPENquestionitdefinesthesizeoftheanswer(textorbitmap)box,in
caseofa*SCALE,*GRIDor*FORMquestionitdefinesthesizeofthecheckboxes.
InNIPOCATI,youcansetthewidthandtheheightoffullyopenendedanswertextandbitmap(*OPEN
*BMP)boxes.Thesizeofasemiopenendedanswerbox(whichusesadialogbox)cannotbealteredusing
*SIZE.
InNIPOCAPI,youcanuse*SIZEtosetthewidthandheightoffullyandsemiopenendedtextanswer
boxes.Howeverforafullyopenendedbitmap(*OPEN *BMP)answerboxyoucanonlysettheheight;the
widthparameterisignored.Forsemiopenendedbitmapanswerboxesyoucansetboththewidthandthe
height.
ThedefaultheightforafullyopenendedbitmapanswerinNIPOCAPIissettohalftheapplicationwindow.
InbothNIPOCATIandNIPOCAPI,NIPOODINenforcesaminimumsizefortheopenendedanswerboxes.
Valuesbelowtheminimumaresettotheminimum.
Arguments
x
Thehorizontalsizeoftheappropriateobject.Thesizeisspecifiedintenthsofpoints(1pointis
approximately1/72ofaninch).Maybespecifiedasanexpression.
y
Theverticalsizeoftheappropriateobject.Thesizeisspecifiedintenthsofpoints(1pointisapproximately
1/72ofaninch).Maybespecifiedasanexpression.
Ifonlyoneparameterisprovided,thefollowingrulesapply:
Inafullyopenendedbitmapanswer(*OPEN *BMP)inNIPOCAPI,usingasingleparametersetsthe
heightoftheinputbox.Thewidthoftheinputboxisalwayssettothewidthoftheapplicationwindow.
Notethatthisdoesnotapplytotextopenendedanswerboxes.
Inallothercases,asingleparametersetsthewidthoftheopenendedanswerboxonly.
Example1
*QUESTION 1 *OPEN L11 *MULTI *SIZE 3000 1000
What reasons did you have to sell your car?
Page257
CommandIndex
Result:
Example2
*TAB 40,50,60,70,80,90
*QUESTION 1 *FORM *SIZE 200 200
Please indicate how much you agree or disagree with the following statements:
agree
disagree
*SCALE L1 5 10
*SCALE L1 5 10
Result:
Example3
*QUESTION 1 *OPEN L11 *MULTI *SIZE 1500
What reasons did you have to sell your car?
Page258
CommandIndex
ResultinNIPOCAPI:
SeeAlso
*BMP...............................................................104
*CODES ...........................................................109
*FORM ............................................................132
*GRID(in*FORMquestion)............................141
*OPEN(codesoption).....................................210
*OPEN(questiontype)....................................208
*SCALE(in*FORMquestion) ..........................249
Page259
CommandIndex
*SKIP
System
NIPOCAPIonly
Purpose
Skipsaquestionnaireinacluster.
Syntax
*SKIP "name"
Description
ThiscommandisusedtoskipaquestionnaireinaclusterinNIPOCAPI.Nodataisstoredforthatspecific
questionnaire.Usethiscommandforinstancetoskiparegionalquestionnaireoraquestionnairefora
specifictargetgroup.Thiscommandismostlyusedintheapreliminaryscreeninginthefirstquestionnaire
ofacluster.Ifthecallneedstobemadeinthequestionnaireitself,use*ABORTinstead.
Arguments
name
Thisisthenameofaquestionnairetobeskipped(excludingtheQ).Ifthefileismissingornotdefinedinthe
clusterthecommandisignored.
Example
*QUESTION 1 *CODES L1
Interviewer: type sex of respondent
1: Male
2: Female
** The questionnaire RAZORQ is only for males.
*IF [ Q1,2 ] *SKIP "razor"
** The questionnaire PERFUMEQ is only for females.
*IF [ Q1,1 ] *SKIP "perfume"
SeeAlso
*ABORT.............................................................92
*APPOINT..........................................................97
*CUT ...............................................................116
*END ...............................................................121
*ENDNGB........................................................123
*ENDST ...........................................................124
Page260
CommandIndex
*SQLADD
System
NIPOCATIandNIPOCAWIonly
Purpose
Createnewdatabaserecord.
Syntax
*SQLADD count var1,var2, "SELECT field1,field2, FROM TableName"
Description
Usethe*SQLADDcommandinaNIPOODINquestionnairetocreatenewrecordsinadatabasetable.This
maybeacustomtable,thecurrentSampletable,oraSampletableforanothersurvey.Ifthe*SQLADD
commandisexecutedsuccessfullythevariablecountcontainsthenumberofrecordsthathavebeen
addedinthetable.
SeeAdvancedUseof*SQLADDCommand(onpage303)formoredetailsonworkingwith*SQLADD.
Arguments
count
Thisavariablethatstorestheresultofthecommand,whichisthenumberofrecordsthatweresuccessfully
addedtotheSQLtable.Canbeusedtoseeifthequerywasexecutedsuccessfully.Morethanonerecord
maybeaddedifanyofthepassedvariableswasanarraytypevariable.Thesmallestarraysizedefineshow
manyrecordsmaybeadded.Ifcountissmallerthanthatsmallestarray,oneormorerecordscouldnotbe
added.Likelycausesareprimarykeyviolations,incompatibledatatypesetcetera.Anerrorpreventsthe
systemfromaddingmorearrayvaluesfromthe*SQLADDstatement.
var1,var2, ...
Inputvariablesorvaluesthataretobeinsertedinthenewrecord(s).Forundopurposesthesemustinclude
theprimarykey(s)forthetable,forundopurposes.Thenumberofvariablesshouldmatchthenumberof
fieldsintheSELECTstatement.Arraytypevariablesmustbespecifiedwithoutarrayindexes.
field1, field2, ...
Fieldsintowhichthevariablesaretobeinserted.Theseshouldatleastincludeallprimarykeyfield(s).Asa
consequencethetablemustuseaprimarykey.Theorderinwhichthefieldsarespecifiedistheorderin
whichtheirvaluesareinserted,andthenumberoffieldsshouldmatchthenumberofvariables:var1goes
intofield1,var2intofield2andsoforth.
TableName
Nameofthetabletocreaterecordsin.ThedatabaseODBCname(DSN)isconfiguredinthesurvey
configurationfile,usuallyaspartofthesurveyconfiguration.Asasurveycanuseonlyonedatabase
reference,thisisusuallythesamedatabasethatcontainsthesurveysSampletable.Thetablemaybethe
currentSampletable,thesampleofanothersurveyoranyothertableinthesamedatabase.
Page261
CommandIndex
Remark
ThisfunctionrequirestheuseofadatabaseserverconnectedtotheNIPOFieldworkSystem.
Goingbackintothequestionnaireoveran*SQLADDstatementwillundoit,unlesstherecordwas
lockedbyanotherprocess.Youmayspecifya*NOTBACKcommandintheNIPOODINquestionnaireif
undoingisnotappropriate.
Thevariablesmustbespecifiedwiththe*VARS,*TEXTVARSor*SAMPLEDATAcommandfirst.
Thefieldsmustexistinthetable.
Thetablemusthaveaprimarykey.
*SQLADDmaynotbeusedonaview,sinceviewsdonothaveaprimarykey.
*SQLADDmaynotbeusedonatablewithanautomaticprimarykey,since*SQLADDdeterminesits
ownkey.
Contrarytothe*NEXTRECORDcommand,youmustspecifyavalidrecordnumber(key)forthetable.
Thenumberofvariablesmustmatchthenumberoffields.
Expressionsarenotsupported.Usethe*PUTcommandfirsttoevaluateexpressions.
ThesyntaxcheckintheNIPOODINDeveloperwillnotcheckifthecontentsofthevariablesthatyou
specifiedfitinthefields.Inotherwords,youmustensurethevariablesmatchthefieldtypesofthe
database.Textsthatdonotfitacharacterfieldaretruncated.
Youmaychangethecontentsofsystemfields(systemvariables)inSampletables.Thereisnovalidity
checkduringthe*SQLADDcommand,exceptforconstraintsofthefields,soensureyouusevalid
systemvalues.Inparticular,theInterviewNumberfieldshouldbesettoavalueintherange1
99999999,theStatusfieldto18andtheResponseCodefieldto099.
Ifthereisatypemismatchbetweenthevariablevalueandthefieldtype,anerrorisreportedandthe
recordisnotadded.
Forreference,thefieldtypeTinyIntmaybeusedforvaluesbetweenandincluding0and255;the
typeSmallIntmaybeusedforvaluesbetweenandincluding32768and+32767;thefieldtype
Integermayfitvaluesbetween214783648and214783647andthetypeFloatingmaycontain
anyvalueofupto15digits,withprecisionused.
Example1
*VARS Count,NewNumber
*TEXTVARS Name,Email,Telephone
*PUT
*PUT
*PUT
*PUT
NewNumber [ 9001 ]
Name "NIPO Software Helpdesk"
Email "Helpdesk@niposoftware.com"
Telephone "00 31 20 5225 980"
AnewrecordiscreatedintheContactstablewithRecordNumber9001andthevariablesaresavedin
theName,EmailandTelephonefieldsforthisrecord.Allotherfieldsfromthistableeitherremain
emptyorreceivetheirinitialvalueassetintheconstraintsforthistable.
Example2
*VARS NewNumber,Count
*TEXTVARS Name,Address,City,Country,TelephoneNumber
*QUESTION 1 *FORM
Type the contents for your new record
Page262
CommandIndex
1:
2:
3:
4:
5: TelephoneNumber
ThesystemaddsanewsamplerecordtothetableofsurveySampleA1234.Avalueof50000000isadded
totheInterviewNumberandusedastheprimarykeyforthenewrecord.Thismethodmaycreatenew,
nonexistentprimarykeyswithoutcausingaprimarykeyviolation.
Example3
*VARS NewNumber, Count, Maxnumber
*TEXTVARS Name, Address, City, Country, TelephoneNumber
*QUESTION 1 *FORM
Type the contents for your new record
1: Name *ALPHA
2: Address
5: TelephoneNumber
ThischecksforthehighestusedInterviewNumberwith*SQLGET,addsoneandthenusesthisvalueto
createthenewrecord.
Page263
CommandIndex
Example4
*VARS FamilyNumber, FamilyMemberNumber[9], FamilySize, Count
*TEXTVARS Name[9]
*QUESTION 1 *FORM
1:FamilyNumber:
2:FamilySize:
First person:
Second person:
Third person:
Fourth person:
Fifth person:
Sixth person:
Seventh person:
Eighth person:
Ninth person:
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
77L35
112L35
147L35
182L35
217L35
252L35
287L35
322L35
357L35
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
Name[1]
Name[2]
Name[3]
Name[4]
Name[5]
Name[6]
Name[7]
Name[8]
Name[9]
Thesystemaddsatmaximum9recordswiththenamesofpanelmembersintheTestPanelmembers
table.Thesystemusesthe6digitFamilyNumberandaddsa2digitnumberforeachfamilymemberto
createaunique8digitPanelMemberNumber.
Whenfewerthan9familymemberswerespecified,thesystemreportsawarningmessagetothefieldwork
manager.Howeverthiserrormaybeignored..
Note:
ThevariablenameFamilyMemberNumber[9]andthedatabasefieldname
PanelMemberNumberdonotneedtocarrythesamename.
SeeAlso
*NEXTRECORD................................................ 195
*SQLGET ......................................................... 265
*SQLPUT......................................................... 268
Page264
CommandIndex
*SQLGET
System
NIPOCATIandNIPOCAWIonly
Purpose
Retrievesavalueortextfromadatabase.
Syntax
*SQLGET count var[,var...] "SQL statement"
Description
Thiscommandretrievesavariablefromadatabase.Ifmorethan1variableisusedthefirstvariablewillget
thevalueofthefirstfieldinthedatabaserecord,thesecondvariablegetsthesecondfieldetcetera.The
variablecanalsobeanarray.Inthatcase,iftheSQLstatementreturnsmorethan1record,thefirstrecord
willbecopiedfromthefirstelementofvar,thesecondrecordfromthesecondelementofvaretcetera.
Tobeabletouse*SQLGET,theNIPOFieldworkSystemmustbeconfiguredtouseadatabase.
Arguments
count
AnumericvariablethatwillcontainthenumberofrecordsretrievedbytheMSSQLstatement.Thiscannot
beanarrayvariable.
var
AvariablethatwillreceivetheresultoftheSQLstatement.Thismaybeanarrayvariable,butshouldbe
specifiedwithouttheindex.
"SQL statement"
AnSQLstatement.OnlySELECTstatementsintheformat"SELECT ... FROM ... WHERE ..."
areallowed.
Page265
CommandIndex
Remark
NIPOODINwillnotsyntaxchecktheSQLstatement.AsfarasNIPOODINisconcerneditisjustatext
stringwhichmeansthatyoucansubstitutevariableswiththe*?command.Ifthereisanerrorwhile
executingtheSQLstatementthisisreportedtothefieldworkmanager.Theinterviewcontinueswith
countsettozero.
VariablenamesintheNIPOODINquestionnairedonotneedtobeequaltothefieldnamesinthe
databasetable.
ItisadvisedtomatchthenumberofresultvariablestothenumberoffieldsreturnedbytheSQL
statement.TheorderinwhichfieldsarelistedintheSELECTstatementisthesameorderforstorage
usedbythedefinedvariables.
IfnorecordisfoundmatchingtheWHEREstatementoroneormoredatabasefieldsintheSQL
statementaremissing,thecountvariablewillbezero.
IfmorethanonerecordisfoundmatchingtheWHEREstatementandthevarisdefinedasanarray,the
arrayindexesofthevariablesareusedtostoresubsequentrecords.Thenumberofmatchingrecords
willbestoredinthecount.
Ifmorethanonematchingrecordisfound,butvarwasnotdefinedasanarrayvariable,thesystem
retrievesallmatchingrecordsbutcanstoreonlythelastfoundinformation.Thevariablecount
containsthenumberofrecordsfound.Notethattheorderinwhichrecordsarefoundisnotalwaysthe
(ascending)recordnumbers.
Ifmorethanonematchingrecordisfound,butthearrayvariablewasdefinedwithinsufficientindexes,
thesystemonlyretrievespartoftherecords.
AftertheWHEREstatementanyvalidSQLsyntaxexpressionisallowed.Usebracketstosetpriority
rules.
SQLstatementsmayonlyrefertotableswithintheasingledatabase.Whenreferringtootherdatabases
onthesameserver,theSQLstatementreturnszerorecords.
SQLstatementsmayrefertoonlyonetableatthetime,sojoinedqueriesarenotallowed.When
referringtoseveraltablesinasingle*SQLGETstatement,thestatementreturnszerorecords.If
informationfrommorethanonetableisrequired,considerusingmorethanone*SQLGETstatement.
FieldnameswithinthetablemaynotcontainspacesorothercharactersthatarenotintherangesAZ,
azand09.
TheWHEREstatementdoesacasesensitivesearchbydefault.Thismayonlybedisabledinthedatabase
configuration.
Note:
Requiresareferencetothedatabasename(DSNnameontheNIPOCATI/WebMaster)inthe
surveyconfigurationfile.Thisreferenceisbydefaultincludedwhenasampletableiscreated.
WhenretrievingfieldsfromSampletables,keepinmindthatSampletablesareprefixedwith
Sample(forexample,theSampletableofsurveyA1234iscalledSampleA1234).
Ifyouneedtoretrieveinformationfromthesamplerecordcurrentlyinuse,itisrecommendedto
use*SAMPLEDATAtodirectlyaccessfields.
Example1
InthedatabasetableNamestheIDisstoredinthefieldUserIDandthenameisstoredinthefield
Name.
SurveyconfigurationfileA1234.INI:
[Config]
RespondentDatabase=NIPOFieldworkSystem
Page266
CommandIndex
Questionnaire
*VARS CNT,NAME,USERID
*QUESTION 1 *NUMBER L8 *SAVE USERID
What is your ID number?
*SQLGET CNT NAME "SELECT Name FROM Names WHERE ID='*?USERID'"
*PAGE
According to our database your name is *?NAME.
Example2
RetrievefieldsBrandandTypefromdatabasetableProductswith*SQLGET.Thescriptassumeseach
brandcanhaveupto5types,andapreviouslydefinedlistofcomputerbrands(notincludedinthisscript).
*TEXTVARS CNT,BRAND,TYPE[5]
*VARS PRICE[5]
*QUESTION 1 *ALPHA L50 *SAVE BRAND *LIST "Computer brands"
What is the brand of your computer?
*FORMAT 3.2
*SQLGET CNT TYPE,PRICE "SELECT Type,Price FROM ProductTable WHERE Brand='*?BRAND'"
*QUESTION 1001 *CODES L5 *MULTI *DUMMY
*REPEAT 5
*IF [ CNT >= ?R ] *INCLUDE Q1001 [ ?R ]
*ENDREP
*QUESTION 2 *CODES L1 *IF [ CNT >= 1 ] *CONTROL Q1001 W
Please select the type of your *?BRAND computer:
Type:
1:
2:
3:
4:
5:
*?TYPE[1]
*?TYPE[2]
*?TYPE[3]
*?TYPE[4]
*?TYPE[5]
Price
*?PRICE[1]
*?PRICE[2]
*?PRICE[3]
*?PRICE[4]
*?PRICE[5]
SeeAlso
*MOVA............................................................184
*MOVU ...........................................................185
*NEXTRECORD ................................................195
*SAMPLEDATA ................................................244
*SQLADD.........................................................261
*SQLPUT .........................................................268
Page267
CommandIndex
*SQLPUT
System
NIPOCATI/NIPOCAWIonly.
Purpose
Storesoneormorevaluesortextsinadatabasetablerecord.
Syntax
*SQLPUT count var[,var...] "SQL statement"
Description
Storesvariableinanexistingdatabasetablerecord.Ifmorethan1variableisusedfirstvariablewillbe
storedinthefirstfield,thesecondinthesecondfieldetcetera.
Arguments
count
AnumericvariablethatwillcontainthenumberofrecordsupdatedbytheSQLstatement.Thisshouldnot
beanarrayvariable.
var
Oneormorevariablescontainingthedatatobestoredinthetablerecord(s).Variablesmaybearraysif
theSQLstatementretrievesmorethanonerecord,theindexedvaluesofthesearraysareusedtofillthe
records.
"SQL statement"
AnSQLstatement.OnlySELECTstatementsintheformat"SELECT ... FROM ... WHERE ..."
areallowed.ItisnotpossibletouseanUPDATEquery.
Note:
Requiresareferencetothedatabasename(DSNnameontheNIPOCATI/WebMaster)inthe
surveyconfigurationfile.Thisreferenceisbydefaultincludedwhenasampletableiscreated.
DonotattempttoupdaterecordswithintheSampletableofarunningsurvey,includingthe
questionnaire'sownSampletable.Recordsofsuchtablesmaybelocked,causingtheupdatetofail.
Ifyouneedtoupdateinformationinthesamplerecordcurrentlyinuse,itisrecommendedtouse
*SAMPLEDATAtodirectlyaccessfields.
Page268
CommandIndex
Remark
Thiscommanddoesnotcreatenewrecordsitonlyupdatesexistingrecords.
NIPOODINwillnotsyntaxchecktheSQLstatement.AsfarasNIPOODINisconcerneditisjustatext
stringwhichmeansthatyoucansubstitutevariableswiththe*?command.Ifthereisanerrorwhile
executingtheSQLstatementthisisreportedtothefieldworkmanager.Theinterviewcontinueswith
countsettozero.
VariablenamesintheNIPOODINquestionnairedonotneedtobeequaltothefieldnamesinthe
databasetable.
ItisrequiredtomatchthenumberofinputvariablestothenumberoffieldsreturnedbytheSQL
statement.TheorderinwhichfieldsarelistedintheSELECTstatementisthesameorderforstorage
usedbythedefinedvariables.
IfnorecordisfoundmatchingtheWHEREstatementoroneormoredatabasefieldsintheSQL
statementaremissing,thecountvariablewillbezero.
IfmorethanonerecordisfoundmatchingtheWHEREstatementandthevarisdefinedasanarray,the
arrayindexesofthevariablesareusedtofillsubsequentrecords.Thenumberofmatchingrecordswill
bestoredinthecount.Ifthearraysaretoosmalltofittheselection,onlypartoftheselectionisfilled;
ifthearraysaretoolargetofitthenumberoffoundrecords,onlypartofthearraysarestored.Note
thattheorderinwhichrecordsarefoundisnotalwaysthe(ascending)recordnumbers.
AftertheWHEREstatementanyvalidSQLsyntaxexpressionisallowed.Usebracketstosetpriority
rules.
SQLstatementsmayonlyrefertotableswithintheasingledatabase.Whenreferringtootherdatabases
onthesameserver,theSQLstatementreturnszerorecordsandtheupdatefails.
SQLstatementsmayrefertoonlyonetableatthetime,sojoinedqueriesarenotallowed.When
referringtoseveraltablesinasingle*SQLPUTstatement,thestatementreturnszerorecords.If
informationmustbestoredinmorethanonetable,considerusingmorethanone*SQLPUTstatement.
FieldnameswithinthetablemaynotcontainspacesorothercharactersthatarenotintherangesAZ,
azand09.
TheWHEREstatementdoesacasesensitivesearchbydefault.Thismayonlybedisabledinthedatabase
configuration.
Example
ThedatabasetableNamescontainsaprimarykeythatmatchestheIDusedintheSampletable.The
respondent'snamemustbestoredinthefieldName.ItisassumedthatthetableNamesalreadycontains
thematchingrespondentIDs.
*VARS CNT
*TEXTVARS Name
*QUESTION 1 *ALPHA L45 *SAVE Name
What is your name?
*SQLPUT CNT Name "SELECT Name FROM Names WHERE ID='*?ID'"
*PAGE
Your name (*?Name) has been updated in our database.
SeeAlso
*MOVA............................................................184
*MOVU ...........................................................185
*SAMPLEDATA ................................................244
*SQLADD.........................................................261
*SQLGET..........................................................265
Page269
CommandIndex
*STOPAUTO
Purpose
Stoptheautomaticarrangingofanswercodesintocolumns.
Syntax
*STOPAUTO
Description
Thiscommandisalwaysusedincombinationwithacodedefinitionandmustbespecifiedafterthiscodeon
thesameline.Iftheanswercodesareautomaticallyarrangedintocolumnsbymeansof*AUTOthenthis
codeandallfollowingcodeswillnotbearrangedintocolumnsbutwillbedisplayedunderneath.
Note:
*NOCONhasamatchingresult.
Page270
CommandIndex
Example
*QUESTION 2 *CODES L2 *AUTO
Question text
1:code
2:code
3:code
4:code
5:code
6:code
7:code
8:code
9:code
10:code
11:code
12:code
13:code
14:code
15:code
16:code
17:code
18:code
19:code
20:code
21:code
22:code
23:code
24:code
25:code
26:code
27:code
28:code
29:code
30:code
31:code
32:code
33:code
34:code
35:code
36:code
37:code
38:code
39:code
40:code
41:code
42:code
43:code
44:code
45:code
46:code
47:code
48:code
49:code
50:code
51:code
52:code
53:code
54:code
55:code
56:code
57:code
58:code
59:code
60:code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Page271
CommandIndex
Result:
SeeAlso
*AUTO...............................................................98
*NOCON..........................................................199
*NOHIDE .........................................................201
Page272
CommandIndex
*STOPRANDOM
Purpose
Stopsrandomizationofanswercodes.
Syntax
*STOPRANDOM
Description
Thiscommandisalwaysusedafteracodedefinitionandmustbespecifiedafterthiscodeonthesameline.
Iftheanswercodesaredisplayedinrandomorderbymeansof*RANDOM*ROTor*INVthenthiscode
andallfollowingcodesarenotrandomizedbutdisplayedinregularorder.
Note:
*NOCONhasamatchingresult.
Example
*QUESTION 1 *CODES 61L11 *MULTI *RANDOM
Which of the following brands do you know?
1:Aiwa
2:Denon
3:Kenwood
4:Marantz
5:Philips
6:Pioneer
7:Samsung
8:Sharp
9:Sony
10:Other, specify ...
11:Don't know *NMUL
*OPEN *STOPRANDOM
Inthisexamplecodes19aredisplayedinrandomorder,whilecodes10and11arealwaysdisplayedatthe
bottomofthecodelist.
SeeAlso
*INV ................................................................163
*NOCON..........................................................199
*NOHIDE .........................................................201
*RANDOM.......................................................226
*ROT ...............................................................241
*STOPAUTO ....................................................270
Page273
CommandIndex
*STRAT
Purpose
Stratificationonoutput.
Syntax
*STRAT <n|[expression]>
Description
Withthiscommandacheckcanbemadetoseeifacertainstratumhasreacheditslimit.Thestratification
criteriaareputintheTfile/Sampletablerecordduringtheinterview,socalledstratificationonoutput.If
thestratumlimitisreached,thequestionnaireiscontinuedwiththequestionwiththequestionnumber
indicatedbytheargument.
Arguments
n|expression
Apositiveintegerthatspecifiesanexistingquestionnumber.
Example
*QUESTION 1 *CODES 201 *ADDRESS
*QUESTION 2 *CODES 61
Do you own a VCR?
1: Yes
2: No
*MOVA Q1 Q2
*STRAT 99
*QUESTION 3 *CODES 62
Did you use your VCR yesterday?
1: Yes
2: No
*QUESTION 4
Thank you for your co-operation.
*END
*QUESTION 99
I dont have anymore questions for you.
Thank you for your co-operation.
*ENDNGB
Inthisexample,theanswerofquestion2istransferredtotheTfile/Sampletablerecordandthe
stratificationcellsarecheckedtoseeifthequotawasreached.Ifso,ajumptoquestion99ismade.Itis
assumedthestratificationfile(Sfile)checksforstratumlimitsusingposition201.
SeeAlso
*ABORT.............................................................92
*CUT ...............................................................116
*END ...............................................................121
*ENDNGB........................................................123
*ENDST ...........................................................124
*NONRESP ......................................................203
Page274
CommandIndex
*SUBROUTINE...*ENDSUB
Purpose
Definesasubroutine.
Syntax
*SUBROUTINE name
<commands>
*ENDSUB
Description
Definesthestartofasubroutine.Thiscommandhastobeatthebeginningofaline.Thiscommandis
alwaysusedincombinationwith*ENDSUB(endsubroutine).Thesubroutinecanbejumpedtoatanytime.
Asubroutineconsistsofasetofcommandsandquestionsthatthesystemconsidersasaspecial
component.Whenasubroutineiscalledinthequestionnairethesystemexecutesthecommandsinthe
subroutine.Itisasifthecommandsinthesubroutineareinsertedwherethesubroutinewascalled.The
answerfieldsinasubroutinewillbeconsideredrelative.
Whenasubroutineiscalledthesystemusesthepositioninthe*FIELDparameterbelongingto*GOSUB
asthestartingpointtodeterminewheretheanswershavetobeput.Asubroutineisconsideredaseparate
componentofthequestionnaire.Itshouldbeplacedsomewhereinthequestionnairebeforethefirstcallto
thesubroutine.
Inasubroutineyoucancallsubroutinesrecursivelywithamaximumdepthlimitedbythecomputer
memoryandthe99999datapositionsavailableforNIPOODIN.
Subroutinescanalsobecalledaftera*NEWcommand,whenplacedinthefirstsubquestionnaires.
Arguments
name
Thenameofthesubroutine.
Remarks
Itisnotallowedtojumpoutofasubroutinebymeansofthe*GOTOcommand.Toendsubroutine
execution,use*RETURNinstead.Atleastone*RETURNmustbedefined.
Example
*TEXTVARS BRAND
*SUBROUTINE OPINION
*QUESTION 1 *CODES 1
What do you think of the service of *? BRAND?
1:
2:
3:
4:
Very good
Good
Poor
Very poor
*ENDSUB
*QUESTION 2 *CODES 61L5 *MULTI *SAVE BRAND
Which of the following gas stations have you ever visited?
1:
2:
3:
4:
5:
Esso
Shell
Texaco
BP
*GOSUB
Mobil
*GOSUB
*GOSUB
*GOSUB
OPINION
*GOSUB
OPINION
OPINION
OPINION
OPINION
Page275
CommandIndex
SeeAlso
*FIELD .............................................................127
*GOSUB ..........................................................137
*RETURN.........................................................239
Page276
CommandIndex
*SWILANG
Purpose
Switchestoanother(predefined)language.
Syntax
*SWILANG "[name]"
Description
Withthiscommanditispossibletoswitchtoanotherlanguageduringtheinterview.Thecommandhasthe
sameeffectaschoosingthelanguagefromtheLanguagemenuintheNIPOCATIClientandtheNIPOCAPI
Client.Thenameinthesyntaxhastomatchthenameofthelanguagesection.
Arguments
name
ThisisthenameofthelanguagesectionthatNIPOODINrefersto.Toswitchtothedefaultlanguageyou
canomitaname.
Remark
Thedoublequotesaroundthesectionnamearemandatory.
InNIPOSYS.INIthefollowingsettingapplies:SwilangDisablesLanguageSwitch = n.When
turningthissettingon(n=1),theLanguagemenuisdisabledsothattheinterviewercannotswitch
languages.Default=0(languageswitchenabled).
Thedefaultlanguage,containingtheactualquestionnairelogic,isalwaysconsideredEnglishevenifit
isn't.WhenyoursourcequestionnaireisnotinEnglish,butEnglishisoneofthetranslations,usefor
example*LANGUAGE "UK"and*SWILANG "UK".
Page277
CommandIndex
Example
*QUESTION 1 *CODES 201
Interviewer: choose a language
1:
2:
3:
4:
SeeAlso
*LANGUAGE....................................................166
Page278
CommandIndex
*TAB
Purpose
Setsthetabpositions.
Syntax
*TAB <n>[,n2,...]
Description
Thiscommandcanbeusedtospecifythetabwidth.Thetabwidthisdeterminedbypercentagesofthe
Window'swidthinNIPOCATI.InNIPOCAWIandNIPOCAPI,Thetabpositionsareconvertedtocolumnsin
thebrowserwindow.
IntheNIPOCAPIClientonly,the*TABcommandcanbeusedtolayoutcodelistsusing*AUTOtoformatthe
numberofcolumns.
Arguments
n
Thisisapositiveintegerthatindicatesthetabwidth.
Example1
*FONT 0 "10 ARIAL"
*TAB 30
*QUESTION 1 *FORM
Please, fill in:
1:Name : *ALPHA 73L30
2:Street
: *ALPHA 103L40
: *NUMBER 163L2
Notethattabsareusedbehindallcodelabels.
Result:
Page279
CommandIndex
Example2
*TAB 40,50,60,70,80,90
*QUESTION 1 *FORM
How do you rate ....
very poor
know/ no answer
poor
1:Statement 1 *SCALE L1 6
2:Statement 2 *SCALE L1 6
3:Statement 3 *SCALE L1 6
4:Very long statements may
*SCALE L1 6 10
neither poor
nor good
good
very good
don't
10
10
10
be placed in one line, because the TAB will force a linewrap
Notethattabsareusedbetweenheadingtextsandbehindallcodelabels.
Result
Note:
Thevalue10in*SCALEisignored:thesystemcalculatesthescaledistanceusingthe*TAB
command.Notethatthedistancebetweenthescalesisalwaysequal.*TABdefinitionsabove100
areignored.
InNIPOCAPI,usingstylesheetsitisalsopossibletocenterthescaleboxesunderthetext.
SeeAlso
*AUTO .............................................................. 98
*FORM ........................................................... 132
Page280
CommandIndex
*TABLE
Purpose
EnablesexportinformationforhierarchicaldatafortheNIPODSCforSPSSDimensionsinterface.
Syntax
*TABLE ["iteration name"]
Description
ThiscommandappliestotheNIPODiana/NvisionScriptexportonly,butisignoredineitherpackage.It
addsacommentline(COM)tothevariabledefinitionwhichtellstheNIPODSCforSPSSDimensions
interfacethatthe*FORMquestionor*REPEATblockmustbeusedforahierarchicaldatarepresentation.
Thiscommandcanbeusedintwoways:
1. Ona*FORMquestiondefinition.Nolabelneedstobespecified.Hierarchicaldataofthefieldsofa
*FORMquestioncanonlybecreatedifallfieldsinthe*FORMquestionareofthesametypeandsize
(forexample,all*NUMBERsofsize2,all*SCALEsofsize1,asingle*GRIDetcetera).
2. Withina*REPEATblock.The*TABLEcommandisspecifiedinadvanceofthefirstquestioninthe
repeatlookanddefinesanameforthecurrentiteration.
Arguments
"iteration name"
Forusein*REPEATblocksonly,definesalabelforthecurrentiteration.
Example1:*FORMquestion
*QUESTION 4 *FORM *TABLE *VCONTROL Q1 W *LABEL "Scale"
Vertical control
Column 1
Column 2
Column 3
1:*GRID 73L24 6.4 4.8 *MULTI
Column 4
ThiscreatesacommentlinethattellstheNIPODSCforSPSSDimensionstolayoutthegridinahierarchical
datastructure.
Example2:*REPEATblock
*REPEAT
*REPNUM
*REPNUM
*REPNUM
*REPNUM
4
1
2
3
4
*FIELD
: *PUT
: *PUT
: *PUT
: *PUT
101L24
TXT "Iteration
TXT "Iteration
TXT "Iteration
TXT "Iteration
A"
B"
C"
D"
ThiscreatesacommentlinethattellstheNIPODSCforSPSSDimensionstolayouttherepeatblockina
hierarchicaldatastructure.
Page281
CommandIndex
SeeAlso
*LABEL ............................................................165
*VAR ...............................................................285
Page282
CommandIndex
*TEXTVARS
Purpose
Definesoneormoretextvariablesorarrays.
Syntax
*TEXTVARS <name>[,name2,...]
or
*TEXTVARS <name[size]>[,name2[size2],...]
Description
Definestextvariablesoronedimensionaltextarrays.Thiscommandhastobeatthebeginningoftheline.
Thesetextvariablesorarrayscanbeusedthroughouttheentirequestionnairetostoredataorretrieve
data.Intextvariablesorarraysallalphanumericaldatacanbestored.Atextvariableorarrayinitiallyis
empty.
Note:
FortechnicalreasonsitisnotpossibletousevariableswhichnamestartwithanL.
Systemvariablesdonotneedtobedefined.
Arguments
name
Thenameofthevariableorarray.Multiplevariablesorarrayscanbecreatedwithasingle*TEXTVARS
commandbyincludingadditionalvariableorarraynamesseparatedbycommas(Name2,Name3,andso
on).
size
Specifiesthesizeofthearraytobecreated.Onlyonedimensionalarraysaresupported.Thevariablewill
containthespecifiedamountofrows:youhavecreatedsizevariableswiththesamename.
Example
*TEXTVARS UHELP[2]
*QUESTION 2 *ALPHA 151L20 *SAVE UHELP[1]
What is the name of the oldest child?
*QUESTION 3 *ALPHA 171L20 *SAVE UHELP[2]
What is the name of the second oldest child?
*PAGE
The oldest child is named *? UHELP[1]
The second oldest child is named *? UHELP[2]
SeeAlso
*? ......................................................................89
*PUT................................................................222
*SAMPLEDATA ................................................244
*SAVE(codesoption)......................................246
*SAVE(questionoption) .................................245
*VARS..............................................................287
Page283
CommandIndex
*USELIST
Purpose
Useanswercodesfromalist.
Syntax
*USELIST <n|[expression]|"name">
Description
Thiscommandisalwaysusedincombinationwithaclosedquestionandusesalistasasubstitutefor(apart
of)acodelist.Thisissimilartothe*LISTcommandexceptthat*USELISThastobeusedas(partof)a
codelistwhile*LISThastobeusedasaquestionoption.Morethanone*USELISTmaybeusedina
singlequestion.
Arguments
n|expression
Thisisapositiveintegerorexpressionthatindicatesanexistinglist.
name
Thisisthenameofanexistinglist.
Remark
Thiscommandcanonlybeusedinthecontextofclosedcodedquestions.
Example
*LIST 1
1: Heineken
2: Amstel
3: Grolsch
4: Carlsberg
5: Tuborg
*QUESTION 1 *CODES L7 *MULTI
What brands of beer do you know?
*USELIST 1
6: Other *OPEN
7: Dont know *NMUL
Inthisexample,thefirstfivecodescomefromapredefinedcodelist.
SeeAlso
*LIST(definition).............................................173
*LIST(questionoption)...................................175
Page284
CommandIndex
*VAR
Purpose
DefinesavariablenameforexporttoNIPODIANA/NvisionScriptvariables,IBMSPSS,etcetera.
Syntax
*VAR <name>
Description
Thiscommandisalwaysusedincombinationwith*QUESTIONandaquestiontypedefinitionandmustbe
specifiedafterthesecommandsonthesameline.NormallyvariablenamesintheNIPODiana/Nvision
ScriptvariablefilearebasedonthequestionnumbersinyourNIPOODINquestionnaire.The*VAR
commandgivesthepossibilitytocreateyourownvariablenamesduringtheexporttoNIPODiana/Nvision
Script,IBMSPSS,etcetera.
Arguments
name
Anameofmaximum12characters.Thevariableshouldnotcontainspacesandshouldnotstartwitha
number.
Remark
Thevariablenamedefinestheexportvariablenameofthequestionintheexport.Thisisnotthesameas
thevariablescreatedwithinyourNIPOODINquestionnairewiththe*VARSand*TEXTVARScommands.
ThevariablenamesdonothavetobeuniqueintheNIPOODINquestionnaire,butobviouslyyouranalysis
toolwillnotbeabletodifferentiatevariableswiththesamename.TheNIPOODINDevelopersyntaxcheck
producesaWarning: Duplicate variable namemessageifavariablenameisnotunique.This
warninghasnoimpactonrunningthequestionnaire,andnamesmaybechangedwithoutconsequencesat
alatertime.
Variablenameswithina*REPEATblockaresuffixedwitharepeatnumber.Variablenameswithina
*GOSUBaresuffixedwithanumberindicatingthenumberofcallstheroutinewascalleduntilthen.Insome
exports,multiplecodedvariablesareexportedasmultipledichotomyvariables,wherethevariablenameis
suffixedwithacodelabelindexnumber.
Example
*QUESTION 1 *CODES L1 *VAR Gender
Int. type the respondents gender
1:Male
2:Female
*QUESTION 2 *NUMBER L2 *VAR Age
Could you please tell me your age?
ExporttoNIPODiana/NvisionScriptcreatesthefollowingvariables:
*Gender *SNG 61L1: Int. type the respondents gender
1:Male
2:Female
*Age 62L2: Could you please tell me your age?
ExporttoIBMSPSScreatesthefollowingvariables:
VARIABLE LABELS
Gender 'Int. type the respondents gender'
Age 'Could you please tell me your age?'
Page285
CommandIndex
SeeAlso
*LABEL ............................................................165
*TABLE ............................................................281
Page286
CommandIndex
*VARS
Purpose
Definesoneormorenumericvariablesorarrays.
Syntax
*VARS <name>[,name2,...]
or
*VARS <name[size]>[,name2[size2],...]
Description
Definesnumericvariablesoronedimensionalnumberarrays.Thiscommandmustbespeciifedatthe
beginningofaline.Numericvariablesorarrayscanbeusedthroughouttheentirequestionnairetostore
dataorretrievedata.Innumericvariablesorarraysallalphanumericaldatacanbestored.Anumeric
variableorarrayinitiallyisempty.
Arguments
name
Thenameofthevariableorarray.Multiplevariablesorarrayscanbecreatedwithasingle*VARS
commandbyincludingadditionalvariableorarraynamesseparatedbycommas(name2,name3,andso
on).
size
Specifiesthesizeofthearraytobecreated.Thevariablecanstoreuptosizevalues.
Remarks
NIPOODINhas10systemvariables,0uptoandincluding9,whichdonotneedtobedefined.Contrary
toallothervariablesinNIPOODIN,variable9willnotbeclearedatthestartofanewinterview.
Onlyonedimensionalarraysaresupported.
Example
*VARS GHELP,HHELP[2]
*QUESTION 1 *NUMBER 93 *SAVE GHELP
How many children, living at home, are there in this
household?
*QUESTION 2 *NUMBER 94L2 *SAVE HHELP[1]
What is the age of the oldest child?
*QUESTION 3 *NUMBER 96L2 *SAVE HHELP[2]
What is the age of the second oldest child?
*PAGE
There are *? GHELP children living at home.
The oldest is *? HHELP[1] years.
The second oldest is *? HHELP[2] years.
SeeAlso
*? ......................................................................89
*PUT................................................................222
*SAMPLEDATA ................................................244
*SAVE(questionoption) .................................245
*TEXTVARS......................................................283
Page287
CommandIndex
*VCONTROL
Purpose
Makesthedisplayofcolumnsandtextsinagridquestiondependentonanswerstoapreviousquestion.
Syntax
*VCONTROL <Qn> <W|N>
Description
Thiscommandisalwaysusedincombinationwitha*FORM*GRIDquestionandhastobeonthesameline
asthequestiondefinition.Thiscommandcontrolsthedisplayofanswercolumnsandtextsina*GRID
questiondependentonanswerstoapreviousquestion.Thispreviousquestionisreferredtobymeansof
Qn.
Arguments
Qn
Thereferencetothecontrolquestionwherenisthenumberofthequestion.
W
Onlyanswercodesthatwerementionedinthecontrolquestionarebeingdisplayed.
N
Onlyanswercodesthatwerenotmentionedinthecontrolquestionarebeingdisplayed.
Remarks
Makesurethatthecontrolquestionandthecurrentquestionhavematchingsetsofanswercodes.
Codesthataresuppressedasaresultofthiscommand,cannotbepartoftheanswer.Whenallcodes
aresuppressedthequestionisskipped.
Thecolumnheadertextsabovethegridcolumnshavetobepositionedbyusingtabs.
INNIPOCATIandNIPOCAPI,thecontrolledcolumnsareremovedfromthescreenandtherestofthe
columnswillshifttothelefttofillthegaps.
InNIPOCAWI,thecontrolledcolumnsarenotremovedbutdisabled(checkboxesaredisplayedingray
andcannotbeselected).
Example1
*QUESTION 1 *CODES 68L5 *MULTI
Which of the following Dutch beer brands did you ever taste?
1:
2:
3:
4:
5:
Heineken Beer
Amstel Beer
Grolsch Beer
Bavaria Beer
Leeuw Beer
Amstel Beer
Grolsch Beer
Bavaria Beer
Leeuw Beer
*FONT 0
Notethattherearetabsbetweencolumntextsaswellasinfrontofthe*GRIDcode.Alllineswithtextand
inatabspacecombination.
Page288
CommandIndex
ResultintheNIPOCATIClientwhenselectingHeineken,GrolschandBavariainQ1:
ResultintheNIPOCAWIwhenselectingHeineken,GrolschandBavariainQ1:
Page289
CommandIndex
Example2
*QUESTION 1 *CODES 61L5 *MULTI
Beer brands
1:
2:
3:
4:
5:
Heineken Beer}
Amstel Beer
Grolsch Beer
Bavaria Beer
Leeuw Beer
Amstel Beer
Grolsch Beer
Bavaria Beer
Leeuw Beer
Good product
Must have this product
None of these statements apply for this product
ResultinNIPOWebClientwhenselectingHeineken,Amstel,andLeeuwinquestion1:
SeeAlso
*CONTROL ......................................................112
*GRID(in*FORMquestion)............................141
Page290
CommandIndex
*WAITCR
System
NIPOCAPIClientonly.
Purpose
Onquestionsusing*NON,setstheminimumwaitingtimebeforeanonresponsemaybegiven.
Syntax
*WAITCR <n|[expression]>
Description
Onquestionsusing*NON,setstheminimumwaitingtimebeforeanonresponsemaybegiven.Beforethe
waitingtimeelapses,theinterviewer/respondentcannotpresstheENTERkeytoproceed.However,the
interviewmaybecontinuedwithoutwaitingwhenanyotheranswerisgiven.
Arguments
n|expression
Thisisapositiveintegerthatspecifiesthenumberofunitsof1/18second.
Remarks
Defaultvalueis0(nowaittime).
Example
*WAITCR 54
*Q 10 *OPEN L99 *MULTI *NON
Do you have any remarks with regard to the service offered?
Inthisexample,ittakes3secondsbeforetheinterviewcanbecontinuedwithoutgivinganyanswer.
SeeAlso
*BUT................................................................106
*NON ..............................................................202
Page291
CommandIndex
*WAITPLAY
Purpose
Waitsformultimediafilestofinish.
Syntax
*WAITPLAY
Description
Duringplaybackofamultimediafiletheinterviewdoesnotstop;playbackoccurssimultaneously.Withthis
commandhowever,itispossibletoforceawaitingtimeuntiltheplaybackhasfinished.
Remarks
Allmultimediafilesrecognizedbythemultimediainterfacecanbeplayed.Toplaysoundfragments,a
soundcardisrequired.
Ifanimagefile(suchasJPGorGIF)isusedin*PLAY,*WAITPLAYpausesforapproximately25seconds.
Example
*PLAY "letitbe.wav"
*WAITPLAY
*QUESTION 1 *CODES 102
Do you recognize this song?
1: yes
2: no
SeeAlso
*DELAY............................................................118
*PLAY ..............................................................219
Page292
CommandIndex
*WRITE
Purpose
Writesdatatoafile.
Syntax
*WRITE <Qn|var> ["filename"]
Description
Withthiscommanddatacanbestoredintoafilefromadatafieldorvariableindicatedbythefirst
argument.Ifthefilenameisomitteddataisstoredinthelastfileusedtostoredata.Thefileconsistsofa
singlerecord.Thecontentsoftherecordconsistofoneormorevalueswhichareeithernumbersortext.
NIPOODINtakescareofproperlystoringvaluesonebyoneinconsecutivecallsto*WRITE.Itisnot
requiredtobeawareofthefileformatcreatedbyNIPOODINunlessthedataisaccessedorchangedbyan
externalapplication.
Fileformatfor*READand*WRITEforeachvalue
HeaderIdentifier
Size
Value
.Singleposition
containinga'D'
Decimalvalueof
4digits
indicatingthe
sizeofthevalue.
Anystringof
charactersofwhich
thesizeisdetermined
intheheader.
Forexample,whenthevalues123456andthetext"NIPOODINScript"arestoredinasinglefile,itwould
containthestring"D0006123456D0016NIPO ODIN Script".
Arguments
Qn
Thequestionreferenceofthedatafieldthathastobestored.
var
Avariablethatholdsthedatathathastobestored.
filename
Thefilenameofthefiletostoretheinformationin.
Remarks
Duringaninterviewyoucannotgobackovera*WRITE withfilename,youcanonlygobackovera
*WRITEwithoutfilename.
Youcannotuse*WRITEindifferentlyincombinationwith*READ:atanytimeonlyonefileisassumed
open.Any*READor*WRITEthatspecifiesafilenameautomaticallyclosesthepreviousfile.
Filesareautomaticallyclosedforwritingwhentheinterviewisterminated.
Example
*TEXTVARS txt[2]
*PUT txt[1] "my text"
*PUT txt[2] "my second text"
*WRITE txt[1] "myfile"
*WRITE txt[2]
SeeAlso
*READ .............................................................230
Page293
AdvancedScripting
AdvancedUseof*NEXTRECORDCommand
TheNIPOCATI/WebMasternowsupportsinterviewingmultiplerespondentsonthesametelephonic
contact.Thiswayyoucanforinstanceinterviewallfamilymemberswithinthesamehouseholdorinterview
severalemployeeswithinthesamecompany,withasinglephonecall.
Foreachextrarespondent(forexample,familymember)aseparatenewrecordiscreatedintheSample
table.Whensomefamilymembersarenotavailableatthatmoment,youcanmakeappointmentsonthese
records.
IntheNIPOODINScriptLanguagethecommand*NEXTRECORDisavailableforthispurpose.Withthis
commandyoucanaddrecordsand/orupdaterecordsinyourSampletableandsubsequentlyinterview
multiplerespondentsonthesametelephonecontact.
ScenariosUsing*NEXTRECORD
Tousethe*NEXTRECORDcommand,threescenariosarepresentedhere.Eachscenariodescribeshowto
dealwiththeuseoforcreationofinterviewnumberswithinthesample.
Scenario1:UsingSystemdefinedInterviewNumbers
Thisscenarioappliesthefollowingdirectives:
Westartthesurveywithhouseholdrecords(eachhouseholdaseparaterecord).
Forthefirstrespondentinthehouseholdweaskthefamilysizeandthenamesofallfamilymembers.
Foreachextrarespondentinthefamilyanewfamilymemberrecordiscreated.
Thesystemdefinestheinterviewnumberstobeusedforthesenewrecords.
Whenthesecond,third,etceterafamilymemberareinterviewed,thescreenerquestionsaboutfamily
sizeareskipped.
Foreachextrafamilymemberanewrecordiscreatedinthedatafile.
ExtraSampletablefieldsforscenario1
InterviewNumber
DisplayField1
DisplayField2
AskHousehold
FamilySize
Int
Varchar(45)
Varchar(35)
Int
Int
00000001
Newhouseholdrecord
Family#1
00000002
Newhouseholdrecord
Family#2
00000003
Newhouseholdrecord
Family#3
Page295
AdvancedScripting
ExampleNIPOODINquestionnairefor*NEXTRECORD:scenario1
*SAMPLEDATA TTDisplayField1, TTDisplayField2
*SAMPLEDATA AskHousehold, FamilySize, TTInterviewNumber
*TEXTVARS Name[9],NewNumber
*TAB 30
*************************************************
**** Ask household situation only first time ****
*************************************************
*IF [AskHousehold <> 1] *GOTO 3
*QUESTION 1 *NUMBER 61L1 *SAVE FamilySize
How many family members are in this household?
*QUESTION 1001 *CODES 62L9 *MULTI *DUMMY
*REPEAT 9
*IF [?R <= Q1] *INCLUDE Q1001 [?R]
*ENDREP
*QUESTION 2 *FORM *CONTROL Q1001 W
What are the names of your family members?
1:
2:
3:
4:
5:
6:
7:
8:
9:
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
person
person
person
person
person
person
person
person
person
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
71L35
106L35
141L35
176L35
211L35
246L35
281L35
316L35
351L35
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
Name[1]
Name[2]
Name[3]
Name[4]
Name[5]
Name[6]
Name[7]
Name[8]
Name[9]
ThefieldAskHouseHoldisusedtoskipthescreeningquestionsiffurtherhouseholdmembersare
interviewed.
Page296
AdvancedScripting
IfthevalueofNewNumberissetto0,the*NEXTRECORDcommandcreatesarecordandautomatically
assignsanunusedInterviewerNumbervalue.Foranyvalueintherange199999999, itattemptsto
createarecordwiththatInterviewNumbervalue.MakesurethattheNewNumbervariableis
initializedinthe*REPEATloopeverytime.Ifyouforgettoinitializeitwithzero,itwouldattempttoeither
createorupdateconsecutiverecordswiththegivenvalue,whichresultsinaruntimeerrormessage
"Error in *NEXTRECORD: Sample record [n] is not valid for interviewing".A
failedattempttocreateorupdatearecordreturnsthevalue1forNewNumber.
NotethattheInterviewNumbervaluescreatedbythesystemarenotlinkedtotheoriginalfamily
memberrecords.Ifyourequirealinkbetweenthesevalues,itishighlyrecommendedtosaveafamily
memberIDwiththesamplerecords.
Scenario2:InterviewNumbersBasedonHouseholdInterviewNumber
Thisscenarioappliesthefollowingdirectives:
Westartthesurveywithhouseholdrecords(eachhouseholdaseparaterecord).
Inthequestionnairethefamilysizeandthenamesofallfamilymembersareasked.
Thefirstrespondentsupplieshispersonaldatainthehouseholdrecord.
Foreachextrarespondentanewfamilymemberrecordiscreated.
Theinterviewnumbersarebasedonthehouseholdnumber.Inourexample,thelast4digitsofall
householdnumbersare0000a1isaddedforeachfamilymember).
Wheninterviewingthesecond,third,etceterafamilymember,thescreeningquestionsaboutfamily
compositionareskipped.
Foreachextrafamilymemberanewrecordiscreatedinthedatafile.
ExampleSampletableforscenario2
InterviewNumber
DisplayField1
DisplayField2
AskHousehold
FamilySize
Int
Varchar(45)
Varchar(35)
Int
Int
10010000
Newhouseholdrecord
Family#1
10020000
Newhouseholdrecord
Family#2
10030000
Newhouseholdrecord
Family#3
Page297
AdvancedScripting
ExampleNIPOODINquestionnairefor*NEXTRECORD:scenario2
*SAMPLEDATA TTDisplayField1, TTDisplayField2
*SAMPLEDATA AskHousehold, FamilySize, TTInterviewNumber
*TEXTVARS Name[9],NewNumber, TempNumber
*TAB 30
*IF [AskHousehold <> 1] *GOTO 3
*QUESTION 1 *NUMBER 61L1 *SAVE FamilySize
How many family members are there in this household?
*QUESTION 1001 *CODES 62L9 *MULTI *DUMMY
*REPEAT 9
*IF [?R <= Q1] *INCLUDE Q1001 [?R]
*ENDREP
*QUESTION 2 *FORM *CONTROL Q1001 W
What are the names of your family members?
1:
2:
3:
4:
5:
6:
7:
8:
9:
1st
2nd
3rd
4th
5th
6th
7th
8th
9th
person
person
person
person
person
person
person
person
person
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
71L35
106L35
141L35
176L35
211L35
246L35
281L35
316L35
351L35
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
Name[1]
Name[2]
Name[3]
Name[4]
Name[5]
Name[6]
Name[7]
Name[8]
Name[9]
ThefieldAskHouseHoldisusedtoskipthescreeningquestionsiffurtherhouseholdmembersare
interviewed.
IfthevalueofNewNumberissetto0,the*NEXTRECORDcommandcreatesarecordandautomatically
assignsanunusedInterviewerNumbervalue.Foranyvalueintherange199999999, itattemptsto
createarecordwiththatInterviewNumbervalue.MakesurethattheNewNumbervariableis
initializedinthe*REPEATloopeverytime.Ifyouforgettoinitializeitwithzero,itwouldattempttoeither
createorupdateconsecutiverecordswiththegivenvalue,whichresultsinaruntimeerrormessage
"Error in *NEXTRECORD: Sample record [n] is not valid for interviewing".A
failedattempttocreateorupdatearecordreturnsthevalue1forNewNumber.
MakesureuniqueInterviewNumbervaluesarecreatedusingNewNumber,whicharenotyetusedin
theSampletable.Iftherecordnumberalreadyexists,thesystemwillattempttoupdatetheexistingrecord.
Page298
AdvancedScripting
ExampleSampletableafterscenario2
InterviewNumber
DisplayField1
DisplayField2
AskHousehold
FamilySize
Int
Varchar(45)
Varchar(35)
Int
Int
10010000
John
Family#1
10020000
Mick
Family#2
10030000
Bruce
Family#3
10010001
Paul
Family#1
10010002
George
Family#1
10010003
Ringo
Family#1
10020001
Keith
Family#2
10020002
Charlie
Family#2
Scenario3:UsingaPresetInactiveInterviewNumberforEachRespondent
Thisscenarioappliesthefollowingdirectives:
Westartthesurveywithaseparaterecordforeachfamilymember.
Wealreadyknowthefamilysizeandthenamesofallfamilymembers.
ThefirstfamilymemberStatusforeachhouseholdissetinitiallyto0(NIPOCATIactive).
TheStatusforthefollowuprecords(otherfamilymembers)areinitiallysetto5(Waiting).
Thefirstrespondentcan'activate'otherfamilymembers.
ExampleSampletableforscenario3
Interview
Number
Household
Number
Family
Member
Number
Status
DisplayField1
DisplayField2
Household
Family
Size
Int
Int
Int
Int
Varchar(45)
Varchar(35)
Int
Int
60010001
6001
John
Family#1
60010002
6001
Paul
Family#1
60010003
6001
George
Family#1
60010004
6001
Ringo
Family#1
60020001
6002
Mick
Family#2
60020002
6002
Keith
Family#2
60020003
6002
Charlie
Family#2
60030001
6003
Bruce
Family#3
InthisscenarioitisimportantthatthefamilymemberrecordsareinitializedinwithStatusvalue5
(Waiting).Ifnot,theyareavailablefordistributiontoanyotherinterviewerandwillnotbeavailablewith
the*NEXTRECORDcommand.
TheFieldworkManagermayinitializesamplerecordstotheWaitingstatus.Inaddition,theStatusvalue
canalsobepresetdirectlyontheSampletabletoimportbeforethesurveyisstarted.Alternatively,records
maybesettoaninactivestatusbyhavingtheminitializedforasNIPOCAWIavailable.
Page299
AdvancedScripting
ExampleNIPOODINquestionnairefor*NEXTRECORD:scenario3
*SAMPLEDATA TTDisplayField1, TTDisplayField2, TTDisplayField3
*SAMPLEDATA AskHousehold, FamilySize, TTInterviewNumber
*SAMPLEDATA HouseholdNumber, Household, FamilyMemberNumber
*VARS NewNumber, TempNumber
*IF [ Household <> 1 ] *GOTO 3
*QUESTION 1001 *CODES 62L9 *MULTI *DUMMY
*REPEAT 9
*IF [?R <= FamilySize ] *INCLUDE Q1001 [?R]
*ENDREP
*** The InterviewNumbers will be based on the 4-digit household number.
*PUT NewNumber [HouseholdNumber * 10000 + 1]
*REPEAT 9 *CONTROL Q1001 W
*IF [?R > 1] *PUT NewNumber [ NewNumber + 1 ] \
*PUT TempNumber [ NewNumber ] \
*NEXTRECORD TempNumber ""
*ENDREP
*QUESTION 3 *CODES 386L1
Does *?TTDisplayField1 have his/her own mobile telephone?
1: Yes
2: No
*QUESTION 4 *OPEN 387L1 *IF [ Q3,1 ]
Who is the provider of that mobile telephone?
*QUESTION 9999
That's all.
The next person in this household, if any left, will be interviewed now.
*END
Makesurethatanexisting,uniquenumberintheNewNumbervariableisgeneratedinthe*REPEATloop
eachtime.Ifyoutrytoupdatearecordforthesecondtime,thesystemhasalreadyclaimedtherecordand
willreporttheruntimeerrormessage"Error in *NEXTRECORD: Sample record -1 is not
valid for interviewing".
Example|ExampleSampletableafterscenario3
Interview
Number
Household
Number
Family
Member
Number
Status
DisplayField1
DisplayField2
Household
Family
Size
Int
Int
Int
Int
Varchar(45)
Varchar(35)
Int
Int
60010001
6001
John
Family#1
60010002
6001
Paul
Family#1
60010003
6001
George
Family#1
60010004
6001
Ringo
Family#1
60020001
6002
Mick
Family#2
60020002
6002
Keith
Family#2
60020003
6002
Charlie
Family#2
60030001
6003
Bruce
Family#3
ReturnCodesfor*NEXTRECORD
Iftheexecutionofthe*NEXTRECORDfails,thevariablewillcontaina(negative)returncodevalue.
Page300
AdvancedScripting
TheFieldworkManagerisalertedwithamessage.Noruntimeerrorisproduced,theinterviewcan
continueasnormal.However,theNIPOODINscriptwritermayusethisreturncodetodisplayawarningto
theinterviewer,ifrequired,orchooseanalternateroutingthroughthescript.
ReturnCodeValuesfor*NEXTRECORD
ReturnCode
Description
Samplerecordisclaimedbythesystem.EithertheNIPOFMSortheNIPOCATI/WebMasterhasclaimedthisrecordfor
use.Ineithercase,itcannotcurrentlybeaccessedforinterviewing.
Therelatederrormessageis"Error in *NEXTRECORD: sample record <interview number> is
not valid for interviewing. Error in survey <survey>".
Samplerecordcontainsadefinitiveresponsecode(refusal,completedsuccessfully,etcetera).
Anexistingrecordmayonlycontainnondefinitiveresponsecodes.Therelatederrormessageis"Error in
*NEXTRECORD: sample record <interview number> is not valid for interviewing.
Error in survey <survey> ".
ThereisnoSampletablepresentforthesurvey.Thisisablockingerrorthesurveywillhaltinanerrorstatus.The
relatederrormessageis"Error in *NEXTRECORD: no sample table present. Error in survey
<survey>".
TheconfiguredInterviewNumbervalueisnotcorrect.Forexampleheinterviewnumberenteredisnegative.It
mustbeanintegerwithvalue0to99999999.Therelatederrormessageis"Error in *NEXTRECORD: sample
record <interview number> is not valid for interviewing. Error in survey
<survey>".
WorkstationcouldnotcontactNIPOCATI/WebMaster.AconnectionwiththeNIPOCATI/WebMasterisrequiredfor
thiscommandtoexecutecorrectly.Theinterviewhaltsattheendofthecontact.
Systemerror.Thesamplerecordcouldnotbecreatedoraccessed.ThisusuallyindicatesanMSSQLDatabaseproblem.
Therelatederrormessageis "Database error in <database>. Error in *NEXTRECORD: sample
record <interview number> is not valid for interviewing. Error in survey
<survey>".
7/unchanged
Commandisnotexecutedinthecorrectchannel:*NEXTRECORDisonlysupportedforNIPOCATI.
Notethatthe*NEXTRECORDcommandhasnoeffectontheSampletableifanyoftheerrorsoccurred.
ErrorWhenReadingNextRecord
Ifthesystemtriestocontinuewiththenextrecordandthatrecordisnolongeravailableoraccessible,the
interviewerispresentedwithanerrormessage.
'Interviewcannotcontinuewithnextperson'message
Thissituationmayoccurif
TheconnectionbetweentheNIPOCATIClientandtheNIPOCATI/WebMasterhasbeenlost;
TheconnectionbetweentheNIPOCATI/WebMasterandtheMSSQLserverhasbeenlost;
TheSamplerecordhasbeenchangedordeletedfromtheSampletablebyanotherapplication.The
NIPOFMScannotdeleterecordsthatarecreatedwith*NEXTRECORDandclaimedbytheNIPOCATI/
WebMaster.
Page301
AdvancedScripting
InterruptingtheTelephonicContact
Ifthetelephoniccontactisinterruptedwhilenotallofthecreatedrecordsinthequeuewerehandled,the
remainingrecordsofthisqueuewillbeavailabletothesystemandmaybedistributedtoother
interviewers.Thiswillforinstancehappenincasetheinterviewerchoosestodoanyofthefollowing
actions:
ClosetheNIPOCATIClientapplication
Switchtoadifferentsurvey
Takeabreak.
RestartingtheInterviewSetsNewRecordstoSystemError
WhencreatingorupdatingSamplerecordswiththe*NEXTRECORDcommand,theserecordsarequeued
tobeloadednextaftercompletionofthecurrentinterviewsothatinterviewingmaycontinuewithout
disconnectingthetelephoneline.
Whentheinterviewerrestartsaninterviewafterthe*NEXTRECORDcommandwasexecuted,therecords
thatwereaddedtotheSampletablebythecurrentrecordwillbesettosystemerror(ResponseCode20,
Status2)andwillberemovedfromthequeue.
Recordsthatwerecreatedorupdatedbyapreviousrecord(beforeusingthecurrentrecord)willremainin
thequeue.Inotherwords,restartingtheactiverecordwillonlyaffecttherecordswhichwerecreated
duringtheinterviewoftheactiverecord.
Forexample,personAinacompanygivesthenameofcolleagueBandcolleagueCinthatsamecompany.B
andCwillbeinterviewedinthesametelephonesession,eachofthemmaygivethenamesofnew
colleagues.PersonBgivesthenameofDandE.IfBrestartstheinterviewafterthenewrecordsforDandE
werecreated,theserespondentsarenotcontacted.ButC(thatwascreatedbyA)isstillcontacted.
Using*NEXTRECORDinCombinationwithStratification
Therecordwhichisspecifiedinthe*NEXTRECORDcommandisnotcheckedforstratificationlimitsduring
thecurrentcontact.Thismeansthataftertheexecutionofthecommand,therecordisclaimedforthe
interviewandwillbehandedouttotheinterviewereveniftherecordfitstoastratificationcellofwhich
thelimitwasalreadyreached.Usethe*STRATcommandinthequestionnaireifthestratificationneedsto
beappliedanyway.
ThecolumnOutofthestratificationoverviewintheNIPOCATI/WebManagershowsthetotalnumberof
claimedrecordsofallinterviewers.Sinceeachinterviewermayclaimmultiplerecords,thisnumbermaybe
higherthanthetotalnumberofinterviewers.
HidedialogInterviewWillContinuewithNextPerson
IntheNIPOSYS.INIoftheNIPOCATIClientyoumayconfigurewhetherthefollowingdialogwillappear
ornotafteraninterviewiscompleted,beforeanewrecordwillbestartedonthesametelephonecontact:
'Interviewwillcontinuewithnextperson'dialog
ConfigurationforNIPOSYS.INI:
[Odqes]
ShowContinueNextSample=1 | 0
Page302
AdvancedScripting
Showorhidethedialog'Interviewwillcontinuewithnextperson'and'Interviewcannotcontinuewithnext
person'.Bydefault,italwaysshowsthedialog.
ChangeTextinDialogInterviewwillcontinuewithnextperson
ChangethetextthatwillbeusedinthedialogintheNIPOSYS.INIoftheNIPOCATIClient.
ChangedialogtextinNIPOSYS.INI:
[OdQesText]
Text_73="Interview will continue with next person"
Text_74="Interview cannot continue with next person"
Advanceduseof*SQLADDCommand
With*SQLADDyoucancreatenewrecordsinadatabasetable.ThismaybethecurrentSampletable,the
Sampleforanothersurveyoranyothertablewithinthesamedatabase.
*SQLADDcanbeseenasanextensionofthecommands*SQLGET,*SQLPUTand*NEXTRECORD:
Thecommand*SQLGETcanretrievedatafromanydatabasetable.
Thecommand*SQLPUTcanupdateexistingrecordsinanydatabasetable.
Thecommand*NEXTRECORDcanwritenewrecordsinthecurrentSampletable,thatcan
automaticallybeusedbytheNIPOCATI/WebMastertointerviewmultiplerespondentsonthesame
telephonecontact.
Thecommand*SQLADDcanwritenewrecordsinanydatabasetable.
Scenariosfor*SQLADD
Tousethe*SQLADDcommand,wepresentfourscenarios.
Scenario1:StoreNewRecordinTable(NottheSampleTable)
Thisscenarioappliesthefollowingdirectives:
Page303
AdvancedScripting
TheNIPOFieldworkSystemdatabasecontainsacustomtableTestSqladd1,createdusingthe
MicrosoftSQLServerManagementStudio.
ThistablehasaprimarykeycalledRecordNumber.
Thistablecontainssomecustomfieldsthataregoingtobeprovidedwithvaluesfromthescript:
Exampletablefor*SQLADD:scenario1
Fieldname
Fieldtype
Constraints
Field1
varchar(50)
Field2
varchar10
Integer1
int
Integer2
smallint
32768to32767
Integer3
tinyint
0to255
Floating
floating
ExampleNIPOODINquestionnairefor*SQLADD:scenario1
*VARS RecordNumber, Integer1, Integer2, Integer3, Floating, Count
*TEXTVARS Field1, Field2
*QUESTION 1 *FORM
Type the contents for your new record
1:
2:
3:
4:
5:
6:
7:
RecordNumber
*NUMBER
Field1 (max 50 pos) *ALPHA
Field2 (max 10 pos) *ALPHA
Integer1 (int)
*NUMBER
Integer2 (smallint) *NUMBER
Integer3 (tinyint) *NUMBER
Floating (use decimals)
61L8
*SAVE
69L50
*SAVE
119L10
*SAVE
129L11
*SAVE
140L6
*SAVE
146L4
*SAVE
*NUMBER 150L10.5
RecordNumber
Field1
Field2
Integer1
Integer2
Integer3
*SAVE Floating
*SQLADD Count \
RecordNumber,Field1,Field2,Integer1,Integer2,Integer3,Floating \
"SELECT \
RecordNumber,Field1,Field2,Integer1,Integer2,Integer3,Floating \
FROM TestSqlAdd1"
*QUESTION 2 *IF [Count >= 1]
Writing a new record was successful
*QUESTION 3 *IF [Count = 0]
Writing a new record was NOT successful
*END
ThiswillcreatenewrecordsinthetableTestSqladd1.ThetableisnotaccessiblethroughNIPOSoftware
applicationsotherthanthrough*SQLGETcalls.Anyattempttocreaterecordnumberthatalreadyexistsin
thetableresultsin*SQLADDtofail.AnerrorisreportedtotheFieldworkManager.Onanyerror,the
questionnaireisresumedatquestion3.
SQLhasnorangelimitonprimarykeys,thereforeitisperfectlypossiblesocreaterecordnumberswith
negativevaluesorvaluesover99999999,whichareoutsideoftheInterviewNumberrange.Thescript
doesnotcheckforvalidinputvalues.
For*SQLADDtowork,aSampletableisnotrequired.However,tobeabletousethe*SQLADDcommand
adatabasereferencemustbemadeinthesurveyconfigurationfilewithsetting
RespondentDatabase=<DSN>signifyingavalidDSNontheNIPOCATI/WebMaster.Thedatabase
usernameandpasswordoftheNIPOFieldworkSystemareusedtoattempttoaccessthisdatabase.
WhenyouuseaSampletableonthesurvey,thenewtablemustbeinthesamedatabaseasyoucannot
specifyanotherDSN.Theownerofthedatabasetableisnotrelevant.Howeverthedatabaseuser(theNIPO
FieldworkSystem)musthavesufficientrightstocreatenewrecordsinthetable.
Page304
AdvancedScripting
Scenario2:StoreNewRecordinCurrentSampleTable
Thisscenarioappliesthefollowingdirectives:
WehaveasurveycalledSqladd2,usingaSampletableSampleSqladd2.
Inthissurveyweaskrespondentsiftheyknowanyoneelsewhomightbewillingtocooperateinthis
survey.
Thesurveyusesthe*SQLADDcommandtoaddanewrecordintheSampletable.
Thenewlycreatedrecordsmaybedistributeddirectlytoanyinterviewer.
ExampleNIPOODINquestionnairefor*SQLADD:scenario2
*VARS NewNumber, Count, MaxNumber
*TEXTVARS Name, Address, City, Country, DisplayFields, TelephoneNumber
*VARS NewStatus, NewResponseCode
*QUESTION 1 *CODES 61L1
Can you give us the name and address of someone else who might be willing to co-operate in
this survey?
1: Yes, knows someone else
2: No, doesn't know anyone who would co-operate.
*QUESTION 2 *FORM
Type name and address for this person
1:
2:
3:
4:
5:
*SAVE Name
107L35 *SAVE Address
*SAVE City
177L35 *SAVE Country
*ALPHA 212L17 *SAVE TelephoneNumber
Youmayevenmakeappointmentsforyournewrecords.Notethattheformatforthe
AppointmentTimefieldis"YYYYMMDD HHmm",regardlessofthedate/timeformatconfiguredforuse
atthedatabaseserver.
Page305
AdvancedScripting
ExampleNIPOODINquestionnairefor*SQLADD:scenario2b
*PUT NewAppointmentTime "*?Year*?Month*?Day *?Hour*?Minutes"
*PUT NewStatus [ 4 ]
*PUT NewResponseCode [ 6 ]
*SQLADD Count NewNumber,Name,Address,City,Country,DisplayFields,\
TelephoneNumber,NewStatus,NewResponseCode,\
NewAppointmentTime\
"SELECT InterviewNumber,DisplayField1,DisplayField2,\
DisplayField3,DisplayField4,ShowDisplayFields,\
TelephoneNumber,Status,ResponseCode,\
AppointmentTime \
FROM SampleSqlAdd2"
DonotforgettoinitializethefieldsStatusandResponseCodeinthenewsurvey.Recordsareonlybe
distributedtointerviewerswhentheyhaveavalidandnondefinitiveStatusandResponseCode.
MakesurethatyouretrievethehighestInterviewNumbersofarjustbeforeattemptingtocreateanew
record.Ifyouretrievethenumberearlierinthisquestionnaire,anotherrecordmighthavebeenadded
duringanotherinterviewinthemeantime.
DonotusethesystemvariablesTTDisplayField1,TTDisplayField2,TTDisplayField3,
TTDisplayField4andTTTelephoneNumbertostorethenameandaddressforthenew
respondents.ThesewouldbesavedinthecurrentSamplerecordaswell.
SQLhasnorangelimitonprimarykeys,thereforeitisperfectlypossiblesocreaterecordnumberswith
negativevaluesorvaluesover99999999,whichareoutsideoftheInterviewNumberrange.Thesame
appliestotheStatusfield(0or4)andtheResponseCodefield,whichbesetwithanindefinite
responsecode.Thescriptdoesnotcheckforvalidinputvalues.Alternatively,configureconstraintsonthe
Sampletablebutbeadvisedthatthe*SQLADDcommandwillthensimplyfailonanattempttoadda
recordwithoutofboundsvalueswiththemessage"Database error in
<database>(<owner>.<tablename>) : INSERT statement conflicted with COLUMN
CHECK constraint '<field>'. The conflict occurred in database
<database>', table '<tablename>', column '<field>'. The statement has
been terminated.".
Scenario3:StoreNewRecordinAnotherSampleTable
Thisscenarioappliesthefollowingdirectives:
Page306
AdvancedScripting
WehaveasurveycalledSqladd3,usingaSampletablecalledSampleSqladd3.
WehavecreatedasecondSampletablecalledSampleSqladd4.
Inthefirstsurveyweaskiftherespondentiswillingtocooperatewithoursecondsurvey.
Thefirstsurveyusesthe*SQLADDcommandtowritetheaddressinformationfromthefirstsurveyinto
theSampletableforthesecondsurvey.
The*SAMPLEDATAcommandisusedtoretrievealladdressinformationfromtheSamplerecordinthe
firstsurvey,tobereusedforthenewSamplerecordinthesecondsurvey.
Thenewlycreatedrecordsinthesecondsurveymaybedistributeddirectlytoanotherinterviewer
workingonthesecondsurvey.
ExampleNIPOODINquestionnairefor*SQLADD: scenario3
*SAMPLEDATA TTInterviewNumber,TTDisplayField1,TTDisplayField2
*SAMPLEDATA TTDisplayField3,TTDisplayField4,TTShowDisplayFields
*SAMPLEDATA TTTelephoneNumber,TTRespEmail,TTAppointmentName
*VARS NewStatus,NewResponseCode, Count
*PUT NewStatus [ 0 ]
*PUT NewResponseCode [ 0 ]
*QUESTION 1 *CODES 79L1
Do you want to participate in another survey?
1: Yes
2: No *GOTO 9999
*SQLADD Count TTInterviewNumber,TTDisplayField1,TTDisplayField2,\
TTDisplayField3,TTDisplayField4,TTShowDisplayFields,\
TTTelephoneNumber,TTRespEmail,TTAppointmentName,\
NewStatus,NewResponseCode \
"SELECT InterviewNumber,DisplayField1,DisplayField2,\
DisplayField3,DisplayField4,TTShowDisplayFields,\
TelephoneNumber,Email,AppointmentName,\
Status,ResponseCode \
FROM
SampleSqlAdd4"
*QUESTION 2 *IF [Count >= 1]
Writing a new record was successful
*QUESTION 3 *IF [Count = 0]}
Writing a new record failed
*QUESTION 9999
That's all
*END
Youmayevenmakeappointmentsforyournewsurvey.NotethattheformatfortheAppointmentTime
fieldis"YYYYMMDD HHmm",regardlessofthedate/timeformatusedbytheMSSQLserver.
ExampleNIPOODINquestionnairefor*SQLADD:scenario3b
*PUT NewAppointmentTime "*?Year*?Month*?Day *?Hour*?Minutes"
*PUT NewStatus [ 4 ]
*PUT NewResponseCode [ 6 ]
*SQLADD Count TTInterviewNumber,TTDisplayField1,TTDisplayField2,\
TTDisplayField3,TTDisplayField4,TTShowDisplayFields,\
TTTelephoneNumber,TTRespEmail,\
TTAppointmentName,NewAppointmentTime,\
NewStatus,NewResponseCode \
"SELECT InterviewNumber,DisplayField1,DisplayField2,\
DisplayField3,DisplayField4,,ShowDisplayFields,\
TelephoneNumber,Email,\
AppointmentName,AppointmentTime,\
Status,ResponseCode \
FROM SampleSqlAdd4"
DonotforgettoinitializethefieldsStatusandResponseCodeinthenewsurvey.Recordswillonlybe
distributedtointerviewerswhentheyhaveavalidandnondefinitiveStatusandResponseCode.
Page307
AdvancedScripting
InthisexampleweusedtheSamplerecordsofonesurveytocreatenewSamplerecordsinanothersurvey.
Ifwechangedthecontentsofanyofthefields,thiswouldbechangedinboththeoldandthenewsurvey.
ThisiswhyweusedthevariablesNewStatus,NewResponseCodeandNewAppointmentTime
ratherthanTTAvailabilityCode,TTStatusCodeandTTAppointmentTime,becauseyouare
obviouslynotallowedtochangethesefieldsinarunningsurvey.
SQLhasnorangelimitonprimarykeys,thereforeitisperfectlypossiblesocreaterecordnumberswith
negativevaluesorvaluesover99999999,whichareoutsideoftheInterviewNumberrange.Thesame
appliestotheStatusfield(0or4)andtheResponseCodefield,whichbesetwithanindefinite
responsecode.Thescriptdoesnotcheckforvalidinputvalues.Alternatively,configureconstraintsonthe
Sampletablebutbeadvisedthatthe*SQLADDcommandwillthensimplyfailonanattempttoadda
recordwithoutofboundsvalueswiththemessage"Database error in
<database>(<owner>.<tablename>) : INSERT statement conflicted with COLUMN
CHECK constraint '<field>'. The conflict occurred in database
<database>', table '<tablename>', column '<field>'. The statement has
been terminated.".
Scenario4:StoreSeveralRecordsinaTable(VariableswithArrays)
Thisscenarioappliesthefollowingdirectives:
Page308
AdvancedScripting
WehaveasurveycalledSqladd5.
WehavecreatedtablecalledTestPanelmembers.
TheprimarykeyforthistableistheintegerfieldPanelMemberNumber,thathasaconstraintof1to
99999999.
Inthesurveyweaskforthenamesofallfamilymembers.Thesenameswillbesavedinthe
TestPanelmemberstable,eachfamilymemberinanewrecord.
Weusearrayvariablessomaximum9recordswillbesavedinonethe*SQLADDcommand.
ExampleNIPOODINquestionnairefor*SQLADD: scenario4
*VARS FamilyNumber, FamilyMemberNumber[9], FamilySize, Count
*TEXTVARS Name[9]
*QUESTION 1 *FORM
1:FamilyNumber:
*NUMBER 61L6 *MIN 1 *MAX 999999 *SAVE FamilyNumber
2:FamilySize: *NUMBER 67L1 *SAVE FamilySize *MIN 1 *MAX 9
*QUESTION 1001 *CODES 68L9 *MULTI
*REPEAT 9
*IF [?R <= FamilySize] *INCLUDE Q1001 [?R] \
*PUT FamilyMemberNumber[?R] [(FamilyNumber * 100) + ?R]
*ENDREP
*QUESTION 2 *FORM *CONTROL Q1001 W
Names of family members
1:
2:
3:
4:
5:
6:
7:
8:
9:
First person:
Second person:
Third person:
Fourth person:
Fifth person:
Sixth person:
Seventh person:
Eighth person:
Ninth person:
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
*ALPHA
77L35
112L35
147L35
182L35
217L35
252L35
287L35
322L35
357L35
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
*SAVE
Name[1]
Name[2]
Name[3]
Name[4]
Name[5]
Name[6]
Name[7]
Name[8]
Name[9]
Inthisexamplewecanwritemaximum9recordsper*SQLADDcommand,asthearrayshaveanindexof9.
Butobviouslynotallfamilieshave9familymembers.Wesolvedthisbysettingthe
FamilyMemberNumberonlyforexistingfamilymembers.Butthismeansthe*SQLADDcommandmay
reportanerrortotheFieldworkMaangerforeachfamilysmallerthan9.Theseerrorsmaybeignored.
Thesolutionforthesemessages,thatmayconfuseyourfieldworkmanagers,wouldbenottousearray
variablesandtocreatea*REPEATloopandonlyexecutethe*SQLADDcommandasoftenasyouhave
familymembers.
Page309
AdvancedScripting
ExampleNIPOODINquestionnairefor*SQLADD:scenario4b
*VARS FamilyNumber, FamilyMemberNumber, FamilySize, Count
*TEXTVARS Name,Person
*QUESTION 1 *FORM
1:FamilyNumber:
2:FamilySize:
*ALPHA
Scenario5:AddNewRespondentsinNIPOCAWISurveyAndEmailThemDirectly
Thisscenarioappliesthefollowingdirectives:
WehaveasurveycalledSqladd6.
RespondentareinterviewedinNIPOCAWI.
Inthissurveyweaskrespondents,iftheyknowanyoneelsewhomightbewillingtocooperatewiththis
survey.
WewillcheckiftheEmailaddresswasnotalreadypresentintheSampletable.
Wewillretrievethehighestinterviewnumbersofartocreateanewrecord.
WewillsetthefieldSwitchedintheSurveytableto1.TheNIPOFieldworkSystemthenautomatically
sendsanEmailtothenewrespondent(usingthecoldhandoverfromNIPOCATI)
Amaximum10respondentscanbeaddedinthissurvey.
Page310
AdvancedScripting
ExampleNIPOODINquestionnairefor*SQLADD: scenario5
Page311
AdvancedScripting
Page312
AdvancedScripting
ErrorsUsing*SQLADD
ThefollowingerrorscannotbedetectedbyasyntaxcheckintheNIPOODINDeveloper,andwillresultin
runtimeerrorsduringexecution:
Page313
AdvancedScripting
ErrorsMessagesUsing*SQLADD
Aftertheexecutionofthe*SQLADD,thevariableCountcontainsthenumberofsuccessfullyadded
records.AnerrormessageisreportedNoruntimeerrorisproducedandtheinterviewcancontinue
normally.HoweverNIPOODINscriptwritercanusethisvariableCounttodisplayawarningifrequired.
Errormessagesfor*SQLADD
Errorcode
Description
Recordnumberwiththesameprimarykeyisalreadyusedindatabasetable.Therelatederrormessageis
"Database error in <Database>(<dbo>.<Tablename>) : Violation of PRIMARY KEY.
Cannot insert duplicate key in object '<Tablename>'. The statement has been
terminated."
RecordnumberdoesnotmeetconstraintsthathavebeensetintheSQLtable.Therelatederrormessageis
"Database error in <Database>(<dbo>.<Tablename>) : INSERT statement
conflicted with COLUMN CHECK constraint '<constraintname>'. The conflict
occurred in database '<database>', table '<Tablename>', column '<Column
name>'. The statement has been terminated."
DSNisnotfound.Ifusinganotherdatabase,anODBClinkshouldbecreatedontheNIPOCATI/Webmaster.The
relatederrormessageis"Database error in <Database>: Data source name not found
and no default driver specified."
Page314
AdvancedScripting
GoingBackOver*SQLADDRemovesAddedRecords
Contrarytothe*NEXTRECORDcommand,theinterviewercangobackinthequestionnaireafteran
*SQLADDisexecutedandthisremovestherecordsthatwerejustcreated,exceptwhenarecordis
currentlyclaimedbyanotherprocess(forexamplewhenitiseditedinNIPOFMSorclaimedforinterviewing
byNIPOCATIorNIPOCAWI).
Thesystemdoesnotcheckiftherecordsthatareremovedareunchanged.Forexampletheymayhave
beeneditedandchangedwiththeNIPOFMSand/orhaveasuccessfulinterviewperformedbyanother
interviewer.Thesystemonlycheckswhetherrecordsareclaimedforusebeforeremovingthem.
Youmayspecifya*NOTBACKcommandintheNIPOODINquestionnaireifgoingbackisnotdesired.
RestartingtheInterviewDoesNotRemoveNewRecords
Restartingtheinterviewdoesnotremoverecordsthatwerecreatedduringtheinterview.Youmayremove
themenuitemRestartviatheMenuSpecsettingontheNIPOCATIClient,ifgoingbackisnotdesired.Use
theBackbuttonifrecordsneedtoberemoved.
InstructionModeorTestModeMayCreateNewRecords
WhentheNIPOCATIClientisstartedinInstructionmode(using/Aintheshortcut)orinTestmode(using
/Tintheshortcutorpress<Test>ontheinterviewernumberdialog),the*SQLADDcommandisexecuted
asnormalandrecordsmaybecreated.NotehoweverthatbothInstructionmodeandTestmodealwaysuse
thesameInterviewNumbervalueintherunningsurvey,soany*SQLADDcommandthatbasesthe
newrecordnumberontheinterviewnumbermightcause*SQLADDtofailwithaduplicatekey.
ReusingSampleRecordsfromTfileThatWereAlready
Completed
InsomecasesitisrequiredtoreuseNIPOCATIsamplerecordsthathavealreadybeensettoadefinite
responsecode.Forexample,insomecasesfieldworkmaydecidetoretryrefusalsbecausethereisa
considerablelackofsample,orbecausethequestionnaireneedstoberedoneforanumberofrespondents.
ReusingsamplerecordsinasurveyusingaSampletableisamatterofreinitializingthesamplerecords.The
FieldworkManagercantakecareofthis.
ReusingInterviewNumbersinasurveyusingaTfileworksslightlydifferently.Youwouldexpectittobe
sufficientenoughtosettheresponsecodeto0,butthisisnottheonlyplacewherethestatusofarecordis
kept.TheDfile(abinaryfilecontainingtheSuspendImagesoftheinterview)alsocontainstheresponse
information.Anyattempttouseareinitializedsamplerecordwillresultinanerror"Record already
completed in Suspend Image"atsurveystart.Thishappensforanyrecordwheretheinterview
hasprogressedbeyondtheintroductionscreen.
Inthissectionanumberofapproachesarepresentedtodealwiththisissue.
Stratification
WhenstratificationcellshavechangedandtelephonenumberswithResponseCode21havetobereused,
therearetwooptions:
Page315
AdvancedScripting
Ifthestratificationwasoninput(dataalreadyavailableintheTfilebeforestartingtheinterview),the
previousresponsecodemaybeused.NoDrecordwascreated,sonoproblemwithduplicatesarise.
Ifthestratificationisonoutput(datathatwascollectedinthequestionnaireand*STRATwasused),
respondentshavealreadybeencontactedandtoldthattheywerenotinyourtargetgroup(andaD
recordwascreatedwiththatrouting).Ifyouinitializethesenumbers,theinterviewnumberhastobe
changedtoo.
ChangeInterviewNumber
Whenrefusalshavetobedialedagain,initializetheResponseCode(position1819),butalsochangethe
InterviewNumber,forexamplebyplacingthevalue9inposition52L1.Thiswaythenumberswillbe
consideredasnewInterviewNumbers.
Morethan5Contacts
Releasingnumberswithmorethan5contactscanmucheasierbedonebychangingthemaximumnumber
ofcontacts(forthissurvey)intheNIPOCATI/WebManager.IntheSURVEY.INIfileaddthefollowing
setting:
[Config]
MAXCON=10
Theminimumnumberofcontactsis3.Alternatively,resetposition2021intheTfileto0butkeepinmind
thatthisresultsinamismatchbetweenthenumberofcontactsreportedintheTfileandthenumberof
contactsfoundintheCfile.
SystemErrors
IfTrecordshavearesponsecode20(systemerror)theyshouldonlybeinitializedwhenyoufoundthe
causeofthesystemerror.IfthesystemerrorwascausedbycommunicationproblemsbetweentheNIPO
CATI/WebMasterandtheNIPOCATIClient,usetheRECINT32.EXEtooltorecovertheinterviewsfrom
theinterviewerworkstationortheRecoverdirectoryontheNIPOCATI/WebMastercomputer.
CreateaNewSurvey
IfaTfileshouldbeusedforrecallsurveyoramonthlypanelsurvey,youshouldnotusethesamesurvey
name,butcreateanewsurvey(B1234BinsteadofB1234A).Ormakeabackupofthecompletedirectory
andthenremoveallfiles,exceptfortheQuestionnaireandtheTfile.
AlreadyCompletedCode
ThechecksforInterviewNumberswithadefiniteresponsecodeintheDfileisexecutedwhenloadinga
survey.Fieldworksupervisorcancheckthemessagesanddecideiffieldworkforthesurveyshouldbe
startedornot.
Bydefault,TrecordswithamatchingcompletedDrecordaresettocode20(SystemError).TheTrecordis
rejectedandcannotbeusedforinterviewing.
Tochangethisbehavior,thefollowingsettingcanbespecifiedintheSURVEY.INIfile:
AlreadyCompletedCode=nn
ForallInterviewNumbervaluesforwhichadefiniteresponsecodeisfoundintheDfile,theDfile
recordinformationisignored.Theresponsecodeischangedtothecodespecifiedbythe
AlreadyCompletedCode.Thismaybe:
Page316
AdvancedScripting
Adefiniteresponsecode(forexampleresponsecodes04,05,08to17and20oracustomdefinite
responsecode).TheTrecordwillnotbeused.
Code0.TheTrecordisusedagain,buttheinterviewstartsatthebeginningofthequestionnaire.
Anyavailablecode.(forexampleresponsecodes01,02,03,06and07oracustomavailableresponse
code).Theinterviewwillresumeatthesamequestionwhereitwasinterrupted.
Exampleusingadefiniteresponsecode
AlreadyCompletedCode=35
RESPC35T=Already completed interview in D-file
RESPC35=STOP
Inthiscase,theTrecordswithadefiniteresponseintheDrecordarereported,rejectedandsetto
responsecode35.
Exampleusinganindefiniteresponsecode
AlreadyCompletedCode=36
RESPC36T=Already completed interview in D-file may be used again
RESPC36=AVAIL
Inthiscase,theTrecordswithadefiniteresponsecodeintheDrecordarereportedbutsettoresponse
code36.Therespondentsmaybecontactedagainandtheinterviewresumesatthequestionwherethey
werelastinterrupted.
Example3usingresponsecode0
AlreadyCompletedCode=0
Inthiscase,theTrecordswithadefiniteresponsecodeintheDrecordarereportedbutsettoresponse
code0.Therespondentsmaybecontactedagainandtheinterviewisstartedfromthebeginning.
DeleteDfile
Inallcaseswhereyoualreadystartedfieldwork,withoutrealizingthattheinterviewnumberswere
duplicates,amoredrasticmeasurecanbeused:deletetheDfile.Allinterviewswillstartatthebeginning
ofthequestionnaire,includingappointmentsthatweremadeduringtheinterviewandforwhichinterview
datahasalreadybeencollected.
Thesystemchecksforduplicateinterviewnumbers.Itdoesnotcheckduplicatetelephonenumbers.Inthe
NIPOFMSitispossibletocheckandremoveduplicatetelephonenumbers,whenusingaSampletable
insteadofaTfile.
WhenusingSampletableinsteadofTfile,youcaninitializetheSuspendImagefortherecordsthatshould
bereused.ButiftheSuspendImageisnotcleared,thesamerulesapply.
ReusingaTfileorSampletablerecordwiththeAlreadyCompletedCodesetting,willnotremovethe
datarecordfromtheUandtheOfile,sothesameinterviewnumbermightbeusedtwice.Makesurethat
youhavetoremoveduplicatesbeforestartingtheanalysis.
JumptoQuestionResponseCode
YoucanconfigurearesponsecodetofirstjumptoaspecificquestionintheNIPOODINquestionnaire,by
addinga*GOTOcommandinthespecificationinthesurveyconfigurationfile.Thisquestionblockinthe
NIPOODINquestionnaireshouldbeclosedwithanotherresponsecode(*END,*ENDST,*CUT,etcetera),
asthenonresponselistwillbeunavailable.
ResponsecodetojumptospecificquestionfirstinSurvey.INI
[Config]
RESPC41T=Terminate interview *GOTO 9001
RESPC41=1,AVAIL
Page317
AdvancedScripting
ResponsecodehandlinginSurveyQ
*QUESTION 9001 *CODES 101L1
Before actually terminating the interview, may I ask you for your age?
1: 18-44
2: 45-64
3: 65+
*QUESTION 9002
Thank you very much.
*ENDST 42
SettingtheCodePage
IfaquestionnaireshouldbedisplayedinaspecificCodePagethiscanbespecifiedinthesurvey
configurationfile.OpenthefileSURVEY.INI.Editthefileasfollows:
[Files]
Q=""SURVEYQ:CP""
WhereSURVEYQisthefilenameofthesurveyandCPisthenumberrepresentingthecodepage,for
example:
[Files]
Q=""A1234Q:1282""
NIPOConjointMeasurement
Note:
NIPOConjointMeasurementissupportedforNIPOCAWIonly.
NIPOConjointMeasurementisawayofdoingresearch,thatputstheresearcherinapositiontofollowthe
weighingprocessofrespondents,whenbuyingproductsorservices.Thisprocessofweighingisbeing
'staged'.Collectingthedatainthismanner,theimportanceofcertainfeatures,whenchoosingaproductor
service,canbedeterminedmuchmorepreciseincomparisonwith'standard'methodsofmarketresearch.
TheresultofNIPOConjointMeasurementwillbeaclearinsightacertainfeaturehasfortherespondent
whenpurchasingaproductorservice.
NIPOConjointMeasurementespeciallyisanimportanttoolwhendevelopingnewproductstodeterminein
advancewhichspecificfeaturesoftheproductaremoreandwhicharelessessential.Italsocanplayarole
atrecruitmentandselectioninvestigations,toknowwhichapplicants,havingacertainsetoffeatures,have
moreprobabilitytogetthejob.
FurtheranalysisofNIPOConjointMeasurementdatacanbedoneinthestatisticalpackageofyourchoice.
Thetheoryofconjointanalysisassumesthatthevalueofaproductfortherespondent,thesocalledutility,
canbesplitupinseveralpartutilities,foreveryfeatureofthatproductaseparatepartutility.Traditionally
aconjointmeasurementsurveyconsistsoftheshowingofabatchofcardstotherespondent,eachofthem
containing2profiles:profilesare2differentdescriptionsofaproduct.Therespondentisthentoorder
thesecards;giventheorderedcardsthe(relative)importanceofeachfeatureandevenofeachlevel
withinthatfeaturecanbedetermined.
Buthavingproductswithforexample5features,eachofthemhavingonaverage4levels,thisledto
enormouspracticalproblemsbecauseofthelargenumberofpossiblecombinations.Onesolutionwasto
showeachrespondentonlyasubsetofthetotalnumberofcardsandtodotheconjointanalysisatan
aggregatelevelonly,ratherthanatanindividuallevel.
Page318
AdvancedScripting
TheuseofpersonalcomputersinthefieldworkhasenlargedwidelythepossibleapplicationsofNIPO
ConjointMeasurement.Nowacomputermaybeusedtodopresentandaccumulateduringtheinterview,
soitisnolongernecessarytogothroughthewholesetofcards.Fornow,atanymomentduringthe
interviewwhenconstructingnewprofiles,theanswersgivensofarbytherespondentcanbeusedto
consideronlythosefeatures/levelsthataremostrelevanttothisrespondent.Inthiswayitispossibleto
determinerelativeimportance(partutilities)foreachlevel,andforeachrespondent.
IntheNIPOConjointMeasurementwithintheNIPOFieldworkSystemtherespondentisfirstaskedto
mentionunacceptablelevels:thelevelstherespondentwouldneveragreeto,forexamplechewinggum
containingsugar.Theselevelswillnolongerappearintheinterviewoneisallowedtoacceptalllevels.The
numbersoftheseunacceptedlevelsarenotstoredintheUfile,buttheircorrespondingutilitieswillhavea
specificnegativevalue,sotheymayberecognizedafterwards.
Thentherespondenthastoordertheremaininglevelsaccordingtohispreference:nowthewholelisthas
tobeputinanhierarchicalorderthefirstandthelastchoicewillbestoredintheanswerfile.
Afterthistherespondenthastomarktheimportanceofthedifferencesbetweenthefirstandthelast
choice,inotherwords:istheorderinthelevelsallthesametotherespondentordothesedifferences
matter.Thisimportancefactor(onascalefrom1to4)isalsostoredintheUfile.
Inthesocalledmainparttheprofilesareconstructedandshowntotherespondent:therespondenthasto
lookattwodescriptionsofaproductthathavetotalutilityasequalaspossible,anddecidetowhatextend
oneofthetwocorrespondstohis/herpreference(movingacursorblocktotheleftortotherightona
scalefrom1to9).Atleast2andatmost5featuresappearonthescreentogether,andthisnumberof
screenfeaturesisincreasedslowlyfrom2totheactualnumberoffeatures(orto5,thisdependsonwhatis
reachedfirst).Afterananswerhasbeengivenutilitiesofallacceptedlevelswillbereestimated,andthe
nextprofileisbeingconstructedbasedontheseutilityvalues.
Thenumberofprofilequestionsdependsonthenumberofacceptedlevels.
Basedontheanswerstothesequestionsfinalutilityvaluesforalllevelsareestimated;allthesevalueswill
becorrectedafterthefinalpartandwillbestoredintheUfile.(Storingalltheprofileinformationwould
costtoomuchroom).
Inthefinalpart3questionsfollowabouttheprobabilityofpurchasingaproduct:theproductwiththe
smallestsumofutilityvaluesofalllevelsisshownfirst,andtherespondentisaskedtogivetheprobability
topurchasethatproduct;inthethirdquestiontherespondentisshowntheproductwiththehighestsum
ofallutilityvaluesandalsothequestionistoentertheprobabilitytopurchasethatproduct.Butin
betweentherewasthesecondquestionwithaproductwithsumofutilityvaluessomewherebetweenthe
firstandthethirdconcept.These3answersshouldbeincreasing,providedtherespondentisanswering
consistently.
Thentworegressioncoefficients(aandb)andacorrelationcoefficientareestimatedthese3coefficients
arestoredintheUfile.Theregressioncoefficientsareusedtocorrecttheutilityvalues.
Page319
AdvancedScripting
OverviewofsupportedcommandsinNIPOConjointMeasurement
SupportedCommandsinNIPOConjointMeasurement
Command
Syntax
Meaning
*CONJ
*CONJ <position>L<length>
StartNIPOConjointMeasurementmodule.
....
*ENDCONJ
*ENDCONJ
*CONJ <position>L<length>
EndNIPOConjointMeasurementmodule.
....
*ENDCONJ
CONJTXT[n]
DefinitionofhelpscreenstobeusedwithinNIPO
ConjointMeasurement.Thesemustbespecified
beforestartingthe*CONJsection.
*LIST
*LIST <n|"name">
Listspecification:
*CONJ nLm
n=numberofthelist
...
"name"=nameofthelistbetweenquotes.
*ENDCONJ
Thelistsmustbedefinedbeforethe*CONJ
statement.
*CONJ nLm
Uselistasspecified,where:
*LIST <n|"name"|expression>
n=numberofthepredefinedlist
...
"name"=nameofthelistbetweenquotes.
*ENDCONJ
expression=expressionthatwillleadtoapredefined
list.
Iftheexpressioncomesbackwithanumberthatisnot
apredefinedlist,thesurveystopsinerrorstatus.The
listshavetobedefinedfirst,beforethe*CONJ
statement.
*CONJ
Numberoflevelsthatmustremainacceptable.
Ifthenumberisequaltothenumberoflevelsforthat
feature,thequestionaboutunacceptablelevelswill
beskipped.Mustbespecifiedonthesamelineasthe
*LISTstatement.
*LIST
*MIN
...
*ENDCONJ
*IF
*CONJ nLm
*LIST x
*LIST y
*IF [ expression ]
Filtertobeusedforbothprofilesandthelast3
calibrationquestions.
The*IFstatementshouldbespecifiedinthe*CONJ
block.Onlyone*IFmaybespecifiedper*CONJ.
...
*ENDCONJ
*LEFT
*RIGHT
Texttobeusedatthelefthandpoleofthescale.
...
*ENDCONJ
The*LEFTstatementmustbespecifiedonthesame
lineasthe*CONJstatement.
Texttobeusedattherighthandpoleofthescale
...
The*RIGHTstatementmustbespecifiedonthe
samelineasthe*CONJstatement.
*ENDCONJ
*AUTO
*CONJ nLm
*LIST <n> *AUTO
...
*ENDCONJ
Page320
Automaticallyorderthelevelsofthefeaturein
descendingorder.Thefirstcodehasthehighest
preference.Thequestionaboutorderingthelevelsis
skippedifthisfeatureisused.The*AUTOstatement
mustbespecifiedonthesamelineasthe*LIST
statementandcannotbecombinedwiththe*INV
statementonthesamefeature.
AdvancedScripting
Command
Syntax
Meaning
*CONJ
*CONJ <position>L<length>
StartNIPOConjointMeasurementmodule.
....
*ENDCONJ
*INV
*CONJ nLm
*LIST <n> *INV
...
*ENDCONJ
*ROT
*CONJ nLm
*LIST <n> *ROT
...
*ENDCONJ
*PICT (within
*LIST n
list definition) 1: text *PICT <n|"name">
2: text *PICT <m|"name">
Automaticallyorderthelevelsofthefeaturein
ascendingorder.Thelastcodehasthehighest
preference.Thequestionaboutorderingthelevelsis
skippedifthisfeatureisused.The*INVstatement
mustbespecifiedonthesamelineasthe*LIST
statementandcannotbecombinedwiththe*AUTO
statementonthesamefeature.
Rotatethescaleonthescreen.Codesaredisplayed
nexttoeachotherinsteadofundereachother.
The*ROTstatementmustbespecifiedonthesame
lineasthe*LISTstatement.
Withinthe*LISTdefinitionyoumayspecifypictures
oneachcode.Thetextisfollowedbythepicturefrom
thepicturelibraryorwiththespecifiedfilename.
*CONJ nLm
...
*ENDCONJ
*PICT (within
*CONJ)
*NP
*LIST n
Whenusingaspecificcombinationoflevels,display
thepictureasspecifiedabovetheleveltexts,where:
*LIST m
n,marelistnumbers
p,qarelevelnumbersforlistn
r,sarelevelnumbersforlistm
*ENDCONJ
x,yarepicturenumbersinthepicturelibrary.
*CONJ nLm
Preventsthepresentationofthelevelpicturesthat
arealreadypresentedinacombinedpicture.By
defaultalllevelpicturesincludingapossible
combinationpicturearepresented.
*CONJ nLm
*LIST n
*LIST m
*PICT [?An,p & ?Am,r ...] x
*PICT [?An,q & ?Am,s ...] y
*NP
*ENDCONJ
StartmoduleNIPOConjointMeasurement
NIPOConjointMeasurementdefinition
*CONJ <position>L<length>
...
*ENDCONJ
Thiscommandmarksthebeginningofamoduleconjointanalysiswithinaquestionnaire.Thecommand
mustbeputatthebeginningofaline;itisusedalwaystogetherwiththecommand*ENDCONJ
(terminationoftheconjointmodule).Definitionofthefeaturestodotheconjointanalysiswithhastobe
doneusingthecommand*LIST.
Afeatureisforexamplethecolorofaproduct,andwithinafeaturealevelthenisforexamplered(orblue,
...).
ThemoduleforNIPOConjointMeasurementinODINconsistsof3parts.
Page321
AdvancedScripting
Intheintroductoryparttherespondentisbeingaskedtoeliminateanylevelsthatareunacceptabletohim
/her;theremaininglevelsthenneedtobeorderedbytherespondentfromthefirstchoicetothelast
choiceandfinallytherespondenthastostatebyanumberhowimportantthedifferencebetweenfirstand
lastchoicewas(forexamplethe2choicesarenearlyequalinpreferencesothedifferenceisnotimportant,
ortheyareverywideapartinpreferenceandthedifferenceisimportant).
Inthemainparttherespondentisshownanumberofsetsof2'profiles',aprofilebeingadescriptionofa
product:therespondenthastostatebymeansofascalequestionwhichofthe2profileshasthe
preference,andtowhatextend.Basedontheanswersgivensofar,utilitieswillbedeterminedforalllevels.
Withinthispartthecommands*LEFTand*RIGHTmaybeusedtodefinethetextstoappearontheleft
and/orrightsideofthescale.Whennotextsaredefinedhere,thelastdefinedtextsfor*LEFTand/or
*RIGHTareusedagain.Otherwisethedefaulttextsareused.
Inthelastparttherespondentisshown3profiles,ofwhichtotalutilityrises,andhe/sheisaskedtogivea
percentagetoreflecttheprobabilitytobuythatproduct.
Usingthoselast3answersregressioncoefficientsandacorrelationcoefficientisestimated,andallutilities
willberescaled.All3coefficientsandtherescaledutilitieswillbestoredintheanswerfile(theUfile).
DefiningTextScreens
AlltextwithintheConjointMeasurementmoduleisdefinedusingthearrayCONJTXT[n]whichcontains
50textvariables,inwhicheachindexreferstoaparticularsectionofthedisplayedtext.Thiswayyoucan
customizetheConjointonscreentexts.ThesetextarraysshouldbesetbeforestartingtheNIPOConjoint
Measurementmodule.
ReferenceToaFeature
Allfeaturesarereferencedusinga*LISTcommand:
*LIST <n|expression|"name">
Thiscommandisareferencetoapreviouslydefinedlistwithlevelsofafeature.Whenanexpressionis
given,itwillbeevaluatedfirstandtheresultwillbeusedaslistnumber.
Filters
Thecommand*IFcanbeusedtospecifyalogicalexpression.Withthiscommanditispossibletoexclude
certaincombinationsoflevels(withinthesameprofileorbetween2profiles),ortothecontrary,levelscan
bedefined(whichmeansthatcertainlevelsalwayshavetoappeartogether).
*IF <[expression]>
Thiscommandcanbeinsertedonlyoncebetween*CONJand*ENDCONJ,buttheexpressionitselfcanrun
overseverallines.Furthermoreitispossibletoinsertreferencesintheexpressionwhichrefertoquestions
outsidetheConjointmodule.
Twolistsareidentifiedinthecomparison,andtheyarereferencedasAlistandBlist.Itisnotofany
importancewhethertheyappearonthescreenontheleftortheright.Directlyafterthelistreferencethe
numberofthedescriptionofthelistarespecified.Forexample,?A2referstolist2,and?B"price",3
referstothethirdcodeofthelistcalledprice.
Themeaningofafilterexpressionlike*IF [#(?A2,4 & ?B"price",3)]is:code4fromlist2(at
onesideofthescreen)andcode3fromthelistcalled"price"(attheothersideofthescreen)maynot
appearatthesametime.
Page322
AdvancedScripting
Theuseofthecommand*IFisinprincipalexcluding,whichmeansitpreventstheappearanceoftwo
levelsatthesametimeonthescreen.Ifusedforincluding,whichmeanstwolevelsalwayshavetoappear
onscreentogether,ithastobedefinedfor"left"andfor"right":
*IF [ ( ?A2,1 & ?A3,1 ) \ ( ?B2,1 & ?B3,1 ) ]
Thisfilterspecifiesthatlevel1offeature2andlevel1offeature3mustalwaysappeartogether,forboth
sidesofthescreen.
CONJTXT[n]TextArray
CONJTXT[n]arrayvalues
Arrayindex
AppearsinNIPOConjointMeasurement
Defaulttext
Feature
Feature:
29
Generalintroductionand
none
introductiontextforquestionsaboutunacceptableitems
10
Questiontextaboutunacceptablequestions
EnterthelevelsthatareUNACCEPTABLEtoyou.
1119
Introductiontextforquestionsaboutrotation
20
Questiontextrotationquestions
Orderthelevelsbelowaccordingtoyourpreference.
2125
Introductiontextforquestionsaboutrelativeimportance
none
26
Codetextsforquestionsaboutrelativeimportance
totallyunimportant,thereishardlyanydifferencein
preference.
27
Codetextsforquestionsaboutrelativeimportance
notsoimportant,thereisaslightpreferenceforlevelA.
28
Codetextsforquestionsaboutrelativeimportance
important,Iwouldrathernotchooseaproductwithlevel
B.
29
Codetextsforquestionsaboutrelativeimportance
veryimportant,Iwouldneverchooseaproductwithlevel
B.
30
Questiontextrelativeimportancequestions
Howimportantisthedifferencebetweenthelevelsshown
below?
3139
Introductiontextforprofilequestions
none
40
Questiontextprofilequestions
MovetheblocktoenteryourpreferenceforLEFTorRIGHT.
41upto49
Intro.textforquestionsaboutprobabilityofbuying
none
50
Questiontextprobabilityofbuyingquestions
none
FiltersinNIPOConjointMeasurement
Theprofileontheonesideofthescreenisreferredtoas?A,theprofileontheothersideofthescreenis
referredtoa?B.
ThefilterwithinNIPOConjointMeasurementisinprincipalexcluding,whichmeansitpreventsthe
appearanceoftwolevelsatthesametimeonthescreen.Ifusedasincluding,iftwolevelsalwayshaveto
appearonscreentogether,bothsideshavetobedefined(seebelow).
Notethatheparameters?Aand?Bdonotrefertoleftorrightsideofthescreen!Usuallyinnegativefilters
the?Bisonlyusedwhenyoudonotwishtocomparetwolevelsofthesamefeature(forinstancewhen
twobrandnamesareactuallythesamebrand(forexamplePhilipsversusWhirlpool)orproduct(e.g.Opel
AgilaandSuzukiWagonR+arethesamecarproducedunderadifferentname).Seealsoexample3.
Example1
*IF [ # (?A1,1 & ?A2,2) ]
Page323
AdvancedScripting
Level1offeature1shouldnotappeartogetherwithlevel2offeature2withinoneprofile.
Example2
*IF [ # (?A"BRAND",1 & ?A"PRICE",1,2,3) ]
Level1offeatureBRANDshouldnotappeartogetherwithlevel1,2or3offeaturePRICEwithinoneprofile.
Example3
*IF [ # (?A"BRAND",1 & ?B"BRAND",2) ]
Level1offeatureBRANDshouldnotappearoppositetolevel2offeatureBRANDinoppositeprofiles.
Example4
*IF [ ?A1,1 & ?A2,2 ]
Level1offeature1shouldalwaysappeartogetherwithlevel2offeature2.Thisfilterisincomplete,asit
mightappearontheothersideofthescreen!
Example5
*IF [ (?A"BRAND",1 & ?A"PRICE",1,2,3) \ (?B"BRAND",1 & ?B"PRICE",1,2,3)]
Level1offeatureBRANDshouldalwaysappeartogetherwithlevel1,2or3offeaturePRICE.Thiscounts
forbothsidesofthescreen.
HowdoesfilteringinNIPOConjointMeasurementactuallywork?
Foreachcomparetestbetweenasetoftwoprofiles,thesystemfirstpicksanumberoflevelsrandomly,
thenselectstwoprofilesoutofthemthatareutilitybalanced,thenlookswhetherthecombinationoflevels
alreadyhavebeenpresented,andthentriesifitisallowedaccordingtothefilterconditions.Ifa
combinationhasalreadybeenpresented,ortheprofilesarenotcompliantwiththefilterthisprocedureis
repeated.After25triesthecombinationrepeatcheckisignored,after50triesthefilterisignored.
Thisimpliesthatifthefilteristoodemanding,youmightendupthatthefilterwillbeignoredtotallyand/
ortwoprofilesmightbepresentedtwice.
Theadvantageofthisprocedureistherandompick.However,incombinationwiththecomplexfilter
possibilitiesitmakestheprocessunpredictablefortheresearcher.Questioniswhetherthis"search"
functionstillworksaccordingtothe"specifications"orusersexpectations.
Inpracticetheutilitybalancefunctionsupportsthefilterfunctionindirectly.Thefilterfunctionisaimedto
blockunrealisticprofilesandmostofthetimethisfunctionwillproducesuchrealisticprofiles.Inteststhat
arenotaimedtomimictheserespondents,butmerelytocheckthefilterfunction,thissupportwillnotbe
noticeable.
LimitationsontheUseofFilterswithinNIPOConjointMeasurement
Firstofall,whencreatingfiltersintheNIPOConjointMeasurement,itisimportanttoemphasizethat
ConjointMeasurementisabouthypotheticalorvirtualproducts.
Theuseofhypotheticalproductsisanecessityforindependentlyestimatingtheeffects(weightsand
importances).Afilterharmsthisindependence.Itmakesthoseeffectsconfounded,blendedormixed.The
filter'sinfluenceshouldthereforebereducedtoaminimum.
Inpracticeitmeansthatafilterwillblockonlyalimitednumberoflevelcombinations.Forexampleina
conjointsurveyonhouseswiththeattributessurfaceofgroundfloor(50m2,70m2or90m2)andnumberof
bedrooms(1,3or5),thecombinationof50m2and5bedroomsand90m2and1bedroommaybefiltered
out,butnomore.Otherwisetheparameterinfluenceswillbemixed.
Page324
AdvancedScripting
Asaguideline:donotfilteroutmorethen1levelinalistof3.For4levelsthereisalsoamaximumof1,for
5levelattributesamaximumoftwolevelscanbefilteredout,for6alsoonly2,7approximately3etcetera.
Themoreattributesareinvolvedthebiggerthemixeffectwillbe.
Moreover,ifafilterbecomeslarger,andthenumberofpossiblecombinationsdecreases,thesystemis
morelikelytoshownonpreferredcombinationsanyway.Andifthefilteristoocomplex,thefilterwillbe
ignoredcompletely.
Furthermore,thereareotherwaystopreventimpossiblecombinationfromshowing,forexampleby
combiningtheimpossiblecombinationsinoneattribute.Intheexampleoftheconjointonhouses,make
oneattributewith7levels:50m21bedroom,70m21bedroom,50m22bedrooms,70m22bedrooms,
90m22bedrooms,70m23bedrooms,90m23bedrooms.
Itisrecommendedthatpricesarenotincludedaspartoftheleveldescriptionsofmorethenoneattribute.
Theutilityvaluesshouldaidthedecisiontoperceivedvalueratherthanguidearespondenttowardsa
logicallyconsistentcost.Thisisbecausetheintentionofconjointistoestimateutilityforacertainlevel,not
forthatlevelandaprice.Theinclusionwouldcomplicatethemeasurementsinthesensethatitmixestwo
levels.Thecomplicationisnotonlyfortheanalystbutalsofortherespondents:theyhavetoaddupallthe
differentprices.
ExampleNIPOConjointMeasurement
ThisexampledealswithanintercontinentalflighttoBangkok.Theproducthasseveralfeatures:typeof
connection,airline,price,etcetera.Foreveryfeatureseverallevelscanbedefined:fortypeofconnection
nonstop,1stopandmakingatransfer;forairlineKLM,ChinaAirlines,etcetera.
Product:flighttoBangkok:FeaturesandLevels
Features
Levels
Connectiontype Price
Airline
Serviceonboard
Pre/postflightservice
nonstop
1350,
KLM
extralegroom
.35,discountonparkingfeesat
airportofdeparture
direct
1200,
ChinaAirlines
goodmeals
.15,discountonKLMExpress
transfer
1050,
Garuda
friendlystaff
taxfreevoucherof
.15,perpersonvalidatairport
ofdeparture
900,
SingaporeAirlines
broadselectionoffilms/ .25,discountontaxifareto
music
airportofdeparture
750,
ThaiAirways
freenewspapers
600,
Malaysian
discountof.15,perpersonon
travelinsurance
EvaAir
discountvouchertothevalueof
.35,onhirecaratdestination
Sothereare5features,totallycontaining27levels.
AtthestartoftheConjointsectioneveryfeatureisshown,andtherespondentisaskedtomark
unacceptablelevelsforeachfeature.Examplesofthesewouldbeapriceof.1350,atransfer,etcetera.
Theremaininglevelsthenhavetobeorderedhierarchicallybytherespondent.Theexceptiontothisisthe
Pricefeature,whichmaybeorderedautomaticallyaswemayassumetherespondentfavorslowerpricing.
Finallytheimportanceofthedifferencebetweenthefirstandthelastlevelasorderedbytherespondentis
asked.
Page325
AdvancedScripting
Thentheprofileswillbeconstructed,initiallyhaving2features(forexampleairlineandprice),ofwhich2
levelsareshown(forexampleKLMandGaruda,and.1350,and.1050,).Thenumberoffeatureslisted
onthescreenincreasesslowlyasprofileafterprofileisshown;ofeachfeatureonly2levelsareshown.The
respondentmusttomarkhis/herpreferenceforoneofthetwoprofilesonascalefrom1to9.
Page326
AdvancedScripting
ExampleNIPOConjointScript
ExampleNIPOODINQuestionnaireforNIPOConjoint
Page327
AdvancedScripting
0
1
2
3
4
5
"Swift
"Swift
"Swift
"Swift
"Swift
"Swift
12
12
12
12
12
20
(0 0
Bold
Bold
Bold
Bold
Bold
128)"
(0 0 128)"
(128 64 255)"
(0 128 0)"
(0 0 128)"
(0 0 128)"
*QUESTION 66666
In This questionnaire you will be asked to make a profile of your ideal flight to the Far
East. You will see NIPO's version of the adaptive conjoint analysis method.
First you will be asked to indicate which service aspects of the airline you find
unacceptable.
Then the remaining aspects must be ranked in the order of preference, after which you are
asked to indicate the relative importance of a selected set of service aspects.
Finally the service aspects are combined by the program to service packages and proposed to
you. You can give your opinion by means of an optical scale. The best three packages are
then rated using a continuous scale.
** First the lists (= characteristics) with levels
** You can either give the lists a name (between quotes)
** or a number between 1 and 9.
*LIST "Company"
1: Lufthansa
2: China Airlines
3: Garuda
4: Singapore Airlines
5: Thai Airways
6: Malaysian
7: Eva Air
*LIST "Type of connection"
1: non-stop
2: direct (1 stopover\same aircraft)
3: transfer (stopover to different aircraft)
*LIST "Price"
1: 1350
2: 1200
3: 1050
4: 900
5: 750
6: 600
*LIST "Discounts"
1: 35 discount on
2: 15 discount on
3: tax-free voucher
4: 25 discount on
5: discount voucher
6: discount of 15
*LIST "Extras"
1: extra legroom
2: good meals
3: friendly staff
4: broad selection of films\music
5: free newspapers (English\German)
** Start of the main questionnaire
** The introductory screens for conjoint measurement follow
Page328
AdvancedScripting
"
*PUT CONJTXT[3] \
"
The trip concerned is a holiday by air to the Far East. The choice to be made actually only
concerns the flight to Bangkok. Not, therefore, the whole package.
So try to imagine that you are busy choosing a flight to Bangkok.
"
*PUT CONJTXT[4] \
"
You can select the alternatives by mouse to make a choice. Try to imagine you are making a
REAL choice, that you are REALLY looking for the best alternative for yourself for a flight
to Bangkok.
"
*PUT CONJTXT[5] \
"
First we present a number of alternatives regarding various aspects of the flight. Your
initial task is to determine which of these alternatives are absolutely UNACCEPTABLE to
you.
Options ruled out do not reappear, so be careful not to rule out too much (You would not do
that in a real situation either). For each feature at least two alternatives must be left.
For the features 'Price' and 'Company' four alternatives must be left.
"
*PUT CONJTXT[11] \
"
You have indicated which alternatives you found to be absolutely unacceptable.
We would now like you to indicate your preference regarding a number of aspects of the
holiday flight to Bankok.
We ask you to select your first preference in respect of each aspect (for example: inflight service).
Subsequently select your second choice et cetera.
You will notice that you do not have to rank the price (we assume that you'll answer that
you prefer the cheapest possibility), nor the connection type (we assume you'll prefer to
fly non-stop).
"
Page329
AdvancedScripting
*PUT CONJTXT[21] \
"
It is now interesting to establish how heavily you lean towards a particular alternative.
You have indicated where your preference lies.
We now ask you to indicate how important you consider the difference between two
alternatives. In this way we obtain ever greater insight into the kind of holiday flight
you are looking for.
"
*PUT CONJTXT[31] \
"
On the basis of your choices so far, the computer is able to present profiles of flights
where you will be shown combinations.
In this way you will be steered into making subtle choices. The intention is that you weigh
up the different flights as carefully as possible.
All prices shown are for return flights from Frankfurt to Bangkok!
"
*PUT CONJTXT[32] \
"
Some more explanation: in the next questions you will see descriptions of two flights, one
in a box on the left and one on the right. You will also see an optical scale which you can
select using the mouse.
If you consider the flight shown on the left-hand side to be more pleasant or better for
yourself, you select the scale to the left. The more you select to the left, the better you
like the left option. If you consider the flight shown on the right-hand side to be more
pleasant or better for yourself, you select to the right. The more you select to the right,
the better you like the right option.
"
*PUT CONJTXT[41] \
"
This is the final part of the interview. Together we have reviewed a great many
possibilities.
Three profiles of flights have now been calculated by the computer and will be presented to
you in the next questions.
You will most probably find the first flight a less than attractive proposition and be
unlikely to choose it in reality. The second should be more to your liking, and the third
is most likely to comply with your ideal.
"
** The question texts follow.
*PUT CONJTXT[10] \
"Choose each alternative which is UNACCEPTABLE to you. Make sure at least two alternatives
must be left (four for Company and Price).
Choose [OK] if all (other) alternatives are acceptable."
*PUT CONJTXT[20] \
"Now put the alternatives in order of your preference. First select the alternative you
prefer most, then select your second preference, etc."
Page330
AdvancedScripting
*PUT CONJTXT[30] \
"How important do you consider the difference between the alternatives below? Please choose
an answer from the scale below."
*PUT CONJTXT[26] \
"Not important at all"
*PUT CONJTXT[27] \
"Important to some degree (I would not base my decision on this)"
*PUT CONJTXT[28] \
"Very important (B would have to be very good in other respects)"
*PUT CONJTXT[29] \
"Extremely important (I would hardly ever accept B)"
*PUT CONJTXT[40] \
"Position the scale below to indicate your preference."
*PUT CONJTXT[50] \
"How likely is it that you will choose the flight shown below? Answer by typing in a
percentage, where 100 means very likely, 0 means very unlikely.
Type in a number from 0 to 100, then choose [OK]."
*NOTBACK
*QUESTION 3
These were all the questions.
Thank you kindly for your cooperation.
*END
DatapositionsinNIPOConjointMeasurement
TheNIPOConjointMeasurementstoresdataintheUfile.Thelengthofthedatafieldisdependingonthe
numberoffeaturesandthenumberoflevelsperfeature.Thelengthperfirstandlastchoiceofanfeatureis
dependingonthehighestcodenumberinthelist(forexampleifthehighestcodeis9ituses1position,ifit
is24ituses2positions,etcetera.Theratingofimportanceperfeatureisstoredinoneposition.Foreach
levelinafeature7positionsareused.Finally3times7positionsareusedforIntercept,Slopeand
Correlation.
Page331
AdvancedScripting
ExamplequestionnairetocalculatenumberofpositionsrequiredforNIPOConjointMeasurement
*LIST 1
1: A
2: B
3: C
4: D
*LIST 2
1: K
3: L
2: M
*LIST 3
11: P
12: Q
13: R
14: S
15: T
*CONJ 61L116
*LIST 1
*LIST 2
*LIST 3
*ENDCONJ
Note:
Codesinalistdonothavetostartwith1(seelist3above)norhavetobeinascendingorder(seelist
2above).Thesystemsetspositionsaccordingtotheorderinthelistandonlyreservespositionsfor
thenumberofcodesthatareusedratherthanthehighestcodenumber.Filtersarebasedonthe
codenumber,notontheorderinthelist.
Page332
AdvancedScripting
NumberofpositionsrequiredforNIPOConjointMeasurement
Description
Length
Inexample
foreachfeature
Exampleposition
Firstchoicefeature1
dependingonhighestnumberinLIST
LIST1
61L1
Lastchoicefeature1
dependingonhighestnumberinLIST
LIST1
62L1
Ratingfeature1
1position
LIST1
63L1
foreachleveloffeature1
Level1offeature1
7positions
64L3.4
Level2offeature1
7positions
71L3.4
Level3offeature1
7positions
78L3.4
Level4offeature1
7positions
85L3.4
...
Firstchoicefeature2
dependingonhighestnumberinLIST
LIST2
92L1
Lastchoicefeature2
dependingonhighestnumberinLIST
LIST2
93L1
Ratingfeature2
1position
LIST2
94L1
foreachleveloffeature2
Level1offeature2
7positions
95L3.4
Level2offeature2
7positions
102L3.4
Level3offeature2
7positions
109L3.4
...
Firstchoicefeature3
dependingonhighestnumberinLIST
LIST3
116L2
Lastchoicefeature3
dependingonhighestnumberinLIST
LIST3
118L2
Ratingfeature3
1position
LIST3
120L1
foreachleveloffeature3
Level1offeature3
7positions
121L3.4
Level2offeature3
7positions
128L3.4
Level3offeature3
7positions
135L3.4
Level4offeature3
7positions
142L3.4
Level5offeature3
7positions
149L3.4
...
allotherfeatures
...
Intercept
7positions**
156L3.4
Slope
7positions**
163L3.4
Correlation
7positions**
170L1.6
**unacceptedlevels:999999
Page333
AdvancedScripting
LimitationsofNIPOConjointMeasurement
LimitationsofNIPOConjointMeasurement
Item
Limit
minimumnumberoffeatures
maximumnumberoffeatures
none
minimumnumberoflevelsforeachfeature
maximumnumberoflevelsforeachfeature
none
minimumnumberofscreenfeatures
(=numberoffeaturestoappeartogetheronthescreen)
maximumnumberofscreenfeatures
(=numberoffeaturestoappeartogetheronthescreen)
minimumnumberofprofilequestions
(dependingonnumberoflevelsandfeatures)
maximumnumberofprofilequestions
50
MultibyteCharacterFields(MBCSFieldsSetting)
Note:
ThissectionisonlyrelevantforNIPOSoftwareuserswhorequiremultibytecharactersinnon
Unicodedatafiles
WiththesettingMBCSFieldsintheSURVEY.INIfileyoucanconfigurefieldsthatshouldcontainMulti
bytecharacters,suchasChinese,Japanese,Korean,Hebrew,Arabic,withouthavingtosavefilesinUnicode.
ThiswayyoucanuseyournonUnicodeanalysistool,butarestillabletostoretextfrommultibyte
languagesindatafiles.
TheNIPOCATI/WebMasterreceivesUandOfiledatafromtheNIPOCATIClientsand/orWebClientin
theUnicodeformat.Bydefault,theNIPOCATI/WebMasterconvertsthesefilestoanonUnicode(ASCII)
formatusingtheconfiguredcodepage,assumingtheconfigurationwasnotsettostoreasUnicodefile.
Some(mostlyAsian)codepagesusemultibytecharacters.Asinglecharactermaybestoredinone,twoor
3bytes.Textfilesstorethesecharactersrunlength.Thismeansthattwolineswithanequalamountof
charactersmayneedadifferentamountofactualbytes(positions)tostorethetext.
Duringconversiontotheconfiguredcodepage,multibytecharacterencodingintheUfilecancausedata
tobehorizontallyshifted.Thishappensin*ALPHAdatafieldswhenenteringmultibytecharactersonly.If
thesecontaincharactersofvaryingbytelength,subsequentdatafieldsarenotproperlyalignedtothedata
positionsspecifiedintheQfile.Theproblemdoesnotoccurwithcharactersfromasinglebyteencoding
(theknownwesternASCIIrange).
ThesettingMBCSFieldsintheSURVEY.INIfilesolvesthisproblem.
Considerthefollowingscript:
*Q 10 *ALPHA 61L15
What is your name?
*Q 20 *NUMBER 76L3 *MIN 16
What is your age?
*Q 30 *CODES 80L99 *MULTI
Multiple coded question
Page334
AdvancedScripting
Inasinglebytecharacterset(SBCS)suchasinWestEuropeanlanguages,theinterviewermayenteratext
ofupto15characters.AfterconversionfromUnicodetotheconfiguredcodepage,theUfilerecordmay
looklikethis:
pos
61
|
..00000Martin Rijks
76 80
| |
021000000000000...
RunningthesamequestionnaireintheNIPOFieldworkSystemusingamultiplebytecharacterset(MBCS)
suchasJapanese,theinterviewerisstillallowedtoenteratextofupto15characters.Forstoragehowever
eachcharactermayneedmorethanoneposition,theexactlengthdependingonthenumberofbytes
requiredpercharacter.Thecodepageconversionisunawareofthedatalength.Thepositionsmayendup
likethisintheUfile(hypotheticalassumption):
pos
61
|
76
|
86 89
| |
..00000 021000000000000...
Whilethetextconsistsofonly10characters,mostcharactersusemorethan1byte
tostorethecharacterinaMBCS.Theresultlengthofthedatavariesdependingonwhichcharactersare
used.Thelengthoftheresultoftheconversionisnotthesameasthelengthoftheinitialtextthatwas
enteredbytheinterviewer.
Inshort:ThelengthofeachUrecordinnumberofbytesisdeterminedbythecharactersitconsistsof.
Thus,thecontentdeterminesthelength.Inaworstcasescenario,norecordhasthesamelength.Thedata
onpositionafteran*ALPHAfield,willvary.
SimplystoringdatainUnicodeformatwouldsolvethisissueaseachcharacterinUTF16occupiesthesame
amountofbytes(a15characterfieldwouldalwaysbeconvertedtoa30bytetext).However,some
customersneedtosticktothenonUnicodeformatbecausetheirdataanalysisproductsdonotsupport
Unicode.Customersthatusemultibytecharactercodepagesneedasolutiontoproperlystorethe
*ALPHAinput,withoutcausingthedatatoshiftpositions.
Thesolutiontothisistwofold:theNIPOODINScriptwriterneedstoreservedummypositionsintheQfile,
afterthe*ALPHAfield,intowhichtheNIPOCATI/WebMastermayextendtheMBCSintheUfile.Second,
theNIPOCATI/WebMasterneedstobetoldexplicitlywhichpositionsmaycontainmultibytecharacters
sothatthesefieldsmaybeproperlyformattedandspacedduringcodepageconversion.Thisisdoneby
specifyingthepositionsinthesurveyconfigurationfile:
SurveyconfigurationfilesettingforMBCSfields
[Config]
MBCSFields=posLlen[,posLlen, ...]
ThissettingchangestoNIPOCATI/WebMasterstorageofUfiledata,inparticulartheconversionfrom
(internallyused)UnicodetoMBCSfileformat.
Scenario:*ALPHAforMBCSStorage
Foreach*ALPHAfieldofaquestionnaireforMBCSoutput,theNIPOODINscriptwriterneedstotakethe
followingsteps:
Page335
AdvancedScripting
1. Determinethelengthoftherequiredmaximumamountofactualcharactersthatmaybeentered(by
theinterviewer/bythewebrespondent).Setthisaslengthoftheactualinput*ALPHAfield.
2. Determinethemaximumpossibleamountofrequiredbytesfordatastorage.Agoodconventionfor
thisistomultiplythelengthofthe*ALPHAfieldwith3(themaximumamountofbytesper
characterinmostMBCS(multibytelanguages)).
3. Createadummy*ALPHAquestion.Thepositionsofthisdummymustimmediatelysucceedthe
positionsofthepreviouslydefined*ALPHAquestion.
4. Thelengthforthedummyshouldequaltheresultofthecalculationat2minusthelengthofthe
original*ALPHAfield.Fewerpositionsmaybeused,butwillresultintruncatedtext.Usingmore
positionsisrecommended.
Shortcutmethodforsteps14:
Thedefinitionofasuccessive(dummy)*ALPHAfieldcanbeavoidedbydefiningan*ALPHAfieldand
multiplyingitslengthby3.Thisresultsinenoughstoragespacetostoreanansweroftheoriginallyintended
length.Nodummyneedstobecreated,andtheMBCSFieldssettingonlyneedstorefertoasingle
*ALPHAfield.Moreover,anexporteddatafile(definition)containsavariablereferenceforthecomplete
field;dummyusagerequiresareferencetothecompletefield.Thedisadvantageisthatthemaximum
amountofcharacterstobeinsertedbytheNIPOCATIInterviewerorwebrespondentcannotbecontrolled.
Thelengthofthe*ALPHAfieldexplicitlydecidesthemaximumamountofinputcharacters.Asaresult,
excessdatamaybetruncatedandtheanswermaybeincomplete.
1. ConfigurethesetofpositionsoccupiedforthisMBCSfieldinthesurveyconfigurationfile.The
followingsection,settingandformatareused:
[Config]
MBCSFields=posLlen[,posLlen, ...]
Multiplefieldsmaybespecified,separatedbycommas.Thepositionindicatesthestartpositionof
theoriginal*ALPHAfieldwhereasthelengthspecifiesthetotallengthofbytes(notcharacters)that
maybewritten.Incaseofstep14thelengthwillbeofthetwofieldstogether.
Foromnibussurveys,thefollowingsettingnamesexist:
MBCSFieldsforthemain(first)surveyoftheomnibusasdescribedabove
MBCSFieldsNNforunnamedsubsurveys(nameisnotknown)oftheomnibus,whereNNis0199
and01isthefirstsubsurvey.
MBCSFieldsSURVEYwhereSURVEYisreplacedwiththenameofthesubsurvey.
2. Thesystemtruncatestheinputofthefirst*ALPHAfieldintothepositionsspecifiedbythe
MBCSFieldsvalue,leftaligned.Trailingspacesareinsertedafterthetexttofillthefieldspecified
byMBCSFields.
TherawUfileisMBCSencodedwithfixedpositions.ThisdatacanimmediatelybeusedforNIPODiana
output.TheNIPOODINDeveloper32bitexportsfortheseMBCSfilesareflawlessaslongasthedata
formatisretained.Howeverwhenthedataformatisnotretained,thepositioningofdataduringexport
mayresultinshiftedpositionsagainbecausetheexport,too,usesUnicodeinternally.Inthiscase,the
followingstepsarerequired:
Page336
AdvancedScripting
1. NIPOODINscriptwriterusestheODINDeveloper32bittoexportdatatoNIPODiana/NvisionScript
asthedataformatisalwaysretained.
2. OnthebasisoftheexportedVARandDATfiles,NIPOODINscriptwriterusesNIPODiana/Nvision
ScripttocreateanexportfortherequiredproductsuchasIBMSPSS,Quantum,etcetera.
YoumustspecifytheMBCSFieldssettingforeach*ALPHAfieldthatyouwanttostoreasmultibyte.Itis
theNIPOODINscriptdeveloper'sresponsibilitythatthefieldlengthissufficient.Forinstance,typing10
ChineseorJapanese(doublebyte)charactersrequiresa*ALPHA L10field,buttheMBCSFieldsmust
be20positions(eachdoublebytecharacterisstoredin2positions).IftheMBCSFieldsisshorterthan
twicethe*ALPHAfield,theChinesetextistruncated.
Youcannot'combine'fields.Forexample,MBCSFields=101L30,131L30,161L30cannotbe
combinedasMBCSFields=101L90.
ThereisnovaliditychecktoseeiftheMBCSfieldsreallymatch*ALPHAfieldsdefinedinthequestionnaire.
Thismeansthatdatamaybeoverwrittenortruncated,orthattheMBCSFieldsdefinitionpointstothe
wrongpositions.
ThisfunctionalitynotonlyappliestotheNIPOCATIClient,butalsototheSTRANDtoolandtheNIPOCATI
Standalonesystem.Thismeansthatyoumightcorrecterrorsbychangingthesurveyconfigurationfile
accordinglyandexportingthedatathroughtheNIPOStrandTool(STRAND.EXE).
ThisfeatureshouldonlybeusedbyexpertNIPOODINScriptwriters.Forthisreasonthesettingisnot
accessibletotheFieldworkManager,unlesstheyeditthesurveyconfigurationfiledirectly.
Tobeabletoconvertmultibytecharacterscorrectly,youmustalsospecifythecodepagethattheNIPO
CATI/WebMastershouldusefortheconversionofyourmultibytecharactersinthesurvey.INIfile:
SurveyconfigurationofquestionnaireA1234usingcodepage932
[Files]
Q=""A1234Q:932""
ThecodepagenumbershouldbesupportedbytheNIPOCATI/WebMastercomputer.ChecktheControl
Panel>RegionalandLanguageSettings/RegionalOptions>Advancedsettingsforsupportedcodepages.
ExampleUsingAdobeFlashinNIPOCAWIandNIPOCAPI
ThissectiondescribeshowtodisplayAdobeFlashcontentandcaptureitsoutputinthedataofaNIPOODIN
questionnaireinNIPOCAPIandNIPOCAWI.
ThebasicideatotransferinformationbetweentheFlashapplicationandtheODINscriptistomakeuseof
JavaScriptonthepages.TheFlashapplicationshouldbecreatedinawaythatitattheendoftheuser
interactionmakesacalltoapredefinedJavaScriptfunctionwiththeresultingvaluesoftheFlash
application.TheJavaScriptfunctionreceivesthesevaluesandwillpassthemtothecorrespondingfields
generatedbytheNIPOODINquestionnaire.
TheJavaScriptfunctionsandtheFlashapplicationcanbeincludedintheNIPOODINtemplateforthe
specificquestionwheretheFlashapplicationisused.TheNIPOODINquestioncanbedesignedasa*FORM
questionwiththeregularfields(*ALPHAor*NUMBER)tostorethevalues.Dependingontheselected
questiontype,thenecessaryJavaScriptmayneedchangestoactuallyfillintheanswerintotherightfields
onthepage.Thesefieldsshouldhowevernotbeactuallyshownonthepage,soCSSisusedtohidethese
fieldsonthepage.Thismeansthefieldswillnotbevisible,buttheywillexistintheHTMLpage,andassuch
canbeupdatedbytheJavaScriptfunction.
DependingonthetypeofdatatosendfromFlashtotheJavaScriptfunction,itmaybenecessaryto
explicitlyformatthedataasanarrayinFlash(insteadofpassingastring)tomakesureJavaScriptalso
recognizesthedataasanarray.
Page337
AdvancedScripting
ThissectionprovidesanexampleonhowJavaScriptmaybeusedtocreatethelinkbetweentheFlash
applicationandtheHTMLgeneratedbytheNIPOODINscript.ItdoesnotexplainhowtheactualFlash
applicationshouldbecreated.
NIPOODINTemplateUsingAdobeFlash
TheNIPOODINtemplatedefinestheHTMLpageinwhichtheNIPOODINquestionisshown.Forthespecific
questionwheretheFlashapplicationisused,thereneedstobeaseparateODINtemplate.Thistemplate
containsthefullHTMLpagelayoutincludingtheJavaScriptfunctionintheheadersectionoftheHTML
page.
ExampleNIPOODINTemplatefile
<html>
<head><title>NIPO Software Flash example</title>
<script type="text/javascript">
function SendDataToJS(FlashAnswer){
//
alert(FlashAnswer);
document.getElementsByName('odinanswer0')[0].value = FlashAnswer[0];
document.getElementsByName('odinanswer1')[0].value = FlashAnswer[1];
document.getElementById("odinbuttonOK").style.visibility = "visible";
}
</script>
</head>
<body><div id="ODINSERVLETINSERTIONPOINT"></div>
</body>
</html>
NIPOODINQuestionnaireUsingAdobeFlash
TheNIPOODINquestionnairedefinesthespecificquestion,whereweuseinlineHTMLtosetspecific
controlsonitemsoftheHTMLpagewhichshouldnotbeshown.Thequestionnumbermustmatchthe
templateasdefinedinthepreviousparagraph.
TheHTMLgeneratedbytheNIPOFieldworkSystemshouldbetotallyhiddentopreventinteractionbythe
user.ThesefieldswillbefilledinbytheJavaScriptfunctions.Forthisreasontheactualfields,thecategory
texts,theclearbuttonandthebackbuttonshouldbehidden.OncetheAdobeFlashapplicationhas
activatedtheJavaScriptfunction,theJavaScriptfunctionwillenabletheOKbuttonsotherespondentcan
proceed.
PleasenotethatthefontnumberasgeneratedintheHTMLdoesnotmatchthefontnumberintheNIPO
ODINsyntax,butisrenumberedbasedonthetotalnumberofdefinedfonts.Intheexamplebelowyoucan
seethat*FONT 99isdefined,whereasthestyleforodinfontnumber-1shouldbesettohidden.
Betweenthe<OBJECT>tagsyouwillneedtospecifytheAdobeFlashSWFfile.
ExampleNIPOODINQuestionnaire
*FONT 0 "10 verdana"
*FONT 99 "10 verdana (255 255 255,255 255 255)"
*Q 10 *FORM
<<<!<OBJECT> DEFINE YOUR SWF
<<<!<style>.odinnumeric
<<<!<style>.odinalpha
<<<!<style>.odinfontnumber-1
<<<!<style>.odinbuttonCLEAR
<<<!<style>.odinbuttonOK
*FONT 99
1: example numerical field *NUMBER L4
2: example alphanumerical field *ALPHA L4
*NOTBACK
Page338
AdvancedScripting
AdobeFlashApplication
Ascanbedeductedfromthepreviousparagraphs,theAdobeFlashapplicationmustmakeacalltothe
JavaScriptfunctionSendDataToJS():
SendDataToJS([123,'ABC']);
Inthepreviousexamplesweassumedaquestionwhere2itemswereneeded,sothecalltothefunction
shouldprovideanarrayofelements.Iflessormoreitemsareused,allitemsneedtobeadjusted
accordingly.
RefertoyourAdobeFlashdocumentationforActionScript2orActionScript3forinformationonhowto
callJavascriptfunctionsfromwithinAdobeFlash.
AdditionalRemarks
TheexamplesshowninthisdocumentaretheveryminimalthingsneededtouseanAdobeFlash
applicationwithoutputtobeusedinthescript.Itisrecommendedtouse*NOTBACKinthescripttomake
suretherespondentwillnotbeforcedtostarttheAdobeFlashapplicationagain.
ChangestotheJavaScriptcanbemadetocheckifthevaluesreturnedbytheAdobeFlashapplicationare
correctaccordingtotheNIPOODINquestion.ItisevenpossibletocreateJavaScriptfunctionswhichcheck
previouslyfilledinanswersandsendthemtoaAdobeFlashapplication,whichwouldallowgoingbackand
forthinthequestionnaire,butthiswillrequiresomeadditionalcodeandamethodtopassinformationto
theAdobeFlashapplication.
Page339
FileStructuresandDatabaseTables
DataFiles
WiththeexceptionoftheBfile(bitmapopenanswers),theDfile(suspendimages)andthePfile(Picture
Library),allfilesinNIPOODINareeitherinASCII/ANSIformat,formattedaccordingtotheCodePageused
bythecentralsystem,orinUnicode.Allfileshaveafixedfilestructure.Thesestructuresaredescribedin
thissection.
ClosedAnswersFile(Ufile)
Theclosedanswersfile(Ufile)containstheanswerstoallclosedquestions.Foreachinterview
(respondent)onerecord(line)iswritteninthefile.Thelengthoftherecordsisfixed,anddependingonthe
highestpositionusedintheNIPOODINquestionnaire.Thefirstpositions(fields)ineachrecordarereserved
forthesystem.
Recorddescriptionoftheclosedanswersfile
Position
length
Description
18
interviewnumber
910
subquestionnairenumber
1115
interviewtimeinseconds
1619
numberofscreensshown
20
interruptindication:
1=interviewbrokenoff
2=appointmentmade
2128
interviewernumber
2940
12
dateandtimelastcontact
41
0(zero)
4248
ODIN/OdDemonversionnumber
4953
Idletime
5455
Weeknumber
(CASIonly)
5657
Weekversionnumber
(CASIonly)
5859
Uniquefamilymembernumber
(CASIonly)
60
Channel:
1=CATI
2=CAWI(Web)
3=CAPI
4=CASI(Panel)
61...
answers
Page341
FileStructuresandDatabaseTables
Openanswersfile(Ofile)
Theopenendedanswersfile(Ofile)containstheanswerstoallopenendedandsemiopenquestions.For
eachopenanswerthatisactuallyaskedtotherespondent,onerecord(line)iswritteninthefilesoseveral
recordsisstoredforeachinterview(respondent).Theamountofrecordsdependsontheroutingandthe
numberofopenendedquestionsinthequestionnaire.Thelengthoftherecordsisunfixed,andcanbeas
longastheopenanswerthatwasentered.Thefirstpositions(fields)ineachrecordarereservedforthe
system.
Recorddescriptionoftheopenanswersfile(defaultformat)
position
Length
Description
18
interviewnumber
910
subquestionnairenumber
1115
startingpositionanswerfieldinUfile
1618
lengthreservedanswerfieldinUfile
19...
(dependingon1618)
correspondinganswercodenumber(orblank)
(dependingon19,etc.)
textofopenanswer
Incaseswheretheamountofpositionsusedforasingleopenendedanswerislargerthan999,theOfile
recordformatisextended:
Recorddescriptionoftheopenanswersfile(extendedformat)
position
Length
Description
18
interviewnumber
910
subquestionnairenumber
11
Contains*toindicatetherecordisextended
1221
10
startingpositionanswerfieldinUfile
2231
10
lengthreservedanswerfieldinUfile
32...
(dependingon2231)
correspondinganswercodenumber(orblank)
(dependingon32,etc.)
textofopenanswer
NotethattheextendedOfileformatmayberecognizedbyastarinposition11.
StoringdatainUnicode
BydefaultthedataisstoredinplainASCII.WhenUnicodedatafilesareneededforseparatesurveys,this
canbeconfiguredinthefilesurveyconfigurationfile:
[Config]
UnicodeData=Y
Ifadatafileisalreadypresent,thissettingisignored:filesarestoredintheformatthefilewasoriginally
createdin.
When*ALPHAisusedinaquestionnaireandtherespondentusesaUnicodelanguage(i.e.aUnicode
charactersetisused),theUfilemustbewritteninUnicode.
When*OPENisusedinaquestionnaireandtherespondentusesaUnicodelanguage(i.e.aUnicode
charactersetisused),theOfilemustbewritteninUnicode.
Page342
FileStructuresandDatabaseTables
TelephoneFile(Tfile)
TheSamplefile(telephonefileorTfile)isthefilecontainingtelephonenumbersandaddressesofthe
(targeted)respondentsforNIPOCATI.
Thefollowingrulesapplytotelephonefiles:
Eachrespondentisstoredinaseparaterecord.
Therecordlengthofallrecordsshouldbethesame(noemptylines)
Theminimumrecordlengthis135positions.
Priortouse,positions1819and2021mustbesettoavalue(0000foraregularavailablerecord).
TfilesdonotsupportUnicode.
Recorddescriptionofthetelephonefile
Position
length
Description
117
17
Telephonenumber(areacodeandsubscribersnumber)
1819
Responsecode.SeeOverviewOfResponseCodes(onpage353)fordetails.
2021
Numberofcontacts
2223
Responsecodeoflastcontact
2435
12
Dateandtimeoflastcontact
3643
Interviewernumberoflastcontact
4445
Responsecodeoflastbutonecontact
4647
Responsecodeofsecondlastcontact
4849
Responsecodeofthirdlastcontact
5051
Responsecodeoffourthlastcontact
5259
Interviewnumber
6071
12
AppointedtimeorredialtimeintheformatYYYYMMDDhhmm
72101
30
Nameofappointedrespondent
102
Indicationtoshowsecondtelephonenumber
(1=showsecondtelephonenumber
2=usesecondtelephonenumberbydefault)
103119
17
Secondtelephonenumber(areacodeandsubscribersnumber)
120127
Timeintervalforcontactingrespondent
128133
Reservedforfutureuse
134
Indicateswhetherthe2 telephonenumberwasdialedinsteadofthefirst
nd
1=secondnumberwasused
135
Numberofaddressfieldstobeshownonscreen
(1=showfirstfieldonly,
2=showfirstandsecondfield,etc.)
136180
45
Firstaddressfield
(forexamplename)
181215
35
Secondaddressfield(forexamplestreetandnumber)
216250
35
Thirdaddressfield (forexamplezipcodeandresidence)
251285
35
Fourthaddressfield(forexampledepartment,country)
286...
Availableforotherdata
ForOmnibussurveys,thefileformatissomewhatdifferentstartingfromposition251:
Page343
FileStructuresandDatabaseTables
RecorddescriptionofthetelephonefileincaseofOmnibus
Position
length
Description
251490
240
StratificationdataforeachsubsurveyinaCATIomnibus
(20positionspersubsurvey,maximum12subsurveys)
251257
Nameoffirstsubsurvey
258
Containsa1iffirstsubsurveyissuccessful
259270
12
Freeforstratificationfirstsubsurvey
271500
501
Samefor2nd,3rdetceterasubsurveys
Availableforotherdata
Ifrequired,interviewnumbersmaybecreatedinadvance.Thesenumberswillbeusedasinterviewnumber
inalldatafilesbelongingtothesurvey.Makesurethenumbersareuniquevalues.Ifaninterviewnumberis
notuniqueitisskipped.Interviewnumbersneedtoconsistsof8digits(leadingzerosarerequired).
ContactFile(Cfile)
Forallcontactattempts,arecordisstoredinthecontactfile(Cfile).
Page344
FileStructuresandDatabaseTables
RecorddescriptionoftheContactfile
Position
length
Description
18
Interviewernumber
916
Dateofcontact(orcontactattempt)(format:YYYYMMDD)
1720
Timeofcontact(orcontactattempt)(format:uumm)
2128
Interviewnumber
2930
Responsecode(spacemeansnosamplefileavailable).SeeOverviewOfResponseCodes(onpage
353)fordetails.
3132
Contactnumber
3338
Totaltimeinseconds.
ThetotaltimebetweenthemomenttheNIPOCATI/WebMastersendsasamplerecordtothe
interviewerworkstationuntilafterfinallyreceivingthesamplerecordbackagainfromthe
workstation.Thisincludesinterviewtime,introductiontimeandedittime,
butexcludeswaitingtime.
3944
Introductiontimeinseconds
TimebetweenthemomenttheNIPOCATI/WebMastersendsasamplerecordtotheinterviewer
workstationandtheinterviewerpressingStartorconfirminganonresponseontheintroduction
screen.
(Alsoincludedinthetotaltime)
4550
Areacode(thefirst6digitsoftelephonenumber).
5156
Telephonetimeinseconds.Thisiseither:
Theaccumulatedstopwatchtime.ThestopwatchistoggledbytheinterviewerbypressingF10
duringtheinterview.Thestopwatchstopsautomaticallyattheendoftheinterview(before
editingopenendedanswers).Thisfeaturemustbeenabledinthesurveyconfiguration.Theactual
telephonecontact(call)timewiththerespondent(onlyavailableifusingadialer,asreportedby
thedialer).Notethatthetelephonetimemaydifferfromthetotaltime.
5760
Numberofscreensshowntointerviewer.Notethatwhentheinterviewergoesbackinthe
questionnaireandfollowsanotherrouting,thenumberofscreenwillbereset.
6166
Editopentimeinseconds.Thisisthetimeittooktheinterviewertoedittheopenendedanswers
attheendoftheinterview(alsoincludedintotaltime).
6772
Waitingtime,inseconds.TimespentbytheNIPOCATI/WebMastertosearchanewsample
recordandthedialerinpower/predictivemode(ifany)tomakecallattempts(waitingtimemay
besignificantlyhigher).
7379
Omnibussurveyname,ifquestionnaireispartofanomnibussurvey.
8081
Channel:
01=CATI
02=CAWI(Web)
03=CAPI
04=CASI(Panel)
8293
12
AppointmentTime(ifonewasmade)
Note:
InanomnibusaseparaterecordwillbewrittenintheContact.Logfileforeachsubquestionnaire,
withtheinterviewtimeandthenumberofscreensforthatspecificsubquestionnaire.Butonlyone
Cfilewillbecreatedforanomnibus,containingtheaccumulatedinterviewtimeandnumberof
screensforallsubquestionnaires.
Page345
FileStructuresandDatabaseTables
Stratificationfile(Sfile)
Astratificationfile(Sfile)isusedtodividethesampleintoseveralstrataorsubsamples,inwhichalimited
numberofinterviewsmustberealized.StratificationisonlypossibleifaTfileorSampletableisused.Each
stratummustbedefinedinoneseparaterecordwiththefollowingformat:
stratum field offset: characteristic (limit) description
SeeStratification(Quota)fordetailsaboutstratification.
Databasetables
Sampletable(SeparateTableforEachSurvey)
BydefaultforeachsurveyintheNIPOFieldworkSystemaseparateSampletableisused.Thedefaultname
fortheSampletableisSampleName,whereNameisthesurveyname(forinstance:theSampletablefor
surveyA1234iscalledSampleA1234).TheSampletablecanalsobeanASCIIfile(Tfile),seeTelephone
File(Tfile)(onpage343)fordetails.
Page346
FileStructuresandDatabaseTables
FieldnamesintheSampletable(separatetableforeachsurvey)
Fieldname
PosinT
file
Description
Type
Length
NOTNULL
AppointmentName
72L30
Nameofrespondentthatwillbe
calledatappointmenttime
nvar
30
Timetheappointmentshouldbe
redistributed
date
AppointmentTime
60L12
char
time
CallIntervalBegin
Addressshouldneverbedistributed Var
beforethistime
Char
(4digits,where1500standsfor3
oclockintheafternoon)
CallIntervalEnd
Addressshouldneverbedistributed Var
afterthistime
Char
(4digits,where2100standsfor9
oclockintheevening)
Channel
Channel,
int
Dateandtimeoflastcontact
(attempt).
Date
Firstaddressinformationfield(for
examplename)
nvar
Secondaddressinformationfield
(forexampleaddress)
nvar
Thirdaddressinformationfield(for
exampletown)
nvar
where:
1=CATI
2=CAWI(Web)
3=CAPI
4=CASI(Panel)
99=Samplerecordsentas
anonymouswebinterview.
ContactTime
DisplayField1
DisplayField2
DisplayField3
DisplayField4
24L12
136L45
181L35
216L35
251L35
Time
45
35
35
Fourthaddressinformationfield(for nvar
examplecountry,zipcodeetcetera) char
35
EmailaddressforCAWIrecords
50
215
char
char
char
var
char
ExtraData
GroupID
286
Leftforcompatibilitywithsurveys
usingTfiles.Onlyavailableif
configuredintheNIPOCATI/Web
Master.
Var
Char
UseGroupIdtodistributecertain Var
addressesonlytocertain
Char
interviewers,forinstancetomatch
thelanguageoftherespondentand
theinterviewer.
Page347
FileStructuresandDatabaseTables
Fieldname
PosinT
file
Description
Type
Theuniqueidentifier,thatiscreated var
foreachrespondentintheSample char
table,whensendinganon
anonymousmail(blankfor
annymoussurveys).
ID
Length
NOTNULL
50
TheIDshouldbeunique,notonly
withintheSampletable,butalso
withintheEmailManagemenent
table.Canautomaticallybe
generatedbytheFieldwork
Manager.
Indicator2ndNumber
120L1
Lastdialednumber:
int
1=secondnumber
blank=only1numberavailable/no
contact
Channelusedwheninitially
importingthesamplerecord,
InitialChannel
Int
where:
1=CATI
2=CAWI(Web)
3=CAPI
4=CASI(Panel)
InterviewerNumber
36L8
Interviewernumberofthe
interviewerofthelastcontact
attempt.
int
52L8
Uniqueidentifierwithinthesample
andallrelateddatafiles
int
NOT NULL
Languageofrespondent
var
InterviewNumber
Language
char
(forsendingmailand/ormulti
languagequestionnaires).Thisfield
isalsoautomaticallyupdatedbythe
questionnaire(a.o.the*LANGUAGE
scriptcommand).
1
20L2
Numberofcontactattempts,
includingnotathome,
appointments,suspended
interviews,etcetera.
int
NOT NULL
ResponseCode
18L2
2digitresponsecode.SeeOverview int
OfResponseCodes(onpage353)
fordetails.
NOT NULL
SecondPhoneNumber
103L17
17
NumberOfContacts
Alternativephonenumber
Var
Char
ShowDisplayFields
135
Numberofdisplayfieldstoshow
0=Nodisplayfields
1=ShowonlyDisplayField1
2=ShowDisplayField1+
DisplayField2
3=ShowDisplayField1+
DisplayField2+
DisplayField3
4=Showalldisplayfields
Page348
int
FileStructuresandDatabaseTables
Fieldname
PosinT
file
Description
Type
Length
NOTNULL
ShowSecondPhoneNumber
102L1
0=Hidesecondphonenumber
int
int
NOT NULL
1=Showsecondphonenumber
2=Usesecondphonenumberby
default
4
Status,where
Status
0=Available(CATI)
1=Available(Web)
2=Notsuccessful/Refusal
3=Completed
4=CATIappointment
5=CATIwaiting(previouslyWWin
ResponseCodefield)
6=Out,distributedforNIPOCATI
andNIPOCAWI
7=SwitchedtoNIPOCAWI(butnot
yetsent)
8=laimedbyNIPOFMSClientfor
editing
Image
SuspendImage,containingallthe
answersandtheroutingofprevious
sessions.
SuspendImage
SystemData
22L2
The5previousresponsecodes
10
Int
Interviewernumbertobeused
wheninterviewerrequestedto
followuptheinterview.Onlyusedif
SameInterviewerAppointmentwas
switchedonforthissurvey.
TelephonenumberforCATIrecords
17
10
Var
Char
44L2
46L2
48L2
50L2
TargetInterviewer
TelephoneNumber
1L17
Var
Char
TimeDifference
Timedifferenceinminutesbetween Var
respondentandthecallcenter.
Char
Note:
Foranonymoussurveysorinvitationstosurveysonananonymousbasis,anewsamplerecordis
createdforeverynewentry.NotethatAnonymoussurveysmaybetriggeredindefinitely.
UsingCustomSampleTableFields
NewcustomfieldsmaybecreatedbytheFieldworkManagerusingtheNIPOFMSonly.
Page349
FileStructuresandDatabaseTables
AllfieldsthatarecreatedbytheFieldworkManagercanberetrievedintheNIPOODINquestionnaireusing
the*SAMPLEDATAcommand.Definethefieldnameswith*SAMPLEDATAasvariablesinyour
questionnaireandthevariablewillbefilledautomaticallywiththecontentsofthedatabasefield(ifany)
whenstartingtheinterview.Whentheinterviewisended(eitherbyappointment,suspensionorby
completion)thedatabasefieldisupdatedwiththecurrentcontentsofthevariable.Notethatsampletable
fieldsareonlyupdateduponterminationneverduringtheinterview.Whenusingthe*STRATcommand
withinaNIPOODINquestionnaire,checksallfieldsinthedatabasedefinedby*SAMPLEDATAasifalready
updated.
UsingSystemFieldsintheSampleTable
AllsystemfieldsintheSampletablesmayonlybereferredtobytheirsystemnames,notbytheiractual
fieldnames.Anyattempttoaccessthembytheactualfieldnameresultsinanerrormessage.
SettingnamesandFieldnamesinSampletable
FieldnameinSampletable
FieldnameinNIPOODINScript
AppointmentName
TTAppointmentName
AppointmentTime
TTAppointmentTime
CallIntervalBegin
TTCallIntervalBegin
CallIntervalEnd
TTCallIntervalEnd
Channel
TTChannel
ContactTime
TTContactTime
DisplayField1
TTDisplayField1
DisplayField2
TTDisplayField2
DisplayField3
TTDisplayField3
DisplayField4
TTDisplayField4
TTRespEmail
ExtraData
TTExtraData
GroupID
TTGroupID
ID
TTID
Indicator2ndNumber
TTIndicator2ndNumber
InterviewerNumber
TTInterviewerNumber
InterviewNumber
TTInterviewNumber
Language
TTLanguage
NumberOfContacts
TTNumberOfContacts
ResponseCode
TTStatusCode
SecondPhoneNumber
TTSecondPhoneNumber
ShowDisplayFields
TTShowDisplayFields
ShowSecondPhoneNumber
TTShowSecondPhoneNumber
Status
TTAvailabilityCode
SystemData
TTSystemData
TargetInterviewer
TTTargetInterviewer
TelephoneNumber
TTTelephoneNumber
TimeDifference
TTTimeDifference
Page350
FileStructuresandDatabaseTables
Note:
ThefieldsID,Status,SystemData,Language,ChannelandResponseCodearesystem
fieldsandmaybereadbutmaynotbechangedbytheNIPOODINquestionnaire.TheLanguage
fieldisautomaticallyupdatedwhenswitchingbetween*LANGUAGEsections.TheResponseCode
fieldisindirectlymanagedbythecommands*NONRESP,*ABORT,*CUT,*END,*APPOINTand
*ENDNGB.
OmnibusorSubSampleTable(SeparateTableforEachSurvey)
Separatetableforeachomnibussurvey,onlyincombinationwithSampletable.ForusewithintheNIPO
FieldworkSystemonly.
ThedefaultnamefortheomnibusorsubsampletableisSubName,whereNameisthesurveyname(for
instance:theomnibustableforsurveyA1234iscalledSubA1234).
InthistabletheNIPOFieldworkSystemstoresthestratificationdataforeachsubsurveyinanomnibus.
FieldnamesintheOmnibusTable
Fieldname
InterviewNumber
Description
Type
Minimum
length
NOTNULL
Interviewnumber
Integer
NOT NULL
Subquestionnairename
Text
Subquestionnairestatus:
Integer
12
(ReferstoarecordintheSampletable)
QuestionnaireName
Success
1=successful
otherisunsuccessful
STData
Extradatafieldtostorestratificationfieldsfor varchar
subquestionnaires.Onlyavailableif
configuredattheNIPOCATI/WebMaster.
UsingCustomOmnibusTableFields
NewcustomfieldsmaybecreatedbytheFieldworkManagerusingtheNIPOFMSonly.
AllfieldsthatarecreatedbytheFieldworkManagercanberetrievedintheNIPOODINquestionnaireusing
the*SAMPLEDATAcommand.Definethefieldnameswith*SAMPLEDATAasvariablesinyour
questionnaireandthevariablewillbefilledautomaticallywiththecontentsofthedatabasefield(ifany)
whenstartingtheinterview.Whentheinterviewisended(eitherbyappointment,suspensionorby
completion)thedatabasefieldisupdatedwiththecurrentcontentsofthevariable.Notethatsampletable
fieldsareonlyupdateduponterminationneverduringtheinterview.Whenusingthe*STRATcommand
withinaNIPOODINquestionnaire,checksallfieldsinthedatabasedefinedby*SAMPLEDATAasifalready
updated.
UsingSystemFieldsintheOmnibusTable
AllsystemfieldsintheOmnibustablesmayonlybereferredtobytheirsystemnames,notbytheiractual
fieldnames.Anyattempttoaccessthembytheactualfieldnameresultsinanerrormessage.
Page351
FileStructuresandDatabaseTables
SettingnamesandFieldnamesinOmnibustable
SettingnameinNIPOCAPIMaster
FieldnameinSampletable
STSuccess
Success
STQuestionnaireName
QuestionnaireName
STInterviewNumber
InterviewNumber
STData
Data
NIPOCAPIClientAddressTable
InNIPOODINusingtheNIPOCAPISystemyoucanrefertodatabasefieldsintheaddresstableusing
*SAMPLEDATAinexactlythesamemanneraswiththeNIPOFieldworkSystem.However,thefieldnames
usedwithinNIPOODINarealittledifferentthanthenamesusedwithinthedatabasefielditself.Belowisan
overviewofthefieldmappings.
Notes:
IntheNIPOCAPIClienttheuseofaddressfileshasbecomeobsolete.Positionreferencesnowmap
directlytoaddressfieldsinthedatabase.Positionshavebeenlistedforbackwardscompatibility
purposes.Notethatifyoutrytostoreinformationinpositionsoverlappingtwofields,thedatawill
betruncated.
Inadditiontothefieldslistedhere,*SAMPLEDATAmayalsoreferencecustomfieldsthathavebeen
addedtotheAddresstableintheNIPOCAPISystem.ConsultyourNIPOCAPISystemadministrator
fordetails.
AddressfieldmappingsintheNIPOCAPISystem
DatabasefieldinNIPOCAPIClient
Position
Fieldreferenceusing*SAMPLEDATA
TTAddressNumber
5L8
AddressNumber
TTAppointmentTime
734L12
AppointmentTimeStamp
TTClusterNumber
1L4
ClusterNumber
TTDisplayField1
147L30
Name
TTDisplayField2
177L30
Address
TTDisplayField3
215L30
Town
TTDisplayField4
117L30
AddressComment
TTInterviewerNumber
19L8
InterviewerID
TTMainStatus
17L2
AddressStatus
TTNumberOfContacts
691L2
ContactCount
TTTelephoneNumber
253L17
TelephoneNumber
TTZipCode1
207L8
Zipcode1
TTZipCode2
245L8
Zipcode2
Page352
FileStructuresandDatabaseTables
Status,ResponseCodes,TerminateCodes
StatusFieldinSurveyTable
OverviewofStatusfieldinSurveytable
Code
Description
Inactive.SurveycannotbestartedbyNIPOCATI/WebMaster.
Active:SurveycanbestartedbyNIPOCATI/WebMaster.
Running:SurveyhasbeenstartedbyNIPOCATI/WebMaster.
Pause:SurveyisabouttobereloadedbyNIPOCATI/WebMaster.
StatusfieldinSampleTable
OverviewofStatusfieldinSampletable
Value
Description
Available(CATI)
Available(Web)
Notsuccessful/Refusal
Completed
CATIappointment
CATIwaiting
Out,distributedtoCATI/WebClient
ChannelandInitialChannelFieldinSampleTable
OverviewofChannel/InitialChannelfieldinSampletable
Code
Description
CATI
CAWI(Web)
CAPI
CASI(Panel)
99
Samplerecordsentasanonymouswebinterview
OverviewofResponseCodes
Thefollowingoverviewshowsthedefaultresponsecodes.ResponsecodescanbesetintheNIPOCATI/
WebMasterconfigurationorintheSurveyconfigurationfile.Apartfromthedescription,responsecodes
00,1830and9199cannotbechanged.
Page353
FileStructuresandDatabaseTables
Defaultresponsecodes
Responsecode Remark
00
SYS
01
Textshownonthescreen
Specification
Initial/notused
Notathome
Callbacktimein
minutes(NIPOCATI
only)
AVAIL
240
Noanswer
02
Answerdevice
AVAIL
240
03
Busy
AVAIL
60
04
Informationtone
STOP
05
Nohouseatthisaddress/moved
STOP
APPOINT
appointmenttime
Wrongtelephonenumber
06
Makeanappointment
(15minutes)
07
Definiteappointment
APPOINT
appointmenttime
(15minutes)
08
Refusal
REFUSAL
09
#S
Refusal(busy)
REFUSAL
10
#S
Refusal(notbytelephone)
REFUSAL
11
#F
Refusal(ill/notpresent)
REFUSAL
12
#S
Refusal(noapproval)
REFUSAL
13
Nocompanyatthisaddress
STOP
14
Inactivecompany
STOP
15
Companyterminated
STOP
Outsidetargetgroup
STOP
16
17
#S
Alreadyquestioned
STOP
18
SYS
Successful
WRITE
19
SYS
*ENDNGB(inquestionnaire)
WRITE
20
SYS
Systemerror
(orcurrentlyrunning)
21
SYS
Stratificationmaximumreached
22
SYS
*ABORT (inquestionnaire)
23
SYS
Interviewbrokenoff
Tobehandledbyspecialinterviewer
24
25
SYS
Blockedbyblacklist
26
SYS
Duplicateinterviewnumber
27
SYS
Usedbyothersurvey
28
SYS
Abandonedcall
240
29
SYS
Interviewsuspended(NIPOCAWIonly)
30
Interviewernotime
Freeforuse,tobeconfiguredintheSurvey
configuration.
Successful(NIPOCAPIonly)
Reservedforsystem.
31to90
90
9195
Page354
SYS
FileStructuresandDatabaseTables
Responsecode Remark
Textshownonthescreen
Specification
Callbacktimein
minutes(NIPOCATI
only)
96
SYS
Interviewtobecontinued
98
SYS
Systemerror(NIPOCAPIonly)
99
SYS
Initial,alreadysenttointerviewerworkstation
(NIPOCAPIonly)
SpecificationofResponseCodes
ExplanationRemarkandSpecificationcolumn
Indication
Meansresponsecode...
SYS
Cannotbechanged,thesearesystemresponsecodesthatcannotbeshownonthescreen.
#F
Willnotleadtoafinalresponsecode,soaddresswillreappear
#S
Defaultnotshownonthescreen
Isafixedappointmentcode,onlythetextmaybealtered
Onlyshownincaseofbusinessaddress
Cannotbeshownonthescreen,theinterviewerhowevermayenterthiscode
APPOINT
Appointmentscreenwillpopup
AVAIL
Addressstillavailableforinterviewing
REFUSAL
Interviewmarkedasrefusal,notavailableforinterviewing
STOP
Interviewnotavailableforinterviewing
SWITCH
SwitchfromNIPOCATIClienttoWebClient
WRITE
Interviewisstored
TerminateCodes
IntheWebClientthesystemusesTerminateCodevaluestorelocaterespondents,basedonthe
ResponseCodevalue.Negativecodenumbersareusedforthesystemcodes.
Page355
FileStructuresandDatabaseTables
OverviewofTerminatecodes
Responsecode
Description
1 - 99
ResponsecodevalueasstoredbyNIPOODINquestionnaire.
Defaultrelocation,iftheterminatecodewasnotspecifiedinRelocations
tableforthissurvey.
-1
Alreadydone/interviewwasalreadycompleted
-2
Errorinquestionnaire/RuntimeError
-3
JavaAppletError/NIPOOdinServletError
-4
Currentlynotused
-5
Mastererror
-6
Currentlynotused
-7
Licenceerror(morewebconnectionsthanNIPOSoftwarelicenceallows)
-8
Onlyoneinterviewatatimeallowed,interviewended
(RespondentopensnewWindowinBrowserduringNIPOWebInterviewing).
-9
Currentlynotused
-10
Switchsurvey
-11
Pause
-12
InvalidanswerornoreactionfromNIPOODINDemon
-13
Noaddressesavailabletowriteresponsedata
Page356
OverviewofCommandsandSystem
Variables
ListingofCommandsperSystem
Page357
OverviewofCommandsandSystemVariables
Command
NIPOCATI
Stand
NIPOCATI NIPOCAPI
NIPO
CAWI
Alone
**
*?
*ABORT
*ADDRESS
*ALPHA(questiontype)
*ALPHA(in*FORMquestion)
*APPOINT
*AUTO
*AUTO(in*CONJ)
*BACK
*BMP
*BUT
*CENTRE
*CODES
*CONTROL
*COPY
*COUNT
*CUT
*DATE
*DELAY
*DTIME
*DUMMY
*END
*END(in*REPEATloop)
*ENDNGB
*ENDST
*EXCLUDE
*FIELD
*FONT
*FORM
*FORMAT
*GOSUB
*GOTO
*GRID
*GROUP
*HEADING
*HELP(definition)
*HELP(questionoption)
*IF
Page358
OverviewofCommandsandSystemVariables
Command
NIPOCATI
Stand
NIPOCATI NIPOCAPI
NIPO
CAWI
Alone
**
*IF(questionoption)
*IF(in*CONJ)
*INCLUDE
*INFO
*INIT
*INSTRUC
*INTRO
*INV
*INV(in*CONJ)
*LABEL
*LANGUAGE
*LEFT
*LEFT(in*CONJ)
*LINE
*LIST
*LIST(questionoption)
*LIST(in*CONJ)
*MAX
*MERGE
*MIN
*MIN(in*CONJ)
*MOVA
*MOVU
*MULTI
*NCLS
*NEW
*NEWCOLUMN
*NEXT
*NEXTRECORD
*NMUL
*NOCON
*NOENTER
*NOHIDE
*NON
*NONRESP
*NOTBACK
*NP(in*CONJ)
*NUMBER(questiontype)
Page359
OverviewofCommandsandSystemVariables
Command
NIPOCATI
Stand
NIPOCATI NIPOCAPI
NIPO
CAWI
Alone
**
*NUMBER(in*FORMquestion)
*OPEN(questiontype)
*OPEN (codesoption)
*ORDER
*PAGE
*PICT(questionoption)
*PICT(codesoption)
*PICT(in*CONJ)
*PLAY
*PNW
*PUT
*QUESTION
*RANDOM
*RANGE
*READ
*REC
*REPEAT(questionoption)
*REPEAT ...*ENDREP
*REPNUM
*RETURN
*RIGHT
*RIGHT(in*CONJ)
*ROT
*ROT(in*CONJ)
*RUN
*SAMPLEDATA
*SAVE
*SCALE(questiontype)
*SCALE (in*FORMquestion)
*SCALERANGE
*SHOWDOCUMENT
*SIZE
*SKIP
*SQLADD
*SQLGET
*SQLPUT
*STOPAUTO
*STOPRANDOM
Page360
OverviewofCommandsandSystemVariables
Command
NIPOCATI
Stand
NIPOCATI NIPOCAPI
NIPO
CAWI
Alone
**
*STRAT
*SWILANG
*TAB
*TABLE
*TEXTVARS
*TIME
*USELIST
*VAR
*VARS
*VCONTROL
*WAITCR
*WAITPLAY
*WRITE
<<<!...!>>>
ListingofSystemVariablesperChannel
ForafulldescriptionofthesevariablesseeSystemVariablesfordetails.
Page361
OverviewofCommandsandSystemVariables
Systemvariable
NIPOCATIStand
Alone
NIPOCATI
NIPOCAPI
NIPOCAWI
?R
_CAPI_
_CASI_
_CATI_
_CAWI_
_CHANNEL
_ISCAPI
_ISCASI
_ISCATI
_ISCAWI
0-9
AGENTNAME
BROWSERUSERAGENT
CMDLINE
CONJTXT[n]
INPUTDATA
JAVASCRIPTSUPPORTED
LANGUAGE
PRETEL
RUNTYPE
STOPWATCH[1]
STOPWATCH[2]
STOPWATCH[3]
Page362
TheNIPOHTMLGenerator
TheHTMLGeneratorcanbeusedtolayoutyourNIPOODINquestionnaireinNIPOCAWIandNIPOCAPI,
usingtemplatesandstylesheets.TheNIPOHTMLGeneratorisadynamicgenerator,whichtranslatesthe
NIPOODINquestionnairescriptquestionbyquestionintoHTMLcode.TheNIPOHTMLGeneratortranslates
thevisualpartofaNIPONIPOODINscriptintoHTMLcode.ThismeansthatHTMLisgenerated"onthefly".
Eachquestionwillgothroughthegeneratoreverytimeitisdue.Thus,thegenerationofHTMLisdonelive.
ThegeneratedHTMLprovidesalmostallfunctionalityavailableforNIPOCATI,withafewexceptions.
However,typicallyaquestionnairecanbedevelopedusingtheNIPOODINScriptingLanguage,andmay
transparentlybeusedforNIPOCATI,NIPOCAWIandNIPOCAPI.
TheNIPOHTMLGeneratorisintegratedintheNIPOOdinServletthatisimplementedontheNIPOWeb
Server,intheNIPOCAPIClientandintheNIPOODINDeveloper,enablingaPreviewortestrunofNIPO
CAWIandNIPOCAPIquestionnaires.
ThischapterexplainsthistranslationandshowsyouhowtolayoutyourNIPOODINquestionnaires.
Note:
Inordertounderstandandusethefullstrengthofthesystem,experienceandknowledgeofHTML
andCSSisrequired.
SupportedHTMLstandards
AllHTMLgeneratedbytheNIPOHTMLGeneratorcompliestotheW3CHTML4.01standard.
Thismeansthatthefollowingbrowsersaresupported:
MicrosoftInternetExplorer(IE)5.5andabove.
Netscape6andabove.
Opera7.1andabove
Mozilla1.5andabove.
ObviouslythisonlyappliestothestandardgeneratedHTMLcode.ItdoesnotapplytoanyItdoesnotapply
tothecodeusedinthetemplatesandtheCSSfilessincetheNIPOHTMLGeneratoristransparentforcode
inbothfiles.
ApplyingDesigntoaSurvey
StylingintheNIPOHTMLGeneratorisdoneontwolevels:
1. TheTemplatesareHTMLpagesofyourowndesigninwhichthequestionnairerunsembedded.You
simplydefinetheentrypointforinsertion,andtheNIPOHTMLGeneratorcreatesthefullHTML
outputaccordingly.
2. TheCSSstylesheetscontrolthelookandfeelofallelementswithinthequestionnaire.Apredefined
setofclassesandselectorsareavailableforthispurpose.Thesearedescribedinthischapter.
IfnotemplatesandCSSstylingisapplied,thefactorydefaultsareused.Andtheyareveryboringindeed.
Page363
TheNIPOHTMLGenerator
DefaultandCustomTemplatesandStylesheets
Byusingtemplatesandstylesheets(CSS),itiseasytoworkwithastandardizedlayoutforevery
questionnaire,butatthesametime,itispossibletocustomizethelookofasurveycompletely,oreven
changethelookofonespecificquestionwithinaspecificsurvey.
ThelinkedtemplatesandCSSfilescanbesubdividedintofourgroups:
1. Defaulttemplates(applytoallsurveys)
2. Surveyspecifictemplates
3. DefaultCSSfiles(applytoallsurveys)
4. SurveyspecificCSSfiles
Templatesandstylesheetscanbesurveyspecific,subsurveyspecific,languagespecific,typespecific,
numberspecific,andcombinationsofthesecharacteristics.IncaseofasurveyspecifictemplateorCSS,the
subdirectorywiththenameofthesurveyintheTemplateDirectoryisscanned.Ifnoneisfound,theDefault
subdirectoryoftheCSSdirectoryisscanned.Ifthisisalsonotfound,thesystemdefaultwillbeused.
TheformatoftheTemplatefilenameis:
{SURVEY}[.S-{SUBSURVEY}][.L-{LANGUAGE}][.QNumber-{QuestionNumber}|.QType{QuestionType}].odintemplate.
Parametersbetweenaccoladesareoptional.
ForSUBSURVEYbothsubsurveyname(incaseofOmnibussurvey)andsubsurveynumber(when
using*NEWinaNIPOODINquestionnaire)arechecked.Thesearemutuallyexclusive.
ForLANGUAGEthelanguagenameasusedbytheNIPOODINquestionnaireischecked.
QuestionTypeisoneofthefollowing:
{Page|Codes|Numeric|Alpha|Open|List|Form|Scale|Line}
QuestionNumberisthequestionnumberasdefinedinthequestionnaire.Specialnumbersare-1for
unknownquestionnumbers(likeintroscreen,*PAGE,*HELP,etcetera),-2forappointmentscreens
and-3fornonresponselists.
OrderofCheckingOdintemplateFiles
ThesystemcheckallavailableNIPOODINtemplatefilesinthefollowingorderandwillstopsearchingwhen
itfindstheclosestmatchingOdintemplatefile.
Page364
TheNIPOHTMLGenerator
Orderofcheckingodintemplatesfromfirsttolast
Order
Odintemplate
{SURVEY}.S-{SUBSURVEY}.L-{LANGUAGE}.QNumber-{QuestionNumber}.odintemplate
{SURVEY}.S-{SUBSURVEY}.L-{LANGUAGE}.QType-{QuestionType}.odintemplate
{SURVEY}.S-{SUBSURVEY}.QNumber-{QuestionNumber}.odintemplate
{SURVEY}.S-{SUBSURVEY}.QType-{QuestionType}.odintemplate
{SURVEY}.L-{LANGUAGE}.QNumber-{QuestionNumber}.odintemplate
{SURVEY}.L-{LANGUAGE}.QType-{QuestionType}.odintemplate
{SURVEY}.QNumber-{QuestionNumber}.odintemplate
{SURVEY}.QType-{QuestionType}.odintemplate
{SURVEY}.S-{SUBSURVEY}.L-{LANGUAGE}.odintemplate
10
{SURVEY}.S-{SUBSURVEY}.odintemplate
11
{SURVEY}.L-{LANGUAGE}.odintemplate
12
{SURVEY}.odintemplate
13
Default.S-{SUBSURVEY}.L-{LANGUAGE}.QNumber-{QuestionNumber}.odintemplate
14
Default.S-{SUBSURVEY}.L-{LANGUAGE}.QType-{QuestionType}.odintemplate
15
Default.S-{SUBSURVEY}.QNumber-{QuestionNumber}.odintemplate
16
Default.S-{SUBSURVEY}.QType-{QuestionType}.odintemplate
17
Default.L-{LANGUAGE}.QNumber-{QuestionNumber}.odintemplate
18
Default.L-{LANGUAGE}.QType-{QuestionType}.odintemplate
19
Default.QNumber-{QuestionNumber}.odintemplate
20
Default.QType-{QuestionType}.odintemplate
21
Default.S-{SUBSURVEY}.L-{LANGUAGE}.odintemplate
22
Default.S-{SUBSURVEY}.odintemplate
23
Default.L-{LANGUAGE}.odintemplate
24
Default.odintemplate
25
Systemdefaults
Note:
ForinformationonQType,seeQuestionTypes(onpage367).
Contrarytostylesheets,thesystemloadtheclosestmatchingOdinTemplatefilethatitcanfind,
ratherthanaccumulatingallmatchingfiles.However,styleselectorsmaybechangedintemplatesas
wellasinstylesheets,soastyleintheOdinTemplatemaybeoverruledbythestylethatwas
specifiedinastylesheet.
ExampleofUsingOdintemplateFiles
Assumethefollowingtemplatefilesinuse:
Page365
TheNIPOHTMLGenerator
Default\Default.odintemplate
Default\Default.QType-Open.odintemplate
A1234\A1234.odintemplate
A1234\A1234.L-English.odintemplate
A1234\A1234.QNumber-1.odintemplate
A1234\A1234.L-English.QNumber-1.odintemplate
OrderofCheckingStylesheets
Thesystemloadsallavailablestylesheetsinthefollowingorder(andoverloadsalreadyloadedstylesby
newstyles):
Orderofcheckingstylesheetsfromfirsttolast
Order
Stylesheet
default.css
default.L-{LANGUAGE}.css
default.S-{SUBSURVEY}.css
default.S-{SUBSURVEY}.L-{LANGUAGE}.css
default.QType-{QuestionType}.css
default.QNumber-{QuestionNumber}.css
default.L-{LANGUAGE}.QType-{QuestionType}.css
default.L-{LANGUAGE}.QNumber-{QuestionNumber}.css
default.S-{SUBSURVEY}.QType-{QuestionType}.css
10
default.S-{SUBSURVEY}.QNumber-{QuestionNumber}.css
11
default.S-{SUBSURVEY}.L-{LANGUAGE}.QType-{QuestionType}.css
12
default.S-{SUBSURVEY}.L-{LANGUAGE}.QNumber-{QuestionNumber}.css
13
{SURVEY}.css
14
{SURVEY}.L-{LANGUAGE}.css
15
{SURVEY}.S-{SUBSURVEY}.css
16
{SURVEY}.S-{SUBSURVEY}.L-{LANGUAGE}.css
17
{SURVEY}.QType-{QuestionType}.css
18
{SURVEY}.QNumber-{QuestionNumber}.css
19
{SURVEY}.L-{LANGUAGE}.QType-{QuestionType}.css
20
{SURVEY}.L-{LANGUAGE}.QNumber-{QuestionNumber}.css
21
{SURVEY}.S-{SUBSURVEY}.QType-{QuestionType}.css
22
{SURVEY}.S-{SUBSURVEY}.QNumber-{QuestionNumber}.css
23
{SURVEY}.S-{SUBSURVEY}.L-{LANGUAGE}.QType-{QuestionType}.css
24
{SURVEY}.S-{SUBSURVEY}.L-{LANGUAGE}.QNumber-{QuestionNumber}.css
Note:
ForinformationonQType,seeQuestionTypes(onpage367).Stylesheetnamesarecasesensitive.
Thisisnormalbehaviorinanyweboperatedenvironment.
Page366
TheNIPOHTMLGenerator
ContrarytoOdinTemplatesthebrowserwillloadthestylesheetsoneafteranother.I.e.specificstyle
selectorsmaybedefinedmorethenonce,wherethelastdefinitionwillbeexecuted.
ExampleofUsingStylesheets
Assumethestylesheetsinuseonyourwebserver:
Default\Default.CSS
Default\Default.QType-Open.CSS
A1234\A1234.CSS}
A1234\A1234.L-English.CSS
A1234\A1234.QNumber-1.CSS
A1234\A1234.L-English.QNumber-1.CSS
QuestionTypes
AvailableQuestiontypes
Type
Odincommand
QType-Alpha
*ALPHA
QType-Codes
*CODES
*CODES with *LIST
QType-CONJCodes
codesquestionswithin
*CONJ *ENDCONJ
QType-CONJNumeric
numericquestionswithin
*CONJ *ENDCONJ
QType-CONJScale
scalequestionswithin
*CONJ *ENDCONJ
QType-Form
QType-Line
*LINE
QType-List
QType-Numeric
*NUMBER
QType-Open
*OPEN
QType-Page
*PAGE
*PNW
*QUESTIONwithouttype
*HELP
QType-Scale
*SCALE
Page367
TheNIPOHTMLGenerator
ExampleofGeneratedHTMLPage
TheNIPOHTMLGeneratortranslatestheNIPOODINQuestionnaireintoHTMLpagesquestionbyquestion.
YoucanchecktheHTMLsourcebyrightmouseclickingandthenViewsourceinyourBrowserorinthe
CAWIpreviewintheNIPOODINDeveloper5.05.
ExampleNIPOODINQuestion
*QUESTION 1 *CODES 61L1
Gender:
1: Man
2: Woman
Page368
TheNIPOHTMLGenerator
ExampleHTMLpagegeneratedbyNIPOHTMLGenerator
Page369
TheNIPOHTMLGenerator
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="Generator" content="NIPO Software OdinServlet 1.02.001, build 148">
<title>NIPO Software Web Interview System</title>
<script type="text/javascript" src="odinservletscript/odinutils.js">
<!--ignored-->
</script>
<script type="text/javascript" src="odinservletscript/odinbuttons.js">
<!--ignored-->
</script>
<script type="text/javascript" src="odinservletscript/odinquestions.js">
<!--ignored-->
</script>
<script type="text/javascript" src="odinservletscript/odincodesquestion.js">
<!--ignored-->
</script>
<style type="text/css">
<!-.odinfontnumber-0 {
font-size: 10pt;
font-family: "Verdana";
}
.odinfontnumber-1 {
font-weight: bold;
font-size: 10pt;
font-family: "Verdana";
}
.odinfontnumber-2 {
font-style: italic;
font-size: 10pt;
font-family: "Verdana";
}
.odinfontnumber-3 {
color: #0000d2;
font-size: 10pt;
font-family: "Verdana";
}
.odinfontnumber-4 {
color: #d20000;
font-size: 10pt;
font-family: "Verdana";
}
-->
</style>
<style type="text/css">
<!-.odinerroritem {
border-width: 1;
border-color: #ff0000;
border-style: dotted;
}
.odinerrormessages {
width: 100.0%;
}
.odinerrormessage {
color: #ff0000;
}
.odinerrormessage:link {
text-decoration: none;
}
.odinerrormessage:visited {
text-decoration: none;
}
.odinerrormessage:active {
text-decoration: none;
}
.odinerrormessage:hover {
text-decoration: underline;
}
-->
</style>
<style type="text/css">
Page370
TheNIPOHTMLGenerator
<!-.odincodelist-column {
vertical-align: top;
}
.odincategorycheckcolumn {
vertical-align: top;
}
.odincategorylabel {
vertical-align: top;
}
-->
</style>
<style type="text/css">
<!-.odinprogress-completed {
width: 0%;
}
.odinprogress-remaining {
width: 100%;
}
.odinprogress-completed-vertical {
height: 0%;
}
.odinprogress-remaining-vertical {
height: 100%;
}
-->
</style>
<script type="text/javascript">
<!-//================================================
// general initialisation for questions
//================================================
function OdinServletInit() {
if (document.getElementById) {
document.getElementById("odinjavascriptsupport").value = 'true';
initialiseCodesQuestion();
}
}
//-->
</script>
</head>
<body leftmargin="5" topmargin="5" marginheight="5" class="grayGradient" marginwidth="5"
bgcolor="#eeeeee">
<style type="text/css">
TD {
font-family: Arial, Helvetica;
font-size: 9pt;
height: 9px;
}
</style>
<center>
<img src="TemplateRelatedFiles/Default/bovenbalk3.gif">
<table border="0" width="772" cellpadding="1" cellspacing="0" bgcolor="#999999">}
<tbody>
<tr>
<td>
<table border="0" width="772" cellpadding="10" cellspacing="0"
bgcolor="#ffffff">
<tbody>
<tr>
<td>
<div id="ODINSERVLETINSERTIONPOINT">
<table width="100.0%" cellpadding="0" cellspacing="0" class="odinfontnumber-0 odinquestion"
id="odinquestionUS10aHJlZToz">
<tbody>
<tr>
<td dir="ltr" align="left">
<div class="odinerrormessages-holder"></div>
</td>
</tr>
Page371
TheNIPOHTMLGenerator
<tr>
<td>
<form method="post" action="http://172.31.6.87:8080/OdinServlet/Interview"
id="odinquestioninputform">
<div class="odincurrentquestion" dir="ltr" align="left">
<table width="100.0%" cellpadding="0" cellspacing="0">
<colgroup>
<col width="25.0%">
<col width="75.0%">
</colgroup>
<tbody>
<tr>
<td class="odintabstop-0" colspan="2"><span class="odinfontnumber-0">Gender
?</span></td>
</tr>
<tr>
<td class="odintabstop-0" colspan="2"><span class="odinfontnumber-0"
style="visibility: hidden; "> </span></td>
</tr>
<tr>
<td class="odintabstop-0 odinquestioninput" colspan="2">
<table class="odincodelist odincodelist2 odincodelist-single odincodelist-max2"
width="100.0%" cellpadding="0" cellspacing="0">
<colgroup>
<col width="100.0%">
</colgroup>
<tbody>
<tr>
<td class="odincodelist-column">
<table cellpadding="0" cellspacing="0" class="odincategory odincategory1
odincategory-odd odincategory-placement1 odincategory-placement-odd odincategory-single"
id="odincategory1-holder" onmouseout="return OdinOnCategoryHolderMouseOut(event, this,
'odincategory1');" onmouseover="return OdinOnCategoryHolderMouseOver(event, this,
'odincategory1');" onclick="return OdinOnCategoryHolderClick(event, this,
'odincategory1');" ondblclick="return OdinOnCategoryHolderDblClick(event, this,
'odincategory1');">
<tbody>
<tr>
<td class="odincategorycheckcolumn">
<input type="radio" name="odinanswer0" value="1"
class="odincategorychecksingle" id="odincategory1" onclick="return
OdinOnCategoryClick(event, this);">
</td>
<td class="odincategorylabelcolumn">
<table cellpadding="0" cellspacing="0" id="odincategorylabel1">
<tbody>
<tr>
<td class="odincategorylabel">
<label for="odincategory1"><span class="odinfontnumber-0">
Man
<br>
</span></label>
</td>
</tr>
</tbody>
</table>
</td>
<td class="odincategorymarkcolumn"></td>
</tr>
</tbody>
</table>
<table cellpadding="0" cellspacing="0" class="odincategory odincategory2
odincategory-even odincategory-placement2 odincategory-placement-even odincategory-single"
id="odincategory2-holder" onmouseout="return OdinOnCategoryHolderMouseOut(event, this,
'odincategory2');" onmouseover="return OdinOnCategoryHolderMouseOver(event, this,
'odincategory2');" onclick="return OdinOnCategoryHolderClick(event, this,
'odincategory2');" ondblclick="return OdinOnCategoryHolderDblClick(event, this,
'odincategory2');">
<tbody>
<tr>
<td class="odincategorycheckcolumn">
<input type="radio" name="odinanswer0" value="2"
class="odincategorychecksingle" id="odincategory2" onclick="return
OdinOnCategoryClick(event, this);">
Page372
TheNIPOHTMLGenerator
</td>
<td class="odincategorylabelcolumn">
<table cellpadding="0" cellspacing="0" id="odincategorylabel2">
<tbody>
<tr>
<td class="odincategorylabel">
<label for="odincategory2"><span class="odinfontnumber-0">
Woman
<br>
</span></label>
</td>
</tr>
</tbody>
</table>
</td>
<td class="odincategorymarkcolumn"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="odintabstop-0" colspan="2"><span class="odinfontnumber-0"
style="visibility: hidden; "> </span></td>
</tr>
<tr>
<td class="odintabstop-0"><img src="odinservletscript/odinservlet-spacer.gif"
alt=""></td>
<td class="odintabstop-1 odintabstop-last odintabstop-nonzero"><img
src="odinservletscript/odinservlet-spacer.gif" alt=""></td>
</tr>
</tbody>
</table>
</div>
<input type="hidden" name="odininterviewid" id="odininterviewid"
value="00000007">
<input type="hidden" name="odinquestionid" id="odinquestionid"
value="US10aHJlZToz">
<input type="hidden" name="startsurvey" id="startsurvey" value="Demo">
<input type="hidden" name="odinusejavascriptanswer" id="odinusejavascriptanswer"
value="false">
<input type="hidden" name="odinjavascriptsupport" id="odinjavascriptsupport"
value="true">
<input type="hidden" name="ValidationErrors" id="ValidationErrors" value="Unknown
error with code 0An answer is requiredInvalid answer: {0}Answer must be in range {0}Too few
categories, minimum is {0}Too many categories, maximum is {0}Maximum number of decimals is
{0}All levels must be orderedAn answer must be specifiedUnknown code: {0}Duplicate code:
{0}This category cannot be selected together with other categoriesAppointment not within
constraints{0} is not a numberSystem error, illegal formatNavigation error. Do not use BACK
button on browser, but use buttons on interview instead.">
<input type="hidden" name="odinscriptbasepath" id="odinscriptbasepath"
value="odinservletscript">
<input type="hidden" name="odinjavascriptmaximum" id="odinjavascriptmaximum"
value="9.000000000000002">
<input type="hidden" name="odinjavascriptminimum" id="odinjavascriptminimum"
value="0.0">
<input type="hidden" name="odinjavascriptnon" id="odinjavascriptnon"
value="false">
<input type="hidden" name="odinjavascriptanswer" id="odinjavascriptanswer"
value="">
<input type="hidden" name="showcategoryorder" id="showcategoryorder"
value="false">
<div class="odinbuttonpanel" dir="ltr" align="left">
<input type="submit" name="odinbuttonBACK" class="odinbutton odinbuttonBACK
odinbuttonnormal odinbuttonBACKnormal" id="odinbuttonBACK" accesskey="B" value="Back"
disabled onclick="return OdinButtonClick(event, this);" onmousedown="return
OdinButtonMouseDown(event, this);" onmouseup="return OdinButtonMouseUp(event, this);"
onmouseover="return OdinButtonMouseOver(event, this);" onmouseout="return
OdinButtonMouseOut(event, this);" onfocus="return OdinButtonFocus(event, this);"
onblur="return OdinButtonBlur(event, this);">
Page373
TheNIPOHTMLGenerator
WorkingWithTemplates
TemplatefilesareinfacttemplateHTMLfiles.Theymustobeythefollowingrules:
Page374
TemplatesareplainHTMLfileswithinsertionpointstowhereNIPOODINspecificitemsareplaced.
ThetemplateneedstobeformattedaccordingtotheHTML4DTDstandardforthebestresult.
TheHTMLgeneratedbytheNIPOHTMLGeneratorisconformtheHTML4.01Strict.
Atemplatefilemusthavetheextensionodintemplate.
Atemplateneedstohaveatleasta<head>anda<body>tagwithintheHTMLpage.
TheNIPOHTMLGenerator
TemplateTags
TheNIPOHTMLGeneratortranslatesthequestionintoHTMLcodeandparsesthiscodeintotheTemplate.
WhenthisgeneratedHTMLcodeisparsedintothetemplatefile,theparserlooksforadditionaltagsthatit
canuseaspointsofinsertion.Itlooksforthefollowingtags:
1. The<head>tag
2. The<body>tag
3. Theinsertionpoint:<div id='ODINSERVLETINSERTIONPOINT'></div>
Thesethreetagsareusedinthefollowingway:Firsttheparserwillscanforthe<head>tagwhereitcan
(optionally)insertlinkstocommonCSSfilesbasedonthecurrentsurveyand/orquestionsettings.Thenit
scansthe<body>tagforthe<div>tagcontainingtheODINSERVLETINSERTIONPOINT(case
sensitive)asitsidandinsertsthequestionnaireinterfacethere.Ifthistagisnotfound,thequestionnaire
interfaceisinsertedatthe<body>tag.
Ifnotemplatecanbefound,anemptyHTMLfileiscreatedbythesystem.
Bareminimumexampleofabasictemplate
<html>
<head>
<title>Example template</title>
</head>
<body>
<div id='ODINSERVLETINSERTIONPOINT'></div>
</body>
</html>
Besidesdeterminingwheretheinterviewwillbeinserted,theparseralsoscansfor:
<DIV ID="ODINPROGRESSCOMPLETEDTEXT">and<DIV
ID="ODINPROGRESSREMAININGTEXT">.Theseinsertionpointscanbeusedtobuildaprogress
meterwithatextindicationoftheprogress.
<DIV ID="ODINSHOWDOCUMENTPOINT">istheelementwherethecommand*SHOWDOCUMENT
canopenitslink.
<DIV ID="ODINMMFILEINSERTIONPOINT">istheelementwheremultimediastartedwith
*PLAYareplaced.
<DIV ID="ODINCONJOINTPROGRESS">istheelementwherethetextprofile[n]of[m]inNIPO
Conjointisplaced(NIPOCAWIonly).
<DIV ID="POWEREDBYNIPOSOFTWARE">istheelementwheretheNIPOSoftwarecopyrightlineis
placed.
Allothertagsinthetemplatefileareignored.ThisallowsthetemplatetoanystylingaswellasJavaScript.
Note:
UnlikeXML,HTMLdoesnotallowemptytagslike<div />,soacompletetagsetwillhavetobe
presentinthetemplatefile.
InterviewProgressEstimation
Thetags<DIV ID="ODINPROGRESSCOMPLETEDTEXT">and<DIV
ID="ODINPROGRESSREMAININGTEXT>representpercentagesofcompletedandremainingquestions
respectively.Thefollowingapplies:
Page375
TheNIPOHTMLGenerator
All*DUMMYquestionsareignoredforprogressestimations.
Nullevaluatingfilterquestionsandquestionswithouttextarecountedforprogressestimations.These
canthereforebeusedtoinvisiblyinfluencetheprogressbar.
Estimationsaremadeforthenumberofquestionspresentedthrough*REPEATand*GOSUBblocks.
Theprogressbarcanalwaysjumpforwarddisproportionatelyasitissubjecttoquestionnairerouting
andfiltering.
Bydesign,theprogressbarneveractuallyreaches100%eventhoughroundingmaycauseitto
occasionallyhit100%onverylargequestionnaires.Therelocationpageisconsideredtobethe'100%
page'.Youcanoptionallyincludeacompletedprogressbaronthispage.
UsingJavaScriptinanOdintemplateFile
Ifrequired,youmayuseJavaScriptinsideanodintemplatefiletoallowrunningcustomscriptsona
question.However,youarestronglyadvisedtoalwaysplaceinlineJavaScriptbetweencommenttags:
UsinginlineJavaScriptinanodintemplatefile
<!-...[Your JavaScript scripts]
-->
SinceodintemplatefilesareprocessedbytheNIPOHTMLGenerator,thebrackets<and>areinterpreted
asstartandendofHTMLtags.Sincethesebracketsmayalsobeusedinexpressions,theymaybreakupthe
templateprocessing.PlacinginlineJavaScriptincommentsavoidsthis.
OdintemplateExample
Exampleodintemplatefile
<HTML>
<HEAD><TITLE>NIPO Software Webdemo</TITLE>
</HEAD>
<BODY bgColor=#eeeeee leftMargin=5 topMargin=5 MARGINHEIGHT="5" MARGINWIDTH="5">
<CENTER>
<img src="http://www.web-survey.com/TemplateRelatedFiles/NipoSoftware.gif">
<TABLE cellSpacing=0 cellPadding=1 width=772 bgColor=#999999 border=0>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=10 width=772 bgColor=#ffffff border=0>
<TR>
<TD>
<DIV ID="ODINSERVLETINSERTIONPOINT"></DIV>
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</CENTER>
</BODY>
</HTML>
WorkingwithCSS
ThefollowingparagraphscovertheCSSselectorsembeddedintheHTMLcodegeneratedbytheNIPO
HTMLGenerator.Itisessentialtoknowandunderstandthefunctionalityoftheseselectorsinordertogain
fullcontroloverthelayout.
Page376
TheNIPOHTMLGenerator
CSSFileDetails
Thefirstelementinsertedinthetemplateisa<table>tagthatholdsalltheothergeneratedelements.
Thistablegetstheclassselectorsodinfontnumber-0andodinquestionwhileitalsogetsanidwith
valueodinquestion-{question-identifier}wherequestion-identifierconsistsof
surveyname,subsurveyidentifierifapplicable,andquestionnumber.This<table>alsohasthe
followingattributesset;widthwithvalue100%,cellpadding,withvalue0andcellspacingwith
value0.
Insidethis<table>isa<tbody>withoutanyselectors,insidewhicharetwo<tr>tags,alsowithout
selectors.Thesetwo<tr>tagsbothcontainasingle<td>tag.These<td>tagsbothhaveadir
attributewithavalueofeitherrtlorltrandanalignattributewithavalueofeitherrightorleft.
Bothofthesevaluesaredeterminedbythecurrentsurvey'sBiDisetting;rtlandrightforbi
directionalreadingandltrandleftinallothercases.
Thefirstofthementioned<td>tagscontaina<div>tagwithaclassselector
odinpreviousquestion.This<div>isemptyunlessa*NCLSwasusedprevioustothecurrent
question,inwhichcaseitcontainsarepresentationofthepreviousscreen(s).
Thesecond<td>tagcontainsa<form>tag,insidewhichisa<div>tagwithaclassselector
odincurrentquesionandwhichcontainsthegeneratedHTMLforthecurrentquestion.
Finallythe<form>tagcontainsanother<div>tagwithaclassselectorodinbuttonpanelcontaining
an<input>tagforeachbuttonthatneedstobedisplayedonscreen.
CharacteristicsforQuestionElements
Ofeachquestionelementthefollowingcharacteristicscanbemanipulated:
1. Fonttype
2. Fontsize
3. Color
4. Horizontalposition(leftaligned,centered,rightaligned)
5. Verticalposition(top,centered,bottom)
6. Buttonsize
7. Buttonskin
8. Buttonbehavior
9. Buttonlocation
Inordertoreachsuchanelaboratedcontroloverthelayoutofthequestion,alargenumberofselectorsare
placedwithinthegeneratedHTMLcode.Theseselectorscanbedividedintothreegroups:
1. Defaultselectors.Theseareattributesgeneratedwitheachquestion.
2. Questionselectors.Theseareattributesrelatedtothetypeofquestion.
3. Independentselectors.Theseareattributesthathavenolinktothetypeofquestionorareseparate
fromthedefaultattributes.
Inaddition,asequenceofattributeselectorsiscreated.Forexample,acodequestionwith4optionswill
resultin:
Page377
TheNIPOHTMLGenerator
1. Anattributeforeachindividualoption(1to4)
2. Ageneralattributeforalloptions
3. Anattributeforallevenoptions(2and4)
4. Anattributeforalloddoptions(1and3)
5. Anattributeforthefirstoption(1)
6. Anattributeforthelastoption(4)
Alltheseplacedselectorsallowyoutoalterthelayoutofthequestionineverypossibleway.Ifyouliketo
changecolorperoption,addanindentoranyotherrequirement,itcanbecreatedwiththeseselectors.
Note:
TheNIPOHTMLGeneratordoesnotsyntaxchecktheattributesandpropertiesinCSSfiles.
QuestionElementsExample
ExampleNIPOCAWIPreview
Intheexampleabovethefollowingquestionelementsmaybestyled:
Page378
TheNIPOHTMLGenerator
Thequestiontext"WhatbrandofVCR'sdoyouhave"and"Note:morethenonebrandallowed"
Answercode1Philips
Answercode2Sony
Answercode3Blaupunkt
OddanswercodesPhilips,Blaupunkt,Hitachi,JVCandOther
EvenanswercodesSony,Akai,Samsung,MitshubishiandDon'tknow
Answercode*OPENOther
Answercode*NMULDon'tknow
All*MULTIanswercodes(notincludingDon'tknow)
Theentirebuttonpanel
TheBackbutton.
TheOKbutton
TheClearbutton
CSSforQuestions
Everyquestion,independentofthetype,ismadeupofa<table>insidethe<div
class="odincurrentquestion">tag.Thistabledoesn'thaveanyselectors,butdoeshavethe
followingattributes;widthwithvalue100%,cellpaddingwithvalue0andcellspacingwithvalue
0.
Insidethis<table>tagisa<tbody>tagwithoutanyselectorsorattributes.Thecontentsofthis
<tbody>tagdependsentirelyonthedefinitionofthecurrentquestioninsidethequestionnaire,buthere
areafewpointers;everylineoftext(identifiedbyaCR/LFinthescript)isrepresentedbya<tr>tag
withoutanyselectors.Individualpiecesoftextonthesamelinecanbeseparatedbytabs.Foreachtab
characterencounteredanewtablecellisdefinedusinga<td>tagwithaclassselectordependingonthe
currenttabsettingsandtabcount.
DefaultQuestionSelectors
Defaultquestionselectors
Selector
Function
odinquestion
GeneralAttributegeneratedwitheveryNIPOODINquestion
odinpreviousquestions
GeneralAttributegeneratedwitheveryNIPOODINquestion.Onlyappliesif*NCLSis
usedintheNIPOODINscript
odincurrentquestion
GeneralAttributegeneratedwitheveryNIPOODINquestion
*CONJQuestionSelectors(NIPOConjointMeasurement)
TheNIPOConjointMeasurementwillasktomakecomparisonsbetweenprofiles.Thefirstquestionsinthe
NIPOConjointMeasurementaretreatedasnormal*CODESquestions.
Page379
TheNIPOHTMLGenerator
*CONJquestionselectors
Selector
Function
odinconjointcomparerow
Genericattributeforallfeaturerowsinaconjointcomparison.
odinconjointcomparerowN
AttributeforrowNinaconjointcomparison.
odinconjointprofilecompare
odinconjointprofileitem
odinconjointprofileitem-A
odinconjointprofileitem-AN
odinconjointprofileitem-B
odinconjointprofileitem-BN
odinconjointprofileitem-buffer
odinconjointprofileitem-last
odinconjointprofileitemN
odinconjointprogress
odinconjointprogress-N
odinconjointprogress-NofM
odinconjointprogress-percent-N
Page380
TheNIPOHTMLGenerator
*CODESQuestionSelectors
*CODESquestionselectors
Selector
Function
odincodelist
Herethecodeliststarts.Thisselectorappliestoeverythingwithinthetable
odincodelist-column
Generalattributeofallcodelistcolumns
odincodelist-columnN
SpecificcodelistcolumnattributewhereNisthecolumnrangingfrom0to
numberofcolumns1.
odincodelist-single
Generalattributeofallcodelistsofsinglecodedquestions
odincodelist-multi
Generalattributeofallcodelistsofmultiplecodedquestions
odincodelist-maxN
odincategory
Generalattributeofallcodecategories
odincategoryN
SpecificcodecategoryattributewhereNisthecodecategoryrangingfrom0to
numberofcategories1.
odincategory-even
Specificevencodecategoryattribute
odincategory-odd
Specificoddcodecategoryattribute
odincategory-single
Specificsingleanswercodecategoryattribute
odincategory-multi
Specificmultipleanswercodecategoryattribute
odincategory-open
Specificopencodecategoryattribute
odincategorypicture
Picturethatisbehindacodecategoryina*CODESquestion.
odincategory-checked
Codecategorythatischeckedbyinterviewer/respondent
odincategory-placementN
Ordernumberinwhichthecodecategoryisplaced(whenusing*RANDOM,
*INV,*ROT)
odincategory-placement-even
Evenordernumbersinwhichthecodecategoryisplaced(whenusing
*RANDOM,*INV,*ROT)
odincategory-placement-odd
Oddordernumbersinwhichthecategoryisplaced(whenusing*RANDOM,
*INV,*ROT)
odincategorycheckcolumn
Generalattributeofthecheckboxorradiobuttonofacodecategory
odincategorychecksingle
Attributeofthecheckboxorradiobuttonofacodecategoryinasinglecoded
question
odincategorycheckmulti
Attributeofthecheckboxorradiobuttonofacodecategoryinamultiple
codedquestion
odincategorylabel
Generalattributeofthetextlabelofthecategorycode
odincategorylabelN
Specificattributeofthetextlabelofthecategorycode,whereNisthecategory
codenumber,anumberrangingfrom1tothenumberofcodes
odincategorylabelcolumn
Attributeofthecolumncontainingallcategorycodelabels
*CODES*MULTIQuestionSelectors
*CODES*MULTIquestionselectors
Selector
Function
odincategory-nmul
Attributethatappliestothe*NMULcodecategory
odincategory-multi
Attributethatappliestoall*MULTIcodecategories
Page381
TheNIPOHTMLGenerator
*NUMBERQuestionSelectors
*NUMBERquestionselectors
Selector
Function
odinquestioninput
Attributeforthe<TD>containingthenumericinputfield
odinnumeric
Attributeforthenumericinputfield
*ALPHAQuestionSelectors
*ALPHAquestionselectors
Selector
Function
odinquestioninput
Attributeforthe<TD>containingthealphanumericinputfield
odinalpha
Attributeforthealphanumericinputfield
*LISTquestionselectors
Whena*LISTisusedincombinationwith*NUMBERor*ALPHA,thebrowserpresentseitheratype
aheadfunction(forlonglists)oradropdownbox(25orlessitemsinthelist).
A*LISTincombinationwitha*CODESquestionusestheregular*CodesQuestionSelectors(onpage
381).
*LISTquestionselectors
Selector
Function
odinlist
Attributesappliestotheentirelist
odinlist-dropdown
Attributeappearonlywithlistsmallerthen20items
odinlistX
AttributereferstolistofXitems
odinquestioninput
Attributeforthe<TD>containingthelist
odinlistitem
Genericattributeforalllistitems
odinlistitemN
AttributeforitemNfromthelist,whereNisavaluebetween0and
thenumberofitems1.
Page382
TheNIPOHTMLGenerator
*FORM*NUMBERand*FORM*ALPHAQuestionSelectors
*FORM*NUMBERand*FORM*ALPHAquestionselectors
Selector
Function
odinformelement
Attributeappliestoeveryformelementwithinthetable
odinnumeric
Attributeforallnumericfields
odinalpha
Attributeforallalphanumericinputfields
odinquestioninput
Attributeforthe<TD>containingtheinputfield
odinnumericN
AttributeforthespecificinputfieldN,whereNisavaluebetween0andthenumberof
fields1.
odinalphaN
AttributeforthespecificalphanumericinputfieldN,whereNisavaluebetween0and
thenumberoffields1.
*SCALEquestionselectors
*SCALEquestionselectors
Selector
Function
odinscale
Attributethatappliestoeveryelementwithinthetable
odinscaleholder
Attributethatappliestothetablewhereeveryselectableelementwithinthescale
questionisplaced
odinscalecell
Attributethatappliestoeveryscalecell
odinscalecell-odd
Attributethatappliestoeveryoddscalecell
odinscalecell-even
Attributethatappliestoeveryevenscalecell
odinscalecell-min
Attributethatappliestothescalecellwiththelowestvalue
odinscalecellN
AttributethatappliestoscalecellN
odinscalecell-less
Attributethatappliestotheeveryscalecellwithavaluelessthatthemiddle
odinscalecell-middle
Attributethatappliestotheeveryscalecellwiththemiddlevalue
odinscalecell-more
Attributethatappliestotheeveryscalecellwithavaluemorethatthemiddle
odinscalecell-max
Attributethatappliestothescalecellwiththehighestvalue
odinscaleitem
Attributeforthecontainerinwhichthescaleisplaced
scaletext-textleft
Attributefortheleftendtextofthescaleasdefinedwith*SCALE
scaletext-textright
Attributefortherightendtextofthescaleasdefinedwith*SCALE
odinscale-normal
Attributeforascalecellwhenenabledbutnotselected
odinscale-disabled
Attributeforascalecellthatisdisabled
odinscale-selected
Attributeforascalecellthatisselected(marked)
Page383
TheNIPOHTMLGenerator
*FORM*SCALEQuestionSelectors
*FORM*SCALEquestionselectors
Page384
Selector
Function
odinscale
Attributethatappliestoeveryelementwithinthetable
odinformelement
Attributethatappliestoeveryformelementwithinthe
table
odinformelement-N
AttributethatappliestoformelementN
odinscaleholder
Thisattributeappliestothetablewhereeveryselectable
elementwithinthescalequestionisplaced
odinscalecell
Attributethatappliestoeveryscalecell
odinscalecell-odd
Attributethatappliestoeveryoddscalecell
odinscalecell-even
Attributethatappliestoeveryevenscalecell
odinscalecell-min
Attributethatappliestothescalecellwiththelowest
value
odinscalecellN
AttributethatappliestoscalecellN
odinscalecell-less
Attributethatappliestotheeveryscalecellwithavalue
lessthatthemiddle
odinscalecell-middle
Attributethatappliestotheeveryscalecellwiththe
middlevalue
odinscalecell-more
Attributethatappliestotheeveryscalecellwithavalue
morethatthemiddle
odinscalecell-max
Attributethatappliestothescalecellwiththehighest
value
odinformelement-above-placementN
Attributethatappliestotheheadingjustaboveascalecell
(notethatheadingsmaybeplacedbetween*SCALE
rows).
odinformelement-above-placement-even
Attributethatappliestotheeveryevenheadingjust
aboveascalecell.
odinformelement-above-placement-odd
Attributethatappliestotheeveryoddheadingjustabove
ascalecell.
odinformelement-above-N-M
AttributethatappliestocolumnNofrowM.
odinformelementbefore
Genericattributethatappliestothetextjustinfrontof
the*SCALE.
odinformelementbefore-N
AttributethatappliestothetextjustinfrontoftheNth
code.
odinformelementbefore-even
Attributethatappliestothetextjustinfrontofeven
codes.
odinformelementbefore-odd
Attributethatappliestothetextjustinfrontofodd
codes.
odinformelementbefore-placement-N
AttributethatappliestothetextjustinfrontoftheNth
*SCALEonthescreen.
odinformelementbefore-placement-even
Attributethatappliestothetextjustinfrontofevery
even*SCALEonthescreen.
odinformelementbefore-placement-odd
Attributethatappliestothetextjustinfrontofeveryodd
*SCALEonthescreen.
odinformelementbefore-placement-first
Attributethatappliestothetextjustinfrontofthefirst
*SCALEonthescreen.
odinformelementplacement-first
Attributethatappliestothefirst*SCALEonthescreen.
TheNIPOHTMLGenerator
odinformelement-above-placement-first
Attributethatappliestothefirstcode.
odinscale-normal
odinformelementbefore-placement-last
Attributethatappliestothelast*SCALEonthescreen.
odinformelementplacement-last
Attributethatappliestothelastcode.
*FORM*GRIDQuestionSelectors
*FORM*GRIDquestionselectors
Selector
Function
odingrid
Completegridofa*FORM*GRIDquestion
odingridcell
Cellwithinagridofa*FORM*GRIDquestion
odingridcolumn
Columnwithinagridofa*FORM*GRIDquestion
odingridcolumnholder
Holderofacolumnwithinagridofa*FORM*GRIDquestion
odingridcolumnspace
Spacebetweencolumnswithinagridofa*FORM*GRIDquestion
odingridrowspacing
Spacebetweenrowswithinagridofa*FORM*GRIDquestion
CSSforButtons
Buttonsthatneedtobedisplayedonscreentaketheformofan<input>tagwiththeclassselectors
odinbuttonandodinbutton{mnemonic}where{mnemonic}isreplacedbyauniqueidentifierfor
thebutton(seethetablebelow).These<input>tagsallareoftypesubmit.
Thevalueattributecontainsthecaptionofthebutton,whiletheidattributecontains
odinbutton{menmonic}.Ifthedefinedcaptioncontainsanampersand(&),thecharacterfollowingthe
firstampersandisconvertedtoformthevalueoftheaccesskeyattributetocreateakeyboardshortcut.
Page385
TheNIPOHTMLGenerator
Buttonsselectors
Selector
Desciption
odinbuttonpanel
Locationofthebuttons
odinbutton
Genericinputforeverybutton.
odinbuttonOK
OKButton
odinbuttonBACK
BackButton
odinbuttonSTART
StartButton
odinbuttonCLOSE
CloseButton
odinbuttonHELP
HelpButton
odinbuttonDONTKNOW
Don'tknowButton(in*QUESTION*SCALE*NON)
odinbuttonNEXT
NextButton(in*HELPpages)
odinbuttonPREV
PreviousButton(in*HELPpages)
odinbuttonSUSPEND
SuspendButton
odinbuttonQBUT0
Firstquestiondefinedbutton(*BUT)
odinbuttonQBUT1
Secondquestiondefinedbutton(onsamequestion)
odinbuttonQBUT2
Thirdquestiondefinedbutton(onsamequestion)
odinbuttonQBUT3
Fourthquestiondefinedbutton(onsamequestion)
odinbuttonQBUT4
Fifthquestiondefinedbutton(onsamequestion)
CSSforTabs
Tabsettingscanbedefinedbyusingthe*TABcommandintheNIPOODINscript.Thevaluesofthetab
commandareusedtodeterminethewidthsofthecellsinthequestiontext.Forexample,*TAB 50,60
resultinatablewiththreepredefinedcolumns,wherethefirstcolumnwouldhaveawidthof50%,the
secondwouldhaveawidthof10%(6050)andthelastcolumnswouldbetheremaindercolumnandhavea
widthof40%(10060).
Giventhetabsettingsabovethefirstpieceoftext(uptothefirsttabcharacter)onalinewouldbeplaced
ina<td>tagwithaclassselectorodintabstop-0.Thenextpieceoftextwouldbeplacedinanother
<td>tagwithaclassselectorodintabstop-1.Theremainingpiecesoftextwouldbeplacedinthelast
cell,whichwouldhaveaselectorodintabstop-2.
The<style>taggeneratedinsidethe<head>tagwouldlooklikethis:
NIPOODINscript:*TAB
*TAB 50,60
Exampletaggeneratedinsidethe<Head>tagusing*TAB
<colgroup>
<col width="50.0%">
<col width="10.0%">
<col width="40.0%">
</colgroup>
Ifmoretabsareencounteredonalineanadditional<table>tagisgeneratedinsidethecurrent<td>
tag.Insidethis<table>willbea<tbody>and<tr>tag,allwithoutanyselectors.Insidethis<tr>tag
willbeanadditional<td>tagwithaclassselectorodintabstop-extra,forwhichnoinlinestyle
sheetdefinitionwillbegenerated.
Page386
TheNIPOHTMLGenerator
Tabstopselectors
Selector
Description
odintabstop-extra
Extratabstopsforthosedefinedwiththe*TABcommand.
odintabstop-last
Lasttabstop.
odintabstop-N
TabstopnumberN.Tabstartnumberingatzero.
odintabstop-nonzero
Alltabstops,excludingthefirst(numberzero).
CSSforFonts
Everytimea*FONTcommandisencounteredinthescript,thecurrentfontischangedanda<span>tag
isaddedwithaclassselectorodinfontnumber-{fontnumber}where{fontnumber}isreplaced
withanincrementalnumberstartingwithzero.Ifnofontsaredefinedinthescriptalltextwillbeenclosed
witha<span class="odinfontnumber-0">tag,toindicatethedefaultfont.
Optionallyaninlinestylesheetdefinitioncanbegeneratedtoreflectthefontdefinitionfromthe
questionnairescript.
Note:
Changingthefont,fontsizeandfonttypecanbedonebyusing*FONTcommandintheNIPOODIN
questionnaire.When*FONTisusedinthequestionnaire,donotchangethefontviaCSS.
NIPOODINscriptcommand*FONT
*FONT 0 "10 Arial"
*FONT 1 "10 Arial BOLD"
*FONT 9 "10 Arial Italic"
Exampleinlinestylesheetdefinition
<style>
<!-.odinfontnumber-0 {
color: #000000;
background-color: #FFFFFF;
font-size: 10pt;
font-family: "Arial";
}
.odinfontnumber-1 {
color: #000000;
background-color: #FFFFFF;
font-weight: bold;
font-size: 10pt;
font-family: "Arial";
}
.odinfontnumber-2 {
color: #000000;
background-color: #FFFFFF;
font-style: italic;
font-size: 10pt;
font-family: "Arial";
}-->
</style>
Ifyouchoosenottogeneratetheinlinestylesheetdefinition,thisprovidesanexcellentmeanstoapplya
commonhousestyleacrossquestionnaires.
Page387
TheNIPOHTMLGenerator
Fontselectors
Selector
Description
odinfontnumber-N
fontfortextthatischangedbythe*FONTcommandintheNIPOODINquestionnaire
whereNisthefontnumber.
CSSforProgressBar
Fortheprogressbarsomeadditionaltagsareautomaticallygeneratedwithinthe<head>tagofthe
template.Theseconsistofasingle<style>tagwithvaluesforfourindividualCSSclassselectors.These
selectorsareodinprogress-completed,odinprogress-remaining,odinprogresscompleted-verticalandodinprogress-remaining-vertical.
Thefollowing(partial)exampleshowsthecompletetagasitwouldbegeneratedforaninterviewthathas
beencompletedfor41%.
ExampleoftagwithODINProgressbar
<style>
<!-.odinprogress-completed {
width: 41%;
}
.odinprogress-remaining {
width: 59%;
}
.odinprogress-completed-vertical {
height: 41%;
}
.odinprogress-remaining-vertical {
height: 59%;
}
-->
</style>
AndthiswouldapplytothefollowingHTMLcode:
ResultinHTMLcode
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td height="20" align="center">
<table border="1" cellspacing="0"
cellpadding="0"
width="25%" bgcolor="#c88a00">
<tr>
<td style="height: 20px;" class="odinprogress-completed"
bgcolor="#666666"></td>
<td class="odinprogress-remaining" bgcolor="#f1b200"></td>
</tr>
</table>
</td>
</tr>
</table>
Theselectorsodinprogress-completedandodinprogress-remainingaremeanttobeused
forhorizontalprogressindicators,whileodinprogress-completed-verticaland
odinprogress-remaining-verticalaremeantforverticalindicators.
Page388
TheNIPOHTMLGenerator
Progressbarselectors
Selector
Description
odinprogress-completed
partoftheprogressbarthatshowshowmuchisalreadycompleted
odinprogress-completed-vertical
partoftheprogressbarthatshowshowmuchisalreadycompleted
(vertical)
odinprogress-remaining
partoftheprogressbarthatshowshowmuchisremaining
odinprogress-remaining-vertical
partoftheprogressbarthatshowshowmuchisremaining(vertical)
SelectorsinNIPOCAWI(AlphabeticalOverview)
TherearesubtledifferencesbetweennamesofselectorsinNIPOCAWIandNIPOCAPI.Tofindoutthe
nameofaparticularselector,runapreviewintheNIPOODINDeveloperandrightclickonthepage,then
selectViewsource.Theitemortextyouwanttochangecanbefoundwithalltheselectorsthatyoucan
useintheCSS.
Page389
TheNIPOHTMLGenerator
SelectorsinNIPOCAWI(alphabeticoverview)
Page390
Selector
Appliesto
HTMLtag
checkcolumn
General
labelcolumn
General
markcolumn
General
odinalpha
*FORM
Input
odinalpha
*NUMBERor
*ALPHA
Input
odinalphaN
*FORM
Input
odinbutton
Buttons
Input
odinbuttonBACK
Buttons
Input
odinbuttonCLOSE
Buttons
Input
odinbuttonDONTKNOW
Buttons
Input
odinbuttonHELP
Buttons
Input
odinbuttonNEXT
Buttons
Input
odinbuttonOK
Buttons
Input
odinbuttonpanel
Buttons
Div
odinbuttonPREV
Buttons
Input
odinbuttonQBUT0
Buttons
Input
odinbuttonQBUT1
Buttons
Input
odinbuttonQBUT2
Buttons
Input
odinbuttonQBUT3
Buttons
Input
odinbuttonQBUT4
Buttons
Input
odinbuttonSTART
Buttons
Input
odinbuttonSUSPEND
Buttons
Input
odincategory
*CODES
TD
odincategory-checked
*CODES
TD
odincategorycheckcolumn
*CODES
TD
odincategorycheckmulti
*CODES
TD
odincategory-even
*CODES
TD
odincategorylabel
*CODES
TD
odincategorylabelN
*CODES
TD
odincategorymarkcolumn
*CODES
TD
odincategory-multi
*CODES *MULTI TD
odincategoryN
*CODES
odincategory-nmul
*CODES *MULTI TD
odincategory-odd
*CODES
TD
odincategory-open
*CODES
TD
odincategorypicture
Table
odincategorypicture
*CODES
Table
odincategory-single
*CODES
TD
TD
odincodelist
*CODES
TD
odincodelistN
*CODES
TD
TheNIPOHTMLGenerator
Selector
Appliesto
HTMLtag
checkcolumn
General
odincodelist-column
*CODES
TD
odincodelist-columnN
*CODES
TD
odincodelist-maxN
*CODES
TD
odincodelist-multi
*CODES
TD
odincodelist-single
*CODES
TD
odinconjointcomparerow
Conjoint
measurement
TD
odinconjointcomparerowN
Conjoint
measurement
TD
odinconjointprofilecompare
Conjoint
measurement
TD
odinconjointprofileitem
Conjoint
measurement
TD
odinconjointprofileitem-A
Conjoint
measurement
TD
odinconjointprofileitem-AN
Conjoint
measurement
TD
odinconjointprofileitem-B
Conjoint
measurement
TD
odinconjointprofileitem-BN
Conjoint
measurement
TD
odinconjointprofileitem-buffer
Conjoint
measurement
TD
odinconjointprofileitem-last
Conjoint
measurement
TD
odinconjointprofileitemN
Conjoint
measurement
TD
odinconjointprogress
Conjoint
measurement
TD
odinconjointprogress-N
Conjoint
measurement
TD
odinconjointprogress-NofM
Conjoint
measurement
TD
odinconjointprogress-percent-N
Conjoint
measurement
TD
odincurrentquestion
General
Div
odinerroritem
General
odinerroritemX
General
odinerrormessage
General
odinerrormessage:active
General
odinerrormessage:hover
General
odinerrormessage:link
General
odinerrormessage:visited
General
odinerrormessages
General
odinfontnumber-X
*FONT
odinformelement
*FORM
Table
Page391
TheNIPOHTMLGenerator
Page392
Selector
Appliesto
HTMLtag
checkcolumn
General
odinformelementbefore
*FORM
Table
odinformelementholder
*FORM
Table
odinformelementplacement-odd
*FORM
TD
odinformelementplacement-even
*FORM
TD
odingrid
*FORM *GRID
TD
odingridcell
*FORM *GRID
TD
odingridcolumn
*FORM *GRID
TD
odingridcolumncontrolled
*CONTROL
odingridcolumnholder
*FORM *GRID
TD
odingridcolumnspace
*FORM *GRID
TD
odingridrowspacing
*FORM *GRID
TD
odinline-left
*LINE
TD
odinline-right
*LINE
TD
odinlist
*LIST
Select
odinlist-dropdown
*LIST
Select
odinlistitem
*LIST
Option
odinlistitemN
*LIST
Option
odinlist-list
*LIST
Select
odinlistX
*LIST
odinmultimedia
*PLAY
odinnumeric
*FORM
Input
odinnumeric
*NUMBERor
*ALPHA
Input
odinnumericN
*FORM
Input
odinopencategory
*CODES *OPEN
Input
odinopenquestion
*OPEN
Input
odinpicture
*PICT
odinpreviousquestions
general
Div
odinprogress-completed
progressbar
odinprogress-completed -vertical
progressbar
odinprogress-remaining
progressbar
odinprogress-remaining -vertical
progressbar
odinquestion
general
Table
odinquestionidlabel
general
Input
odinquestioninput
*ALPHA
Input
odinquestioninput
*FORM
Input
odinquestioninput
*LIST
Input
odinquestioninput
*NUMBER
Input
odinscale
*FORM *SCALE
TD
odinscalecell
*FORM *SCALE
TD
odinscalecell-even
*FORM *SCALE
TD
odinscalecell-less
*FORM *SCALE
TD
TheNIPOHTMLGenerator
Selector
Appliesto
HTMLtag
checkcolumn
General
odinscalecell-max
*FORM *SCALE
TD
odinscalecell-middle
*FORM *SCALE
TD
odinscalecell-min
*FORM *SCALE
TD
odinscalecell-more
*FORM *SCALE
TD
odinscalecellN
*FORM *SCALE
TD
odinscalecell-odd
*FORM *SCALE
TD
odinscalecellspacing
*FORM *SCALE
odinscaleholder
*FORM *SCALE
Table
odinscaleitem
*SCALE
*CONJ
scaletext-textleft
*SCALE
*CONJ
scaletext-textright
*SCALE
*CONJ
odinscale-normal
*SCALE
*CONJ
odinscale-disabled
*SCALE
*CONJ
odinscale-selected
*SCALE
*CONJ
odintabstop-extra
*TAB
odintabstop-last
*TAB
odintabstop-N
*TAB
odintabstop-nonzero
*TAB
testsurvey
general
Page393
TheNIPOHTMLGenerator
SelectorsinNIPOCAPI(AlphabeticOverview)
SelectorsinNIPOCAPI(alphabeticaloverview)
Page394
Section
Selector
Alpha
odinalpha
AppointmentScreen
AppointmentCaption
AppointmentScreen
AppointmentDate
AppointmentScreen
AppointmentDescription
AppointmentScreen
AppointmentDialog
AppointmentScreen
AppointmentTime
AppointmentScreen
AppointmentTitle
AppointmentScreen
AppointmentWith
AppointmentScreen
DateSection
AppointmentScreen
TimeSection
AppointmentScreen
WithSection
Category
Category
odincategory
Category
odincategory-{0}", this.category_.Code));
Category
odincategoryCheckColumn
Category
odincategorycolumnholder
Category
odincategorycolumnholder-{0}", ((i % 2) == 0 ?
"even" "odd"));
Category
odincategorycolumnholder-{0}", i);
Category
odincategoryheading
Category
odincategoryhidden
Category
odincategoryLabelColumn
Category
odincategorylist
Category
odincategorylist
Category
odincategoryMarkColumn
Category
odincategoryNumberColumn
Category
odincategoryNumberColumn-hidden
Category
odincategory-selected
Category
odincategorystopauto
Category
opencode
Category
single
Column
Column
odintabstop-extra
Column
odintabstop-extra-{0}", this.currentColumnCount_
- this.tabCount_ - 1);
Column
odintabstop-last
Column
odintabstop-nonzero
Font
FormElementsAlpha
odinalpha
FormElementsAlpha
odinalphaelement
FormElementsAlpha
odinerrorelement
TheNIPOHTMLGenerator
Section
Selector
FormElementsAlpha
odinformelement
FormElementsAlpha
odinformelement{0}", id
FormElementsAlpha
odinhiddenalpha
FormElementsAlpha
odinhiddenalphaelement
FormElementsAlpha
odinhiddenformelement
FormElementsAlpha
odinhiddenformelement{0}" + id
FormElementsGrid
FormElementsGrid
FormElementsGrid
odinformelement
FormElementsGrid
odinformelement{0}", id
FormElementsGrid
odingridcell
FormElementsGrid
odingridcell-{0}-{1}-{2}", this.id_,
this.currentColumn_ + 1, this.currentRow
FormElementsGrid
odingridelement-{0}", this.id
FormElementsGrid
odingridpadding
FormElementsGrid
odinhiddenformelement
FormElementsGrid
odinhiddenformelement{0}", id
FormElementsNumeric
odinerrorelement
FormElementsNumeric
odinformelement
FormElementsNumeric
odinformelement{0}", id
FormElementsNumeric
odinhiddenformelement
FormElementsNumeric
odinhiddenformelement", id
FormElementsNumeric
odinhiddennumeric
FormElementsNumeric
odinhiddennumericelement
FormElementsNumeric
odinnumeric
FormElementsNumeric
odinnumericelement
FormElementsScale
FormElementsScale
odinerrorelement-horizontal
FormElementsScale
odinerrorelement-left
FormElementsScale
odinerrorelement-top
FormElementsScale
odinerrorelement-vertical
FormElementsScale
odinscalecell
FormElementsScale
odinscalecell-{0}-{1}", this.id_,
++this.currentItem
FormElementsScale
odinscaleelement-{0}", this.id
FormElementsScale
odinscalepadding
Hidden
odinerrorelement
Hidden
odinformelementabovehidden
Hidden
odinformelementabovehidden-{0}
Hidden
odinformelementabovehidden-even
Hidden
odinformelementabovehidden-odd
Hidden
odinformelementabovehidden-placement-first
Hidden
odinformelementabovehidden-placement-last
Hidden
odinformelementabove-placement-{0}
Page395
TheNIPOHTMLGenerator
Page396
Section
Selector
Hidden
odinformelementabove-placement-even
Hidden
odinformelementabove-placement-odd
Hidden
odinformelementbeforehidden
Hidden
odinformelementbeforehidden-{0}
Hidden
odinformelementbeforehidden-even
Hidden
odinformelementbeforehidden-odd
Hidden
odinformelementbeforehidden-placement-{0}
Hidden
odinformelementbeforehidden-placement-even
Hidden
odinformelementbeforehidden-placement-first
Hidden
odinformelementbeforehidden-placement-odd
Hidden
odinformelementbefore-placement-last
Hidden
odinformelementholder
Hidden
odinformelementholder{0}", id);
Hidden
odinhiddenformelementholder
Hidden
odinhiddenformelementholder{0}", id);
Hidden
odinformhiddenrow
IntroScreen
odinintro-appointmenttime
IntroScreen
odinintro-appointmentwith
IntroScreen
odinintro-displayfield
IntroScreen
odinintro-displayfield-{0}", i);
IntroScreen
odinintro-phonenumber
IntroScreen
odinintro-phonenumber-{0}", i);
IntroScreen
odinintro-screeninfo
Line
odinline-button-left
Line
odinline-button-left-disabled
Line
odinline-button-right
Line
odinline-button-right-disabled
Line
odinline-ruler
Line
odinline-ruler-fill
Line
odinline-ruler-fillholder
List
List
odinlist
List
odinlistelement
List
odinlistelement
List
odinlistelement
List
odinlistelement-{0}", numberOfItems
List
odinlistelement-{0}", numberOfItems
List
odinlistelement-{0}", numberOfItems
List
odinlistelement-disabled
List
odinlistelement-dropdown
List
odinlistelement-dropdown-{0}", numberOfItems
List
odinlistelement-list
List
odinlistelement-list-{0}", numberOfItems
TheNIPOHTMLGenerator
Section
Selector
List
odinlistitem
List
odinlistitem-{0}", ((this.absoluteIndex_ % 2) ==
0) ? "event" | "odd
List
odinlistitem-nocon
List
odinlistitem-text
Multimedia
Numeric
odinnumeric
Open
odinopen
Picture
QuestionId
odinquestionid
Scale
odinscaleCell
Scale
scale
Scale
scaledisabled
Scale
scalesel
Scale
scaleseldisabled
Text
lefttext
Text
lefttext-holder
Text
righttext
Text
righttext-holder
CSSExamples
TheexamplecontainedwithinthissectionusesasimpleNIPOODINquestionnaire.
Page397
TheNIPOHTMLGenerator
ExampleNIPOODINQuestionnaireUsingStylesheets
ExampleNIPOODINQuestionnaireusingstylesheets
Page398
TheNIPOHTMLGenerator
*QUESTION 1 *CODES L1
Gender:
(without CSS)
1: Male
2: Female
3: Unknown
*QUESTION 10 *CODES L1
Gender:
(with CSS to change color/style of third category)
1: Male
2: Female
3: Unknown
*QUESTION 2 *CODES L10 *MULTI
Closed question with semi-open answers
(without CSS)
1: Brand A
2: Brand B
3: Brand C
9: Other brand *OPEN
*QUESTION 20 *CODES L10 *MULTI
Closed question with semi-open answers
(with CSS to enlarge the open answer box)
1:
2:
3:
9:
Brand
Brand
Brand
Other
A
B
C
brand *OPEN
*QUESTION 3 *OPEN L1
Open question
(without CSS)
*QUESTION 30 *OPEN L1
Open question
(with CSS to enlarge the open answer box)
*TAB 40,50,60,70,80,90,100
*QUESTION 4 *FORM
FORM SCALE question
(without CSS)
Totally disagrees
Disagrees
agrees Don't know / no answer
1: Statement A
*SCALE L1 6
2: Statement B
*SCALE L1 6
3: Statement C
*SCALE L1 6
4: Long statement will be wrapped
*TAB statement *SCALE L1 6 10
10
10
10
automatically within the first column, defined by the
*QUESTION 40 *FORM
FORM SCALE question
(with CSS to center scales)
Totally disagrees
Disagrees
agrees Don't know / no answer
1: Statement A
*SCALE L1 6 10
Page399
TheNIPOHTMLGenerator
2: Statement B
*SCALE L1 6 10
3: Statement C
*SCALE L1 6 10
4: Long statement will be wrapped automatically within the first column, defined by the
*TAB statement *SCALE L1 6 10
*QUESTION 41 *FORM
FORM SCALE question
(with CSS to center scales and scale texts)
Totally disagrees
Disagrees
agrees Don't know / no answer
1: Statement A
*SCALE L1 6
2: Statement B
*SCALE L1 6
3: Statement C
*SCALE L1 6
4: Long statement will be wrapped
*TAB statement *SCALE L1 6 10
10
10
10
automatically within the first column, defined by the
*QUESTION 42 *FORM
FORM SCALE question
(with CSS to center scales and scale texts, make gray lines on even statements)
Totally disagrees
Disagrees
agrees Don't know / no answer
1: Statement A
*SCALE L1 6
2: Statement B
*SCALE L1 6
3: Statement C
*SCALE L1 6
4: Long statement will be wrapped
*TAB statement *SCALE L1 6 10
10
10
10
automatically within the first column, defined by the
*TAB 10,20,30,40,50,60,70,80,90,100
*QUESTION 62 *FORM
For each of the following statements, what is the best brand and what is the second best?
Quality of the brand
Brand is easy to use
Brand offers value for
money (i.e. cheap brand for its quality)
Packaging appeals to me
Best brand
Second best brand
Easiest brand Second easiest brand
Cheapest
brand
Second cheapest brand Brand that appeals best
Brand that appeals second best
1:Brand A
Brand B
Brand C
Brand D
Brand E
Other brand
*QUESTION 9999
*END
Note:
Tabshavebeenusedtoseparateheadingtexts.
Page400
TheNIPOHTMLGenerator
Example1:ChangeBackgroundColorofaSelectedCode
Question1withoutstylesheet
StylesheetTestcss.QTypeCodes.css:changebackgroundcolorofselectedcode
.odincategory-checked {
background-color: #D3D3D3;
}
Result:
Example2:BoxSizeforOpenAnswerCode
Question2withoutstylesheet
Page401
TheNIPOHTMLGenerator
Example|StylesheetTestcss.QNumber20.css:boxsizeforopenanswercode
.odinopencategory {
height: 80px;
width: 250px;
}
Result:
Example3:boxSizeforOpenQuestion
Question3withoutstylesheet
StylesheetTestcss.QNumber30.css:boxsizeforopenquestion
.odinopenquestion {
height: 150px;
width: 70%;
}
Page402
TheNIPOHTMLGenerator
Result:
Example4:CenterScales
Question4withoutstylesheet
StylesheetTestcss.QNumber40.csstocenterscales
.odinscalecell {
text-align: center;
}
Result:
Page403
TheNIPOHTMLGenerator
Example5:CenterTextAboveScales
StylesheetTestcss.QNumber41.css:centertextabovescales
.odinscalecell {
text-align: center;
}
.odintabstop-0 {
text-align: left;
}
.odintabstop-1 {
text-align: center;
}
.odintabstop-2 {
text-align: center;
}
.odintabstop-3 {
text-align: center;
}
.odintabstop-4 {
text-align: center;
}
.odintabstop-5 {
text-align: center;
}
Result:
Example6:ColorBackgroundforFirstandThirdStatementGray
StylesheetTestcss.QNumber42.css:colorbackgroundforfirstandthirdstatementgray
.odinscalecell {
text-align: center;
}
.odintabstop-0 {
text-align: left;
}
.odintabstop-nonzero {
text-align: center;
}
}
.odinformelementbefore-placement-odd {
background-color: #D3D3D3;
}
.odinformelementplacement-odd {
background-color: #D3D3D3;
}
Page404
TheNIPOHTMLGenerator
Note:
Inthepreviousexample6numberedodintabstop-nwerespecified,inthisexampleweused
odintabstop-nonzeroforthesameresult.
Result:
Example7:GridUsingVariousStylingOptions
StylesheetTestcss.QNumber62.css:gridusingvariousstylingoptions
.odinscalecell {
text-align: center;
}
.odintabstop-0 {
text-align: left;
}
.odingridcell {
text-align: center
}
.odingridcell-odd {
background-color: #D3D3D3;
}
.odintabstop-nonzero {
text-align: center;
font-weight: bold;
font-style: normal;
}
.odinformelement-above {
text-align: center;
font-weight: normal;
font-style: italic;
}
.odingridcell {
border: solid 1px #000000;
}
Page405
Index
*
*?89
*ABORT .................................................................................92
*ADDRESS .............................................................................93
*ALPHA(in*FORMquestion)................................................96
*ALPHA(QuestionType) .......................................................95
*ALPHAQuestionSelectors ................................................382
*APPOINT..............................................................................97
*AUTO...................................................................................98
*AUTONotSupportedinNIPOCAWI....................................24
*BACK .................................................................................102
*BMP ..................................................................................104
*BUT ...................................................................................106
*CENTRE .............................................................................108
*CENTREDoesNotProperlyCenterHeadingTexts ..............22
*CODES ...............................................................................109
*CODES*MULTIQuestionSelectors ...................................381
*CODESQuestionSelectors ................................................381
*CONJ...*ENDCONJ ...........................................................111
*CONJQuestionSelectors(NIPOConjointMeasurement) .379
*CONTROL ..........................................................................112
*COPY .................................................................................114
*COUNT ..............................................................................115
*CUT ...................................................................................116
*DATE .................................................................................117
*DELAY................................................................................118
*DTIME ...............................................................................119
*DUMMY ............................................................................120
*END ...................................................................................121
*ENDNGB ............................................................................123
*ENDST ...............................................................................124
*EXCLUDE ...........................................................................125
*FIELD .................................................................................127
*FONT(definition) ..............................................................129
*FONT(switching)...............................................................130
*FORM ................................................................................132
*FORM*GRIDQuestionSelectors ......................................385
*FORM*NUMBERand*FORM*ALPHAQuestionSelectors
.......................................................................................383
*FORM*SCALEQuestionSelectors.....................................384
*FORMAT ............................................................................135
*GOSUB ..............................................................................137
*GOTO ................................................................................139
*GRID(in*FORMquestion) ................................................141
*GROUP ..............................................................................146
*HEADING ...........................................................................149
*HELP(definition) ...............................................................151
*HELP(questionoption) .....................................................152
*IF(condition)...*ELSE.......................................................154
*IF(questionoption)...........................................................155
*INCLUDE............................................................................156
*INFO ..................................................................................158
*INIT...*END ......................................................................159
*INITblockisExecutedBeforeSuspendImage.....................24
*INSTRUC ............................................................................161
*INTRO................................................................................162
*INV ....................................................................................163
*LABEL ................................................................................165
*LANGUAGE........................................................................166
*LEFT...................................................................................170
*LINE...................................................................................171
Page407
Index
*SWILANG........................................................................... 277
*TAB ................................................................................... 279
*TABLE ................................................................................ 281
*TEXTVARS.......................................................................... 283
*USELIST ............................................................................. 284
*VAR ................................................................................... 285
*VARS ................................................................................. 287
*VCONTROL ........................................................................ 288
*WAITCR ............................................................................. 291
*WAITCRCommandDroppedforNIPOCATIandNIPOCAWI
......................................................................................... 21
*WAITPLAY ......................................................................... 292
*WRITE ............................................................................... 293
<
<<<!!>>> ........................................................................... 88
A
Aboutthismanual .................................................................. 9
AdditionalConfigurationOptions ......................................... 65
AdditionalRemarks............................................................. 339
AdobeFlashApplication ..................................................... 339
AdvancedScripting ............................................................. 295
AdvancedUseof*NEXTRECORDCommand ....................... 295
Advanceduseof*SQLADDCommand ................................ 303
AlreadyCompletedCode...................................................... 316
AnonymousSurveys.............................................................. 86
AnswerCodes ....................................................................... 68
ApplicationConfigurationOptions........................................ 57
ApplyingDesigntoaSurvey................................................ 363
Ascribe ............................................................................ 51,54
AutomaticSyntaxChangeWhenReferencingPositionsinT
files .................................................................................. 82
AutosaveOptions ................................................................. 63
B
Backslashes........................................................................... 80
BrowserUserAgent................................................................ 76
C
ChangeInterviewNumber.................................................. 316
ChangeTextinDialogInterviewwillcontinuewithnext
person........................................................................... 303
ChangesinNIPOODINDeveloper......................................... 18
ChangesinNIPOODINDeveloper5.04................................. 20
ChangesinNIPOODINDeveloper5.05................................. 19
ChangesinNIPOODINDeveloper5.06................................. 19
ChangesinNIPOODINDeveloper5.08................................. 19
ChangesinNIPOODINDeveloper5.10................................. 18
ChangesinNIPOODINDeveloper5.11................................. 18
ChangesinNIPOODINDeveloper5.11.003 .......................... 18
ChangesinNIPOODINDeveloper5.14................................. 18
ChangesinNIPOODINScriptLanguage ................................ 15
ChangesinNIPOODINScriptLanguage5.08 ........................ 16
ChangesinNIPOODINScriptLanguage5.09 ........................ 16
ChangesinNIPOODINScriptLanguage5.10 ........................ 16
ChangesinNIPOODINScriptLanguage5.11 ........................ 16
ChangesinNIPOODINScriptLanguage5.12 ........................ 16
ChangesinNIPOODINScriptLanguage5.13 ........................ 16
ChangesinNIPOODINScriptLanguage5.14 ........................ 15
ChangesinNIPOODINScriptLanguage5.15 ........................ 15
ChangesinNIPOODINScriptLanguage5.15.001 ................. 15
ChangesinNIPOODINScriptLanguage5.16 ........................ 15
ChangingCodeOptions ........................................................ 31
ChangingQuestionOptions .................................................. 28
Page408
ChannelandInitialChannelFieldinSampleTable ..............353
ChannelAwareScripting .......................................................70
ChannelAwareScriptingExample.........................................71
ChannelAwareScriptingVariablesandConstants ................71
CharacteristicsforQuestionElements ................................377
CheckOptions .......................................................................59
CheckRoutingforStratification ............................................38
ClosedAnswersFile(Ufile).................................................341
CodeLabelExportsina*FORMQuestion .............................42
CodingSystemOptions .........................................................59
CommandIndex ....................................................................87
Comment/Uncomment .......................................................38
CommonMistakesinExpressions .........................................79
ConjTxt[n]..............................................................................75
CONJTXT[n]TextArray ........................................................323
ConsequencesofChannelAwareScriptingandSwitchMode
Surveys .............................................................................72
ContactFile(Cfile)..............................................................344
ContactingNIPOSoftwareSales............................................12
ContactingtheNIPOSoftwareHelpdesk ...............................12
ContactingUs ........................................................................12
CopyingPositionsFromaTfileIsLimitedtoFieldLength ....24
CreateaNewSurvey ...........................................................316
CreateCodeNumbersBeforeCodeLabelsandFields...........39
CreateQuestionnairesinUnicode.........................................39
CSSExamples.......................................................................397
CSSFileDetails ....................................................................377
CSSforButtons....................................................................385
CSSforFonts .......................................................................387
CSSforProgressBar ............................................................388
CSSforQuestions ................................................................379
CSSforTabs.........................................................................386
D
DataFields.............................................................................67
DataFiles.............................................................................341
DatapositionsinNIPOConjointMeasurement...................331
Databasetables...................................................................346
DefaultandCustomTemplatesandStylesheets .................364
DefaultQuestionSelectors..................................................379
DefiningTextScreens..........................................................322
DeleteDfile ........................................................................317
DummyDataOptions............................................................61
DuplicateInterviewNumbersinTfilesNoLongerContacted
.........................................................................................25
DutchCommandSetDropped...............................................20
Dutchcommandsetnolongersupported.............................21
E
Erroron*FORMQuestionLanguageSectionMismatch........37
ErrorWhenReadingNextRecord .......................................301
ErrorsMessagesUsing*SQLADD ........................................314
ErrorsUsing*SQLADD.........................................................313
Example1
ChangeBackgroundColorofaSelectedCode..............401
Example2
BoxSizeforOpenAnswerCode ...................................401
Example3
boxSizeforOpenQuestion..........................................402
Example4
CenterScales................................................................403
Example5
CenterTextAboveScales .............................................404
Example6
ColorBackgroundforFirstandThirdStatementGray..404
Example7
Index
GridUsingVariousStylingOptions...............................405
ExampleNIPOConjointMeasurement ...............................325
ExampleNIPOConjointScript .............................................327
ExampleNIPOODINQuestionnaireUsingStylesheets........398
ExampleofGeneratedHTMLPage .....................................368
ExampleofUsingOdintemplateFiles .................................365
ExampleofUsingStylesheets .............................................367
ExampleUsingAdobeFlashinNIPOCAWIandNIPOCAPI .337
ExamplesofExpressions .......................................................78
ExportXFile ..........................................................................54
Exportsof*FORMQuestionswithCodes..............................44
ExpressionOperators............................................................77
Expressions ...........................................................................76
F
FileStructuresandDatabaseTables ...................................341
FilesandTables.....................................................................10
FilesOptions .........................................................................64
Filters ..................................................................................322
FiltersinNIPOConjointMeasurement ...............................323
FindFunctionwithRegularExpressionsandMarkAll...........39
FormFieldReferences ..........................................................79
ForwardSlashesNoLongerSeparateCodeLabels................23
G
General .................................................................................10
GoingBackOver*SQLADDRemovesAddedRecords .........315
GridComposer ......................................................................32
H
HidedialogInterviewWillContinuewithNextPerson .....302
HowdoesfilteringinNIPOConjointMeasurementactually
work? .............................................................................324
I
Images/Sound .......................................................................53
Imports .................................................................................54
InsertingQuestionDefinitions ..............................................28
InstructionModeorTestModeMayCreateNewRecords.315
InterruptingtheTelephonicContact...................................302
InterviewProgressEstimation ............................................375
InterviewSystemOptions .....................................................58
Introduction ............................................................................9
J
JavaScriptSupported .............................................................75
JumptoQuestionResponseCode ......................................317
L
Language...............................................................................76
LimitationsofNIPOConjointMeasurement .......................334
LimitationsontheUseofFilterswithinNIPOConjoint
Measurement ................................................................324
LineSize ................................................................................27
ListingofCommandsperSystem ........................................357
ListingofSystemVariablesperChannel .............................361
M
MenuOptions .......................................................................38
MigratingSurveysFromNIPOODIN4.08..............................20
Morethan5Contacts .........................................................316
MultibyteCharacterFields(MBCSFieldsSetting)...............334
N
NamingConventions ............................................................ 67
NfieldCode......................................................................53,55
NIPOCAPIClientAddressTable.......................................... 352
NIPOConjointMeasurement ............................................. 318
NIPODiana ........................................................................... 40
NIPOODINDeveloperConfiguration.................................... 56
NIPOODINQuestionnaireUsingAdobeFlash .................... 338
NIPOODINTemplateUsingAdobeFlash............................ 338
NonAnonymousSurveys ..................................................... 86
O
ObsoleteCommandNames.................................................. 21
ODINOptions ....................................................................... 57
OdintemplateExample....................................................... 376
OmnibusorSubSampleTable(SeparateTableforEach
Survey)........................................................................... 351
Omnibussurvey,usingSampletablesandOmnibustables.. 85
OpenallQuestionnairesinOmnibusSurvey ........................ 38
Openanswersfile(Ofile)................................................... 342
OpenDataFiles .................................................................... 38
OpenQuestionnaireFile....................................................... 27
OrderCodeNumberExportinNIPODiana........................... 43
OrderofCheckingOdintemplateFiles................................ 364
OrderofCheckingStylesheets............................................ 366
OverviewofCommandsandSystemVariables .................. 357
OverviewofResponseCodes ............................................. 353
OverviewofsupportedcommandsinNIPOConjoint
Measurement ................................................................ 320
P
PopupMenuOptions .......................................................... 27
PreTel ................................................................................... 76
PrintOptions ........................................................................ 62
Q
Quantime ............................................................................. 51
QuestionElementsExample............................................... 378
QuestionPreviewinNIPOCATI/CAWI/CAPI ..................... 27
QuestionTypes................................................................... 367
Questions ............................................................................. 67
QuestionsandAnswers ........................................................ 10
R
RandomCodeNumberExportinNIPODiana....................... 43
ReferenceToaFeature ...................................................... 322
RemoveCommands ............................................................. 38
RepeatNumber .................................................................... 72
RestartingtheInterviewDoesNotRemoveNewRecords . 315
RestartingtheInterviewSetsNewRecordstoSystemError
...................................................................................... 302
ResultsWindowKeepsPreviousSyntaxChecks ................... 37
ReturnCodesfor*NEXTRECORD........................................ 300
ReusingSampleRecordsfromTfileThatWereAlready
Completed ..................................................................... 315
S
Sampletable(SeparateTableforEachSurvey) .................. 346
Scenario
*ALPHAforMBCSStorage........................................... 335
Scenario1
StoreNewRecordinTable(NottheSampleTable)..... 303
UsingSystemdefinedInterviewNumbers .................. 295
Scenario2
Page409
Index
InterviewNumbersBasedonHouseholdInterview
Number................................................................. 297
StoreNewRecordinCurrentSampleTable................. 305
Scenario3
StoreNewRecordinAnotherSampleTable ................ 306
UsingaPresetInactiveInterviewNumberforEach
Respondent........................................................... 299
Scenario4
StoreSeveralRecordsinaTable(VariableswithArrays)
.............................................................................. 308
Scenario5
AddNewRespondentsinNIPOCAWISurveyAndEmail
ThemDirectly........................................................ 310
Scenariosfor*SQLADD ....................................................... 303
ScenariosUsing*NEXTRECORD .......................................... 295
ScriptCommandTemplate ................................................... 75
SelectingAnotherCharacterSetinthe*FONTCommand .... 24
SelectorsinNIPOCAPI(AlphabeticOverview).................... 394
SelectorsinNIPOCAWI(AlphabeticalOverview) ............... 389
SelfModifyingScriptNoLongerSupported.......................... 22
SettingtheCodePage......................................................... 318
ShowVariables ..................................................................... 38
SoftwareCompatibility ........................................................... 9
SpecificationofResponseCodes ........................................ 355
SPSSPortable........................................................................ 47
SPSSPC ................................................................................. 49
StartEditorinWorkbookMode............................................ 39
StartmoduleNIPOConjointMeasurement ........................ 321
StatusfieldinSampleTable................................................ 353
StatusFieldinSurveyTable ................................................ 353
Status,ResponseCodes,TerminateCodes ......................... 353
Stopwatch[1] ........................................................................ 74
Stopwatch[1]andStopwatch[2]NotSupportedinNIPOCAPI
andNIPOCAWI ................................................................ 25
Stopwatch[2] ........................................................................ 74
Stopwatch[3] ........................................................................ 74
StoringdatainUnicode ...................................................... 342
Stratification ....................................................................... 315
Stratification(Quota) ............................................................ 80
Stratificationfile(Sfile) ...................................................... 346
Stratificationfile(Sfile)forNIPOCAWI................................ 86
Stratificationfile(Sfile)whenusingSampletable ............... 83
Stratificationfiles(Sfiles)forOmnibusSurveys(UsingTfiles)
......................................................................................... 84
SupportedHTMLstandards ................................................ 363
SurveysstartedfromaURL................................................... 86
SyntaxcheckforOmnibusSurveys ....................................... 37
SyntaxChecking .................................................................... 35
SyntaxHighlighting ............................................................... 57
SystemErrors...................................................................... 316
SystemVariables................................................................... 70
SystemVariables09............................................................. 73
T
TelephoneFile(Tfile) ......................................................... 343
TemplateTags..................................................................... 374
TemplatedRelatedFilesFolderConfiguration........................ 56
TerminateCodes................................................................. 355
Terminology.......................................................................... 10
TestRunQuestionnaireinNIPOCATI/CAPI/CAWI ............ 37
TheNIPOHTMLGenerator ................................................. 363
TheNIPOODINDeveloper .................................................... 40
TheScriptEditorWindow ..................................................... 27
Timers ................................................................................... 74
TimersExample..................................................................... 74
ToggleDisplayingTabsandSpaces ....................................... 27
TripleSXML.......................................................................... 45
TypographicalConventions................................................... 11
Page410
U
UndeclaredVariablesareCreatedwhenFixinga
Questionnaire...................................................................37
Using*NEXTRECORDinCombinationwithStratification ....302
UsingCodeNumbersina*FORMQuestion ..........................25
UsingCustomOmnibusTableFields ...................................351
UsingCustomSampleTableFields ......................................349
UsingJavaScriptinanOdintemplateFile ............................376
UsingSystemFieldsintheOmnibusTable ..........................351
UsingSystemFieldsintheSampleTable.............................350
UsingtheNIPOODINDeveloper ...........................................27
UsingtheNIPOODINScriptLanguage...................................67
V
Variables ...............................................................................68
VersionHistory......................................................................15
VerticalLineQuestionNotSupportedinNIPOCAPIandNIPO
CAWI.................................................................................21
W
WarningMessagefor*CODESQuestionWithoutCode
Categories ........................................................................37
WarningMessageforUnfixedQuestions ..............................37
WorkingwithCSS ................................................................376
WorkingWithTemplates.....................................................374
Y
YourFeedbackonthisGuide.................................................13
NIPO Software
Grote Bickersstraat 74
1013 KS Amsterdam
The Netherlands
http://www.niposoftware.com
info@niposoftware.com