How to find from a source which has 10,000 records, find the
average between 500th to 600th record?
Answers were Sorted based on User's Feedback
Answer / guest
In the sql override, add a column for rownum which
generates the sequence numbers. Pass them into a filter
transformation to filter the records between 500 and 600.
And do the required aggregation through Aggregator
Transformation.
Through SQL :
select avg(sal) from (select id,name,sal,rownum r from
table_name )
where r between 500 and 600;
Hope this works..... if not please let me know
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / sudhar
Your answer is correct for the flat files. But the RElation
query you have given won't give any records.
the Query should like this
select avg(sal) from
(select emp_id, sal, rownum rnum from (
select emp_id,sal from emp order by sal desc) )where rnum
between 500 and 600
Might be this Query can be simplified with Rank option in
Oracle.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / krishna
first u take the source,if it is flat file or relational
table then using exp t/r create one variable port.the port
like v.
increment the v value for every record .
after u write the condition in filter t/r v>=500 and v<=600
After use agg t/r and select the group by port as sal and
write the agg function avg(sal).After give the output that
port to target table
if it is relational table then use direct query in sql over
ride in source qualifier itself like
SELECT * FROM <TABLE NAME> WHERE ROWNUM>=500 AND
ROWNUM<=600
| Is This Answer Correct ? | 3 Yes | 2 No |
What is hash partition?
How can you generate reports in informatica?
Can we run session without using workflows?
how i will stop my workflow after 10 errors
what is the size of ur database(like oracle)
What are session parameters ? How do you set them?
Kimball and Inmon methodologies?
when load type is selected as bulk or normal in session level ?let me know the internal process and give me an example?
we have 30 wf with 3 batches means 1batch=10 wf 2 batch=10-20 wf 3batch=20-30wf through unix First you have to complete batch ofter second batch have to run how can you do in unix?
HOW CAN I SEND HALF OF THE RECORDS TO ONE TARGET AND REMAINING TO OTHER TARGET?
How do you migrate data from one environment to another?
major difference between normal loading and bulk loading?