Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
We value your feedback – take our 5-minute QlikView modernization survey
cancel
Showing results for 
Search instead for 
Did you mean: 
sibideepak
Creator II
Creator II

Generate Random Values

Hi all ,

I want to generate some random values between 20 to 50 for each ID in my table.

Example:

S.No     CustID     Value

1          101               22

2          102               36

3          101               22

4          105               29   

5          108               45

6          102               36   

If is it possible .. how to do it ?

Thanks in advance

1 Solution

Accepted Solutions
jagan
Luminary Alumni
Luminary Alumni

Or

Try like this

Data:

LOAD *

INLINE [

    S.No, CustID

    1, 101

    2, 102

    3, 101

    4, 105

    5, 108

    6, 102

];

Temp:

LOAD Distinct

CustID

RESIDENT Data;

LEFT JOIN(Data)

LOAD

*,

Floor(Rand() * 30 + 20) AS Value

RESIDENT Temp;

DROP TABLE Temp;

Regards,

Jagan.

View solution in original post

6 Replies
rnt
Employee
Employee

LOAD *,

     Floor(Rand()*30) + 20 As Value;

LOAD * INLINE [

    S.No, CustID

    1, 101

    2, 102

    3, 101

    4, 105

    5, 108

    6, 102

];

sibideepak
Creator II
Creator II
Author

Thanks Ralf,

But again have a look at description and example where each CustID have same value all time ..dont change every time ..i.e) for 101 value should always be 22 and for 102 it is 36.

jagan
Luminary Alumni
Luminary Alumni

Hi,

Try like this

Data:

LOAD *, AutoNumber(CustID) + 20 As Value

INLINE [

    S.No, CustID

    1, 101

    2, 102

    3, 101

    4, 105

    5, 108

    6, 102

];

Hope this helps you.

Regards,

Jagan.

jagan
Luminary Alumni
Luminary Alumni

Or

Try like this

Data:

LOAD *

INLINE [

    S.No, CustID

    1, 101

    2, 102

    3, 101

    4, 105

    5, 108

    6, 102

];

Temp:

LOAD Distinct

CustID

RESIDENT Data;

LEFT JOIN(Data)

LOAD

*,

Floor(Rand() * 30 + 20) AS Value

RESIDENT Temp;

DROP TABLE Temp;

Regards,

Jagan.

rnt
Employee
Employee

Sorry, missed that point with the CustID. Then you need to load a distinct CustID table and join like Jagan's second example.

sibideepak
Creator II
Creator II
Author

Thanks for your answer !! Hope it'll work for my scenario