Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Split records into Multiple csv files using a Threshold percentage

926836Jul 12 2012 — edited Jul 13 2012
Hi Gurus,

I have a requirement to split the data into two csv file from a table using a threshold value(in Percentage) .

Assume that If my source select query of interface fetches 2000 records , I will provide a threshold value like 20%.
I need to generate a csv1 with 400 records(20% of 2000) and the rest of the records into another csv2.

For implementing this I am trying to use the following process.

1) Create a procedure with the select query to get the count of records.
Total Records count: select count(1) from source_table <Joins> <Lookups> <Conditions>;

2) Calculate the Record count to first CSV using the threshold_value.
CSV1_Count=Total records count /threshold_value

3) Create a view that fetches the CSV1_Count(400) records for CSV1 as follows.

Create view CSV1_view as select Col1,Col2,Col3 from source_table <Joins> <Lookups> <Conditions>
Where rownum<=CSV1_Count;

4) Generate CSV1 file using View 'CSV1_View'

5) Generate CSV2 File using the Interface with same select statement (with columns ) to generate a CSV.

select Col1,Col2,Col3 from source_table ST <Joins> <Lookups> <Conditions>
Left outer join (Select Col1 from CSV1_View ) CS on CS.Col1=ST.Col1 where CS.Col1 is null;

Which gives the Total records minus the CS1_View records.


The above process seems a bit complex and very simple . If any changes in my Interface I also need to change the procedure (counts the no:of records).
Please provide your comments and feedback about this and looking for your inputs for any new simple approach or fine tune the above approach.

Thanks,
Arjun
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 10 2012
Added on Jul 12 2012
3 comments
1,080 views