1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
WITH R as (
SELECT distinct f.NUM_ENR
,f.DESIGN
,(sum(lbt.QTE*s.pump) over (partition by f.design)) cumul2
from T_FAMILLE_PIECE f
full join t_piece p on p.CLE_FAMILLE = f.NUM_ENR
full join T_LIGNE_BT lbt on lbt.CLE_ELEMENT = p.CLE_PIECE
left join T_STOCK s on s.CLE_PIECE = p.CLE_PIECE
left join t_bt bt on bt.NUM_BT =lbt.CLE_BT
where lbt.TYPE_LIGNE_BT ='P'
and s.CLE_MAGASIN <>100000
and bt.DATE_DEB_REEL between dateadd( MONTH ,-3,dateadd(day,0,DATEADD(MONTH, DATEDIFF(MONTH, '19000101', GETDATE()), '19000101')))
and dateadd(day,0,DATEADD(MONTH, DATEDIFF(MONTH, '19000101', GETDATE()), '19000101'))
union
SELECT distinct f.NUM_ENR
,f.DESIGN
,(sum(lbt.COUT_2_PSEUDO_U) over (partition by f.design)) cumul2
from T_FAMILLE_PIECE f
full join t_piece p on p.CLE_FAMILLE = f.NUM_ENR
inner join T_MATRICULE_PIECE m on m.CLE_PIECE = p.CLE_PIECE
full join T_LIGNE_BT lbt on lbt.CLE_ELEMENT = m.NUM_PIECE_M
left join T_STOCK s on s.CLE_PIECE = p.CLE_PIECE
left join t_bt bt on bt.NUM_BT =lbt.CLE_BT
where lbt.TYPE_LIGNE_BT ='M'
and s.CLE_MAGASIN <>100000
and bt.DATE_DEB_REEL between dateadd( MONTH ,-3,dateadd(day,0,DATEADD(MONTH, DATEDIFF(MONTH, '19000101', GETDATE()), '19000101')))
and dateadd(day,0,DATEADD(MONTH, DATEDIFF(MONTH, '19000101', GETDATE()), '19000101'))
)
SELECT NUM_ENR
,DESIGN
,cumul2/*
,SUM(CUMUL) OVER (order by CUMUL desc) as TOTCUMUL */
,cumul2 / SUM(CUMUL2) OVER () as 'pourcentage/tot'
,SUM(CUMUL2) OVER (order by CUMUL2 desc) / SUM(CUMUL2) OVER () as TOTCUMUL2
FROM R |
Partager