RndInd Random Type (individual distribution)

Action

Declares a random variable of type RndInd. With each access, such a variable contains a random value whose type is either string or integer, depending on the syntax of your declaration. All possible values of the random variable along with their probabilities/weights must be declared. You cannot mix integer and string values.

注: Not only probalities which must sum up to 1.0 are allowed as parameters. Also weights can be used; but they are internally also used as probabilities."

Sytax

RndInd( s1=p1, ..., sn=pn ): string;
RndInd( u1=p1, ..., un=pn ): number;

Return value

  • string or

  • number

Parameter Description
s1 First random value (string)
u1 First random value (number)
p1 Probability/weight of the first random value (float)
sn nth random value (string)
un nth random value (number)
pn

Probability/weight of the nth random value (float)

Condition: p i = 1;

Example

dclrand
  rMaritalStat : RndInd("single" =0.4, "married"=0.3,
                        "divorced"=0.2, "widowed"=0.1);
  rMark : RndInd(1=0.1, 2=0.2, 3=0.3, 4=0.2, 5=0.2);
  ... 

dclsql
  InsPerson:
    INSERT INTO person (name, maritalstatus)
    VALUES (:rName, :rMaritalStat);
  InsExam:
    INSERT INTO exam (name, mark)
    VALUES (:rName, :rMark);

The random variable rMaritalStat is used in a SQL command to generate random values for the database field marital status. The probabilities/weights of the values for marital status are: 40% "single", 30% "married", 20% "divorced", and 10% "widowed". The random variable rMark is used in a SQL command to generate random values for the database field mark. The probabilities/weights of the values for mark are: 10% 1, 20% 2, 30% 3, 20% 4 and 20% 5.

Sample scripts

OraArrayFetch.bdf, OraSample.bdf, DBApi01.bdf