Advertisement
bani30

Query Summary Report KPI

Feb 25th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. SELECT
  2. COUNT(DISTINCT no_po) AS po
  3. --, status
  4. , COUNT(CASE WHEN status = 'Tercapai' THEN status END) AS tercapai
  5. , COUNT(CASE WHEN status = 'Tidak Tercapai' THEN status END) AS tdk_tercapai
  6. , COUNT(CASE WHEN status = 'Belum Terkirim' THEN status END) AS blm_terkirim
  7. , COUNT(status) AS total
  8. , ROUND((COUNT(CASE WHEN status = 'Tercapai' THEN status END) * 100)::NUMERIC / COUNT(status), 2) AS tercapai_persen
  9. , ROUND((COUNT(CASE WHEN status = 'Tidak Tercapai' THEN status END) * 100)::NUMERIC / COUNT(status), 2) AS tdk_tercapai_persen
  10. , ROUND((COUNT(CASE WHEN status = 'Belum Terkirim' THEN status END) * 100)::NUMERIC / COUNT(status), 2) AS blm_terkirim_persen
  11. FROM
  12. (
  13. SELECT
  14. dn.name AS "dn_note",
  15. sp.date_done AS "sj_date",
  16. rp.display_name AS "add_name",
  17. so.name AS "no_po",
  18. so.date_order AS "tgl_po",
  19. dn.tanggal AS "tgl_kirim",
  20. --dn.state,
  21. CASE
  22. WHEN
  23. DATE_PART('month', dn.tanggal::date) - DATE_PART('month', so.date_order::date) = 0
  24. AND DATE_PART('days', dn.tanggal::date) - DATE_PART('days', so.date_order::date) <= 7
  25. THEN DATE_PART('days', dn.tanggal::date) - DATE_PART('days', so.date_order::date)
  26. ELSE NULL
  27. END AS "selisih",
  28. CASE
  29. WHEN sp.date_done IS NULL THEN 'Belum Terkirim'
  30. WHEN
  31. DATE_PART('month', dn.tanggal::date) - DATE_PART('month', so.date_order::date) = 0
  32. AND DATE_PART('days', dn.tanggal::date) - DATE_PART('days', so.date_order::date) <= 7
  33. AND sp.date_done IS NOT NULL
  34. THEN 'Tercapai'
  35. ELSE 'Tidak Tercapai'
  36. END AS "status"
  37. FROM
  38. delivery_note dn
  39.  
  40. LEFT JOIN
  41. res_partner rp ON rp.id = dn.partner_id
  42. LEFT JOIN
  43. stock_picking sp on sp.note_id = dn.id
  44. LEFT JOIN
  45. order_preparation op ON op.id = dn.prepare_id
  46. LEFT JOIN
  47. sale_order so ON so.id = op.sale_id
  48.  
  49. WHERE
  50. dn.state not in ('draft','cancel')
  51. AND dn.tanggal BETWEEN '2015-01-01' AND '2015-03-31'
  52. /*AND EXTRACT(YEAR FROM dn.tanggal) = 2015
  53. AND EXTRACT(MONTH FROM dn.tanggal) = 11
  54. AND EXTRACT(YEAR FROM so.date_order) = 2015
  55. AND EXTRACT(MONTH FROM so.date_order) = 11*/
  56. --AND rp.display_name ILIKE '%FREEPORT INDONESIA, PT%'
  57. --AND dn.name = '152300C/SBM-ADM/JH-HD/XI/15'
  58.  
  59. --GROUP BY dn.name, sp.date_done, rp.display_name, so.date_order, dn.tanggal
  60. ) AS dn_kpi
  61. --GROUP BY status
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement