Hi,
so you have 20 groups with different difficulty levels.
Each group contains 1 to four (or more) questions.
From each difficulty level you would like to select one question randomly.
Correct?
The easiest way:
First create 20 random numbers in questions of type equation. Like:
Question "Rand1": question text "{if(!is_empty(Rand1),Rand1,rand(1,[number_of_questions_in_df1]))}"
Question "Rand2": question text "{if(!is_empty(Rand2),Rand2,rand(1,[number_of_questions_in_df2]))}"
In each of your groups you select the displayed question by relevance equation
"df1Q1": relevance equation: Rand1==1
"df1Q2": relevance equation: Rand1==2
...
"df9Q3": relevance equation: Rand9=

...
Because of this {if(!is_empty(rr),rr,rand(1,x))} the random number is only calculated if it is empty. If not, it keeps its value.
Joffm