Skip to Main Content

APEX

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!

Get sum per week within date range then chart it

Alexandra RobinAug 6 2014 — edited Aug 7 2014

We do audits on our production lines any random day.

Operators enter sample size and number of defects per production line (JAR 1 or 2 or 3, etc.) and defect_display (J013 Ripped Lable) into a tabular form.

For reporting purposes, quality manager enters a date range into start_date and end_date fields and wants to see the calculation of DPMU (defects per million) per week within that range and display like this as the month progresses:

Week EndingDPMU
04-JULY-2014256142
11-JULY-2014152465
18-JULY-2014
25-JULY-2014


These work for date range entered, but I need to split date range by week.

TOTAL COUNT

SELECT COUNT(A.AUDIT_INFO_ID)

FROM QA_AUDIT_INFO A, QA_AUDIT_DTL B

WHERE A.AUDIT_INFO_ID = B.AUDIT_INFO_ID  AND

  A.AUDIT_DATE BETWEEN :P920_START_DT AND :P920_END_DT

  AND UPPER(A.PRDN_LINE) = UPPER(:P920_PRDN_LINE)

  AND UPPER(A.AUDIT_TYPE) = UPPER(:P920_AUDIT_TYPE)


TOTAL DEFECTS

  SELECT COUNT(A.AUDIT_INFO_ID)

  FROM QA_AUDIT_INFO A, QA_AUDIT_DTL B

  WHERE A.AUDIT_INFO_ID = B.AUDIT_INFO_ID  AND

  A.AUDIT_DATE BETWEEN :P920_START_DT AND :P920_END_DT

  AND UPPER(B.DEFECT_DISPLAY) = UPPER(:P920_DEFECT_DISPLAY)

  AND UPPER(A.PRDN_LINE) = UPPER(:P920_PRDN_LINE)

TOTAL SAMPLE SIZE

  SELECT SUM(B.SAMPLE_SZ)

  FROM QA_AUDIT_INFO A, QA_AUDIT_DTL B

  WHERE A.AUDIT_INFO_ID = B.AUDIT_INFO_ID  AND

  A.AUDIT_DATE BETWEEN :P920_START_DT AND :P920_END_DT

  AND UPPER(B.DEFECT_DISPLAY) = UPPER(:P920_DEFECT_DISPLAY)

  AND UPPER(A.PRDN_LINE) = UPPER(:P920_PRDN_LINE)

AND UPPER(A.AUDIT_TYPE) = UPPER(:P920_AUDIT_TYPE)

  DPMU

SELECT ROUND(:P920_EC_TOTAL_DEFECTS/:P920_TOTAL_SAMPLE_SZ*C.DEFECT_VALUE*1000000*:P920_EC_TOTAL_DEFECTS/:P920_TC_TOTAL_COUNT,0)

FROM QA_AUDIT_INFO A, QA_AUDIT_DTL B, QA_DEFECT_CODES C

WHERE A.AUDIT_INFO_ID = B.AUDIT_INFO_ID  AND

A.AUDIT_DATE BETWEEN :P920_START_DT AND :P920_END_DT

AND UPPER(B.DEFECT_DISPLAY) = UPPER(:P920_DEFECT_DISPLAY)

AND UPPER(A.PRDN_LINE) = UPPER(:P920_PRDN_LINE)

Then I'll need to chart it per defect_display like this for all defects within the date range, something like this:

SELECT NULL LINK,

DEFECT_DISPLAY LABEL,

DPMU VALUE

FROM QA_GET_DPMU

WHERE GET_DPMU_ID = :P920_GET_DPMU_ID

ORDER BY DEFECT_DISPLAY

Thanks in advance,

Alex

Application Express 4.2.2.00.11

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 4 2014
Added on Aug 6 2014
2 comments
1,682 views