Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
MK_QSL
MVP
MVP

Random Data

Can someone post a script to generate random sales data in qlikview...

What i need is

Customer Name,

Invoice Date

Invoice Value

Invoice Number.....etc

1 Solution

Accepted Solutions
swuehl
MVP
MVP

Just replace the factor for RAND() function with the number of days in your interval:

Date(makedate(2012,1,1)+floor(RAND()*(makedate(2013,12,31)-makedate(2012,1,1)+1))) as InvoiceDate,

View solution in original post

7 Replies
IAMDV
Luminary Alumni
Luminary Alumni

Hi Manish,

You can make up the data using QlikView functions like Rand(), Autogenerate and other Date functions. Something like this...

LOAD

Floor(Rand() * 10000) AS [Invoice Value]

AutoGenerate 10;


You can add whatever you need for [Customer Name]. Or you can also check this website where you can find loads of free data.


http://www.infochimps.com/tags/sales


Cheers,

DV


www.QlikShare.com

Not applicable

Use Shortcut key Ctrl +Q in Script Editor.... Random Load code will be generated...and then modify it as required...

Thanks,

Selva

swuehl
MVP
MVP

You can use the RAND() function to generate random values:

LOAD

'Customer'&Ceil(RAND()*100) as CustomerName,

Date(makedate(2012)+floor(RAND()*(2*365+1))) as InvoiceDate,

round(RAND()*1000+50,10) as InvoiceValue,

recno() as InvoiceNo

autogenerate 1000;

MK_QSL
MVP
MVP
Author

Thanks for your reply.

Can you specify below

floor(RAND()*(2*365+1)))

Is there any speciallogic of 2*365+1?

Edit : also what if I need dates between 01/01/2012 to today?

swuehl
MVP
MVP

No, no special logic. It just creates values in the range of 2 years including a leap year (to add upon start date 2012 Jan 1st).

MK_QSL
MVP
MVP
Author

What if I need to create random dates between two specific dates?

swuehl
MVP
MVP

Just replace the factor for RAND() function with the number of days in your interval:

Date(makedate(2012,1,1)+floor(RAND()*(makedate(2013,12,31)-makedate(2012,1,1)+1))) as InvoiceDate,