Solved

# Choosing every Nth record to create a "random sample"

Posted on 2013-01-28
1,040 Views
Is there a way to chose every Nth record in Crystal Reports?  I need to perform an audit where I need to generate a sample population from over 22,000 records.  I would like to create a formula  that only displays every 35th record in order to create a sample size of closer to 640.  I need a sample from all parts of the records, so the Nth percentile, or Nth smallest or largest wont work.  I have done similiar things in Excel, but I am asked to do this a lot and I would like to do it in Crystal with out exporting it.  Any help would be appreciated.  I am using Crystal Reports XI.
0
Question by:josslmpd

LVL 18

Expert Comment

Better do this on the database side. Then instead of 22000 records you will download just ~600. Your report will be 35 times faster. What is your database type?
0

Author Comment

It is a SQL server database.  I was hoping to do it in crystal since I am already running a selection fromula against the data to get it to the 22000 records.
0

LVL 3

Expert Comment

Best option to do this at database level but if your requirement is at report level then you can hide or show records based on evaluation formula. Have a look at below link

http://msdn.microsoft.com/en-us/library/ms225351(v=vs.80).aspx
0

LVL 77

Assisted Solution

peter57r earned 250 total points
To suppress everything except every 35th record you just put this into the Suppress conditional format button in the Section Expert.

Recordnumber mod 35 <>0
However, if the report contains any standard  summary totals they will still include  ALL of records meeting the record selection criteria  (they will not change to reflect the reduced number of records actually displayed).  If you want totals to be correct you will have to change the way they are calculated.
0

LVL 22

Accepted Solution

Ido Millet earned 250 total points

Displaying a Random Sample
faq767-3260

If you need to randomly select and display a given number of records, or a user-specified proportion of the records, here's a simple approach:

Step 1:
Place the following formula (@Random_Number)
in the detail section:
---------------
Rnd()
---------------

Step 2:
Sort the records by @Random_Number  (ascending).

Step 3:
In the suppress attribute of the detail section enter the following expression:

3.1 If you need to display a given number of Records:
----------------------------------------
RecordNumber > {?Show_N_Records}
----------------------------------------
where {?Show_N_Records} is a parameter allowing the user to
specify the number of records to be shown.

3.2 If you need to display a given proportion of Records:
----------------------------------------
RecordNumber > ({?Show_X_Percent}/100) * Count({some_field})
----------------------------------------
where {?Show_X_Percent} is a parameter allowing the user to
specify a number between 0 and 100.

Cheers,
- Ido
0

## Featured Post

Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…