Household Survey Question

Please login to reply  Page: « < 1 of 1 > »
17 Aug 2010 - 02:05726
Household Survey Question

Hi~all

Household survey is representative of one person will answer this question,
the remaining members do have some way to skip that question? Suggestions are appreciated.



17 Aug 2010 - 15:48727
Please explain

Hi

I am afraid that your question does not make sense to me. Please explain, then I will try to answer.

Cheers

Fred



30 Aug 2010 - 08:20735
Household Survey Question

Hi~ all

I'm currently doing a survey and I'm looking for some help related on household question.

Here are situation.

1. One interviewer will have a list with hole family list with one laptop.
2. The interviewer asked each famlily members with survey.
3. There are one question about who knows famliy fiance situation most. (So s/he will ask about one whole section for financial questions.)
4. So except a member of family who knows most well about their finacial situation, will skip the finalcial section.

Is there any way to solve this problem?

What I need to know is how to skip the secton for rest of familly members and get answers from only one respodent's answers for the section.

Thank you.



30 Aug 2010 - 12:37736
Household Survey Question
Quote oversound:
Hi~ all

I'm currently doing a survey and I'm looking for some help related on household question.

Here are situation.

1. One interviewer will have a list with whole family list with one laptop.
2. The interviewer asked each famlily members with survey.
3. There are one question about who knows famliy finance situation most. (So s/he will ask about one whole section for financial questions.)
4. So except a member of family who knows most well about their finacial situation, will skip the finalcial section.

Is there any way to solve this problem?

What I need to know is how to skip the secton for rest of familly members and get answers from only one respodent's answers for the section.

Thank you.



30 Aug 2010 - 14:51737
Sample datamodel for you

Hi there

I have prepared a sample datamodel that attempts to do what you have asked.

The most important thing to do is to group your questions into blocks. Once you have done that you can use Array and Table definitions to make the survey work for you.

For most surveys you would start by asking some basic demographic questions about each person in the household (this is called the household roster). This part is best done in a table. To make it possible to manage the table my questionnaire starts by asking how many persons live in the household. Once you know that you can control the active rows in the table. Each row of the table consists of a Block of demographic questions.

At the end of the household roster I have added a question that asks which of the household members is best to answer the income question. The answers to this question are made up of the names of the persons identified in the household roster.

The person survey questions are also placed into a block. To enable each person to receive the questions, that block is then set up as an array. To make the person part of the survey easier to manage I have used the Parallel setting to make the person questions appear as tabs in the questionnaire. This will enable the interviewer to go to whichever person she likes. To make the tabs more relevant for the household I have prepared an Auxfield array called aTabHeading[x] which will contain the names of each person. The person identified for the income questions will have a * appended to their name in the tab. To be able to see these headings in the tabs you will need to adjust the Datamodel Properties, and insert ^aTabHeading[1] into the heading label fields for the first parallel block and ^aTabHeading[2] for the second etc.

To enable the person questions to make use of the person names, gender etc I have added parameters to transfer this information from the household roster into the Person block.

Parameters are also used to pass in the relevant person number for the person who is to receive the income question(s). You will see that the IF logic within the Person block will then ask the income questions of the identified person.

The datamodel is included here:

{*********************************************************************
 Module   : IncomeSurvey.BLA
 Overview :

    Sample datamodel for household survey of income stuff.

    This datamodel contains a household roster which consists
    of a table of demographic questions for each person. This
    is followed by a series of questions for each person in the
    household. The latter are set up as an array. The Parallel
    block setting will show the persons as separate tabs. To see
    the person names on the tabs you will need to adjust the Datamodel
    Properties Parallel Block settings to use the labels which are 
    set up for the purpose (name: aTabHeading[1], aTabHeading[2] etc).

    This datamodel includes a question that identifies the person
    who is to receive the income questions. The person number is passed
    into the block of person questions in order to control the logic. 

 Author   : fred.wensing@softscape.net.au

 Update History:
 Vsn   dd/mm/yyyy Person Change
 ----- ---------- ------ ------
 1.001 30/08/2010 Fred   -Initial version
*********************************************************************}

DATAMODEL MySurvey "Income survey"

PRIMARY
    CaseID

{Parallel block setting - adds a tab for each person}    
PARALLEL
    Person    

{Type definitions used in the datamodel}
TYPE
    TPersons   = 1..10
    TName      = STRING[20]
    TNameArray = ARRAY[1..10] OF STRING[20]
    Tgender    = (Male, Female)
    TAge       = 0..120
    TYesNo     = (Yes (1) "Yes", No (5) "No")
    TContinue  = (Continue "Press [1] to continue")
    TIncSource = (Wages, Interest, Rent, Dividends, Other)

{Block for case identification}    
BLOCK BCaseID
  FIELDS
    Case_Number "Enter the case number (1000 to 9999)"
        / "Case number"
        : 1000..9999
