Any resources on how to prepare discrete choice experiment dataset for analysis?

My data looks like following. It has six blocks each having four cards with three options (option A, option B and no purchase). One respondent had to answer four cards for best and worst. So, each respondent had eight responses. Options A and B are attributed to varying levels of four variables with varying levels. I couldn't post whole data set because of the variable limit of dataex.

[CODE]
* Example generated by -dataex-. To install: ssc install dataex
clear

Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte(dce_block card_1_selected card_2_selected card_3_selected card_4_selected card_1_worst card_2_worst card_3_worst card_4_worst)
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
4 . 3 . . . 2 . .
4 . 1 . . . 2 . .
4 . 1 . . . 3 . .
4 . 3 . . . 2 . .
4 . 3 . . . 2 . .
1 . . . 1 . . . 3
1 . . . 1 . . . 3
1 . . . 1 . . . 3
1 . . . 1 . . . 3
1 . . . 1 . . . 3
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
3 1 . 1 . 3 . 3 .
3 1 . 1 . 3 . 3 .
3 1 . 1 . 3 . 3 .
3 1 . 1 . 3 . 3 .
3 1 . 1 . 3 . 3 .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
4 . 3 . . . 2 . .
4 . 3 . . . 2 . .
4 . 1 . . . 3 . .
4 . 1 . . . 2 . .
4 . 1 . . . 2 . .
1 . . . 2 . . . 1
1 . . . 2 . . . 3
1 . . . 2 . . . 3
1 . . . 2 . . . 3
1 . . . 2 . . . 3
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
3 1 . 1 . 2 . 3 .
3 1 . 1 . 2 . 3 .
3 1 . 1 . 3 . 3 .
3 1 . 1 . 2 . 3 .
3 1 . 1 . 2 . 3 .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
4 . 1 . . . 3 . .
4 . 1 . . . 2 . .
4 . 3 . . . 2 . .
4 . 3 . . . 2 . .
4 . 3 . . . 2 . .
1 . . . 2 . . . 3
1 . . . 2 . . . 1
1 . . . 2 . . . 3
1 . . . 2 . . . 3
1 . . . 2 . . . 3
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
2 . . . . . . . .
3 1 . 2 . 2 . 3 .
3 1 . 2 . 2 . 3 .
3 1 . 1 . 3 . 3 .
3 1 . 1 . 3 . 3 .
3 1 . 1 . 3 . 3 .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
6 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
5 . . . . . . . .
4 . 1 . . . 2 . .
4 . 3 . . . 2 . .
4 . 3 . . . 2 . .
4 . 3 . . . 2 . .
4 . 1 . . . 3 . .
end
label values dce_block dce_block
label def dce_block 1 "white", modify
label def dce_block 2 "yellow", modify
label def dce_block 3 "blue", modify
label def dce_block 4 "green", modify
label def dce_block 5 "red", modify
label def dce_block 6 "brown", modify
label values card_1_selected dce_answer
label values card_2_selected dce_answer
label values card_3_selected dce_answer
label values card_4_selected dce_answer
label values card_1_worst dce_answer
label values card_2_worst dce_answer
label values card_3_worst dce_answer
label values card_4_worst dce_answer
label def dce_answer 1 "option_a", modify
label def dce_answer 3 "no_purchase", modify
label def dce_answer 2 "option_b", modify