[产值分析]生产部KPI考核之产值分析
接到新任务:设计统计电子和磁电公司生产部产值分析报表。
眼下状况:
1.电子公司:取最新单位价格*入库数量
2.磁电公司:取最低价格*入库数量(实际取价的时候又没有取到最低价)
假设计算出来的结果和財务提供给生产部的报表有差异怎么办?给多 给少都不合适。
两个原则:1.合理原则 2.假设上级不允许,按领导意思办
依照当时的客户订单的不含税单位价格是最合理的,是多少就是多少
1.电子公司去客户订单的不含税单位价格
-- =============================================
-- Author: <David Gong>
-- Create date: <2014-06-17>
-- Description: <生产部KPI考核产值分析汇总>
-- =============================================
ALTER Procedure [dbo].[UP_Production]
(
@yearmonth as nvarchar(6)
)
as
begin select isnull(b.类别,'合计') as 类别 ,入库数量, 产值 from(
select a.类别,cast(SUM(入库数量) as decimal(10,2)) as 入库数量,cast(SUM(入库数量*售价) as decimal(10,2)) as 产值 from (
Select TG004 品号,TG005 品名,TG006 规格 ,TG011 入库数量,TC008 as 币种,TC009 AS 汇率,MA101 税率,
case when LEFT(TG004,3)<>'203' THEN ISNULL(TD011/(1+MA101)*TC009,0)
else (MB057+MB058+MB059+MB060)*1.2 END AS 售价,
case when LEFT(TG004,3)='102' then 'Relay'
when LEFT(TG004,3)='103' then 'PCB'
when LEFT(TG004,3) in ('104','106','203') then 'BL'
when LEFT(TG004,3)='101' and CHARINDEX('ATM',TG006)>0 then 'TFT'
when LEFT(TG004,3)='101' and CHARINDEX('AQM',TG006)>0 then 'COG'
ELSE 'COB'
END 类别
from MOCTG INNER JOIN MOCTF ON TF001=TG001 AND TF002=TG002
left join MOCTA ON TG014=TA001 AND TG015=TA002
left join COPTD ON TA026=TD001 AND TA027=TD002 AND TA028=TD003
left JOIN COPTC ON TC001=TD001 AND TC002=TD002
left join COPMA on TC004=MA001
left join INVMB ON TG004=MB001
where left(TF003,6)=@yearmonth ) a
group by 类别,
类别 WITH ROLLUP) b /*
;WITH cte as(
SELECT
ROW_NUMBER() OVER (PARTITION BY MB002 ORDER BY MB017 DESC) cnt,MB002 As 品号,MB004 币种,MB008 单位价格 FROM COPMB
) select c.品号, c.品名, c.规格 ,c.入库数量,a.单位价格,b.币种,b.汇率,
case when LEFT(c.品号,3)<>'203' and b.币种<>'RMB' THEN a.单位价格*b.汇率
when LEFT(c.品号,3)<>'203' and b.币种='RMB' THEN a.单位价格/1.17
else (MB057+MB058+MB059+MB060)*1.2 END AS 售价,
case when LEFT(c.品号,3)='102' then 'Relay'
when LEFT(c.品号,3)='103' then 'PCB'
when LEFT(c.品号,3) in ('104','106','203') then 'BL'
when LEFT(c.品号,3)='101' and CHARINDEX('ATM',c.规格)>0 then 'TFT'
when LEFT(c.品号,3)='101' and CHARINDEX('AQM',c.规格)>0 then 'COG'
ELSE 'COB'
END 分类
into #Production
from (
Select TG004 品号,TG005 品名,TG006 规格 ,SUM(TG011) 入库数量
from MOCTG INNER JOIN MOCTF ON TF001=TG001 AND TF002=TG002
where left(TF003,6)=@yearmonth
GROUP BY TG004,TG005,TG006
) c
left join (SELECT * FROM cte WHERE cnt=1) a on a.品号=c.品号
left join (SELECT MG001 as 币种, MG004 as 汇率 FROM CMSMG WHERE left(MG002,6)=@yearmonth
UNION ALL
Select 'RMB',1.0 ) b ON a.币种=b.币种
left join INVMB on MB001=c.品号 select isnull(e.分类,'合计') as 类别,e.入库数量,e.产值 from (
select 分类,cast(SUM(入库数量) as decimal(10,2)) as 入库数量, cast(SUM(入库数量*售价) as decimal(10,2)) as 产值 from #Production
group by 分类,
分类 WITH ROLLUP) e drop table #Production
*/
end
2.磁电公司按合理原则跑出的结果比財务提供的多了40W。
领导说取最低价。
-- =============================================
-- Author: <David Gong>
-- Create date: <2014-06-16>
-- Description: <取最小价格>
-- =============================================
ALTER function [dbo].[GetMinPrice](
@ITEM AS VARCHAR(20),
@YEARMONTH AS VARCHAR(6)
)returns decimal(15,2)
as
begin declare @Price as decimal(10,4)
select @Price=min(c.售价) from (
select MB002 As 品号,MB004 币种,MB008 单位价格 ,b.汇率,
case when MB004<>'RMB' THEN MB008*b.汇率
else MB008/1.17 end as 售价
FROM COPMB
left join (SELECT MG001 as 币种, MG004 as 汇率 FROM CMSMG WHERE left(MG002,6)=@YEARMONTH
UNION ALL
Select 'RMB',1.0 ) b ON MB004=b.币种
where MB002=@ITEM )c return @Price
end
-- =============================================
-- Author: <David Gong>
-- Create date: <2014-06-17>
-- Description: <生产部KPI考核产值分析汇总>
-- =============================================
ALTER Procedure [dbo].[UP_Production]
(
@yearmonth as nvarchar(6)
)
as
begin select isnull(b.类别,'合计') as 类别 ,入库数量, 产值 from(
select a.类别,cast(SUM(入库数量) as decimal(10,2)) as 入库数量,cast(SUM(入库数量*售价) as decimal(10,2)) as 产值 from (
Select TG004 品号,TG005 品名,TG006 规格 ,TG011 入库数量,TC008 as 币种,TC009 AS 汇率,MA101 税率,ZM.[dbo].[GetMinPrice](TG004,@yearmonth) 售价,
case when CHARINDEX('。生产100%检验',MOCTG.UDF01)>0 THEN '外协'
else REPLACE(MOCTG.UDF01,',生产100%检验','') end as 类别
from MOCTG INNER JOIN MOCTF ON TF001=TG001 AND TF002=TG002
left join MOCTA ON TG014=TA001 AND TG015=TA002
left join COPTD ON TA026=TD001 AND TA027=TD002 AND TA028=TD003
left JOIN COPTC ON TC001=TD001 AND TC002=TD002
left join COPMA on TC004=MA001
where left(TF003,6)=@yearmonth ) a
group by 类别,
类别 WITH ROLLUP) b
end
比对前三个月財务提供给生产部的报表 。产值少了20W左右。
20W*0.17=3.4W
少了3.4W的奖金,预计他们也会对我不满了。。。
[产值分析]生产部KPI考核之产值分析的更多相关文章
- BI系统与KPI指标的整合分析
今天我们要说的是信息化时代下关于企业运营的两个热词:BI系统和KPI指标.一直到现在,企业运营的方方面面都在被数据化,成为庞大信息流的一部分,这一庞大的信息流,正以我们自己都尚未完全意识到的速度和规模 ...
- KPI考核
编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! KPI考核,Key Performance Indicator的缩写,指的是关键绩效指标考核法. 中文名 KPI考核 外 ...
- Fresco 源码分析(一) DraweeView-DraweeHierarchy-DraweeController(MVC) DraweeView的分析
4. Fresco的内容 为了方便学习,我们先从使用结合官方的文档来分析 4.1 Fresco客户端的使用 在使用Fresco的使用,我们直接使用的是SimpleDraweeView这个类,然后在Ac ...
- <八>面向对象分析之UML核心元素之分析类
一:基本概念 ---->在那大数项目中,分析类是被忽视的一种非常有用的元素. ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...
- 文《左右c++与java中国的垃圾问题的分析与解决》一bug分析
文<左右c++与java中国的垃圾问题的分析与解决>一bug分析 DionysosLai(906391500@qq.com) 2014/10/21 在前几篇一博客<关于c++与jav ...
- Zepto源码分析(一)核心代码分析
本文只分析核心的部分代码,并且在这部分代码有删减,但是不影响代码的正常运行. 目录 * 用闭包封装Zepto * 开始处理细节 * 正式处理数据(获取选择器选择的DOM) * 正式处理数据(添加DOM ...
- 第3阶段——内核启动分析之创建si工程和分析stext启动内核函数(4)
目标: (1)创建Source Insight 工程,方便后面分析如何启动内核的 (2)分析uboot传递参数,链接脚本如何进入stext的 (3) 分析stext函数如何启动内核: (3.1) ...
- dubbo源码分析9——ServiceBean的afterPropertiesSet方法分析
ServiceBean的afterPropertiesSet方法是实现了InitializingBean,还是准备先做宏观分析,然后再做细致分析.下面先宏观分析: public void after ...
- Linux内核分析第五周学习总结——分析system_call中断处理过程
Linux内核分析第五周学习总结--分析system_call中断处理过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...
随机推荐
- Java ThreadLocal 学习
同步机制是为了同步多个线程对相同资源的并发访问,是为了多个线程之间进行通信的有效方式. 而ThreadLocal是隔离多个线程的数据共享,从根本上就不在多个线程之间共享资源(变量),这样当然不需要对多 ...
- c++复习(未完待续)
1.使函数不能在定义该函数的文件之外访问的方法: (1)声明函数为static(2)将函数放到无名名字空间中 namespace { void g() { ......... } }
- HDOJ 1226 超级密码(bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1226 思路分析:题目要求寻找一串长度不大于500的C进制的密码,且该密码需要为十进制数N的整数倍. & ...
- oracle数据库存储过程中NO_DATA_FOUND不起作用?
1.首先创建一个表lengzijiantest,表中只有一个字段f_id CREATE TABLE LENGZIJIANTEST ( F_ID NUMBER NOT NULL ) 2.插入一条数据 i ...
- hdu1715 大菲波数
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 Problem ...
- Python经常使用第三方工具、库、骨架
Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持.该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋 ...
- windows下使用python googleprotobuf
首先下载:protobuf-2.5.0.tar.gz 和protoc-2.5.0-win32.zip.两者的版本要对应: 将下载的google protobuf解压,会看到一个python目录,Win ...
- JavaScript中cookie的路径(path)和域(domain)
cookie虽然是由一个网页所创建,但并不只是创建cookie的网页才能读 取该cookie.在默认情况下,与创建cookie的网页在同一目录或子目录下的所有网页都可以读取该cookie.但如果在这个 ...
- CentOS6.5安装elasticsearch+logstash+kibana
首先卸载低版本的java环境,然后安装 java环境和Apache服务 yum install -y java--openjdk httpd 安装ES环境 elasticsearch wget htt ...
- 使用 Async 和 Await 的异步编程 #Reprinted#
异步方法容易编写 string urlContents = await client.GetStringAsync(); 以下特征总结了使上面一个异步方法. 方法签名包含一个 Async 或async ...