ENDBLOCK    

{Block of person demographic details}
BLOCK BDemographic
  PARAMETERS
    pPersonNumber : TPersons  
  FIELDS
    Name "What is the ^aFirstNext person's name?" 
        / "Name"
        : TName 
    Gender "Is that person male or female?"
        / "Gender"
        : Tgender
    Age "How old is that person?"
        / "Age"
        : TAge               
  AUXFIELDS
    aFirstNext : STRING[20]
  RULES
    IF pPersonNumber=1 THEN
        aFirstNext := 'first'
    ELSE
        aFirstNext := 'next'
    ENDIF
    Name
    Gender
    Age        
ENDBLOCK

{Household roster - table of up to 10 persons}
TABLE BHousehold
  PARAMETERS
    pPersons : TPersons  
  FIELDS
    Demographic : ARRAY [1..10] OF BDemographic
  LOCALS
    X : INTEGER
  RULES
    FOR X:=1 TO 10 DO
        IF X<=pPersons THEN
            Demographic[X](X)  
        ENDIF
    ENDDO
ENDTABLE

{Survey questions for each person}
BLOCK BPerson
  PARAMETERS
    pNumber : TPersons
    pName : TName
    pGender : Tgender
    pIncomePsn : TPersons
  FIELDS
    Working "Does ^aName do any work in a job, business or farm?"
        / "Working"
        : TYesNo
    WorkKind "What kind of work does ^aHeShe do?"
        / "Kind"
        : STRING[50]
    Income_Source "What sources of income does this household have?"
        / "Income sources"
        :  SET OF TIncSource
    Income_Amount "What is the total annual income of this household?"
        / "Total income"
        : -999999..999999  
  AUXFIELDS
    aName : TName
    aHeShe : STRING[10]
  RULES
    {Define fill texts for the questions}
    aName := pName
    IF pGender=Male THEN
        aHeShe:='he'
    ELSEIF pGender=Female THEN
        aHeShe:='she'
    ENDIF
    {Ask the work questions}
    Working
    IF Working=Yes THEN
        WorkKind
    ENDIF
    {Only ask income questions of the person whose
     pNumber matches the pIncomePsn}
    IF pNumber=pIncomePsn THEN
        Income_Source
        Income_Amount
    ENDIF 
  LAYOUT
    BEFORE Working NEWPAGE         
ENDBLOCK

{Top level fields - control of survey}
FIELDS
    CaseID : BCaseID
    Num_Persons "How many persons live in this household?"
        / "Number"
        : TPersons
    Household : BHousehold
    HHEndPoint "Interviewer: This is the end of the household roster section"
        / "End point"
        : TContinue
    IncomePerson "Which person can answer the income questions?"
        / "Income person"
        : (Person1 "^aNameList[1]"
          ,Person2 "^aNameList[2]"
          ,Person3 "^aNameList[3]"
          ,Person4 "^aNameList[4]"
          ,Person5 "^aNameList[5]"
          ,Person6 "^aNameList[6]"
          ,Person7 "^aNameList[7]"
          ,Person8 "^aNameList[8]"
          ,Person9 "^aNameList[9]"
          ,Person10 "^aNameList[10]"
          )  
    Person : ARRAY [1..10] OF BPerson
AUXFIELDS
    aTabHeading  "Text for tab label" : ARRAY [1..10] OF STRING[40]
    aNameList    "List of person names" : TNameArray
    aIncomePsn   "Person number for income questions" : TPersons
LOCALS
    X : INTEGER
RULES
    {Number of persons in household}
    Num_Persons
    {Ask the household roster}
    Household (Num_Persons)
    {End point for household roster}
    HHEndPoint 
    {Fill the array of names for the income person question}
    FOR X:=1 TO 10 DO
        aNameList[X]:=Household.Demographic[X].Name
    ENDDO
    {ask the income person question}
    IncomePerson
    {set the income person number}
    aIncomePsn:=ORD(IncomePerson)
    {continue}
    IF HHEndPoint = Continue THEN
        {ask questions of each person}
        FOR X:=1 TO 10 DO
            IF Household.Demographic[X].Name<>EMPTY THEN
                {set the field used to put labels into the parallel tabs}
                aTabHeading[X] := Household.Demographic[X].Name
                {add a * for the person who is to receive income questions}
                IF X=aIncomePsn THEN
                    aTabHeading[X]:=aTabHeading[X]+' *'
                ENDIF    
                {ask the person questions}
                Person[X](X,Household.Demographic[X].Name,Household.Demographic[X].gender,aIncomePsn)
            ENDIF      
        ENDDO
    ENDIF
ENDMODEL 

Note that my questions all include the Description text. To make these appear on the Form Pane you will need to adjust the Mode library so that the Field Pane definition shows the Description text rather than the field Name.

I hope this helps.

Fred



Please login to reply  Page: « < 1 of 1 > »