How to apply rotation of Sections

Discussions about CSEntry
Post Reply
rameshprd
Posts: 5
Joined: November 22nd, 2019, 1:00 am

How to apply rotation of Sections

Post by rameshprd »

Hi All,

I have a query regarding how to apply rotation of questionnaire flow for selected segment of respondent. For example we have a study. Respondent segment has been defined in 5 segments segment 1, segment 2, segment 3, segment 4, segment 5. According we have a set of questionnaire with 5 sections, section 1, section 2, section 3, section 4, section 5. All segments to be asked to all respondent but the rotation of sections order are based on respondent segment. For example :
Segment 1 - respondents need to ask the in question with order in section 1, section 2, section 3, section 4, section 5 in sequence
Segment 2 - respondents need to ask the in question with order in section 2, section 3, section 4, section 5, section 1 in sequence
Segment 3 - respondents need to ask the in question with order in section 3, section 4, section 5, section 1, section 2 in sequence
Segment 4 - respondents need to ask the in question with order in section 4, section 5, section 1, section 2, section 3 in sequence
Segment 5 - respondents need to ask the in question with order in section 5, section 1, section 2, section 3, section 4 in sequence

section 1 has 35 questions
section 2 has 30 questions
section 3 has 24 questions
section 4 has 20 questions
section 5 has 39 questions

How can we apply this type of rotation ? because we can not revisit skipped variable in CSPro.


Regards,
Ramesh Pradhan
Gregory Martin
Posts: 1792
Joined: December 5th, 2011, 11:27 pm
Location: Washington, DC

Re: How to apply rotation of Sections

Post by Gregory Martin »

This is not very straightforward in CSPro. You can see one approach here:

viewtopic.php?t=411

Basically you have to setup control fields and then move (not skip or reenter) between sections. Move can go forwards or backwards.

If you can work with your data split into external dictionaries, what I would probably do is use external forms to collect this data. Each section would have a corresponding dictionary/form, and then in logic you would use the enter command to control the order that the forms get asked:

https://www.csprousers.org/help/CSPro/e ... ement.html
// for segment 1
enter SECTION1_FF;
enter SECTION2_FF;
enter SECTION3_FF;
enter SECTION4_FF;
enter SECTION5_FF;

// for segment 2
enter SECTION2_FF;
enter SECTION3_FF;
enter SECTION4_FF;
enter SECTION5_FF;
enter SECTION1_FF;

// ...
Note that with enter, you have to control the loading and saving of data using loadcase/writecase.
rameshprd
Posts: 5
Joined: November 22nd, 2019, 1:00 am

Re: How to apply rotation of Sections

Post by rameshprd »

Hi Gregory Martin,

Thank you so much for prompt response and support.

I will try to do same that you suggested. Will get back to you If I feel any confusions on same.

Thank you Very much again

Best Regards,
Ramesh
rameshprd
Posts: 5
Joined: November 22nd, 2019, 1:00 am

Re: How to apply rotation of Sections

Post by rameshprd »

Hi Gregory Martin,

Good Evening !

I have made external forms for each sections respectively Q1_ff, Q2_ff, Q3_ff, Q4_ff, Q5_ff. And entered ordered form sequence accordingly segments. It looks good in data entry stage. But unfortunately I could not get saved data for these respective forms data file. So I have a problem how to save data into respective forms data file ?

For your reference I have attached here zip file for the entire application. I humbly would like to request your valuable time to review my app and support me to resolve the same.

With Best Regards,
Ramesh Pradhan
MediaSurvey.zip
(59.86 KiB) Downloaded 179 times
Gregory Martin
Posts: 1792
Joined: December 5th, 2011, 11:27 pm
Location: Washington, DC

Re: How to apply rotation of Sections

Post by Gregory Martin »

Before you enter the data on the external forms, load it from the data file (in case it has already been entered). Then, after entering the data, save the data.
PROC Q5

    // load the case for Q1 (if modifying), or clear any data (if the case hasn't been added yet)
   
if not loadcase(Q1_DICT, MEDIASURVEY_DICT.JOBNO, MEDIASURVEY_DICT.DID, MEDIASURVEY_DICT.RID) then
        clear
(Q1_DICT);
   
endif;

    // enter...

    // save the data
   
writecase(Q1_DICT);
rameshprd
Posts: 5
Joined: November 22nd, 2019, 1:00 am

Re: How to apply rotation of Sections

Post by rameshprd »

Hi Gregory Martin,

Thank you so much for support, as I have done it but unfortunately only last data has been saved in respective data file for section. It shows only single record (last time taken interview/recorded).

Another requirement I am seeking is rather enter id part in sections I need to capture ID part same as main section and save in respective data files for sections.

I have attached here the updated zip file containing same, I humbly request for review and support me.

Thank you once again.

With Best Regards,
Ramesh Pradhan
Attachments
MediaSurvey.zip
(126.03 KiB) Downloaded 177 times
rameshprd
Posts: 5
Joined: November 22nd, 2019, 1:00 am

Re: How to apply rotation of Sections

Post by rameshprd »

Hi Gregory Martin,

I have saved id data into respective external forms before entering data. Now It seems good and working fine.

My requirement is resolved with :
Main data has been saved in mediasurvey.dat file
other respective form/dictionary data have saved in respective data files.

Thank you so much for your support.

With Best Regards,
Ramesh Pradhan
Post Reply