什么是库龄!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是库龄!相关的知识,希望对你有一定的参考价值。
什么是库龄,库龄怎么算出来
库存周转率是在某特定的周期,销售成本与存货平均余额的比率。用以衡量一定时期内存货资产的周转速度,是反映企业的供应链的整体效率的绩效指标之一,而且很多企业都把它作为整体经营业绩的考核指标之一。
在库龄分析中,其目的只有两个:
1、材料的贮存期管理。
2、库存成本的控制。 库龄分析可查询起始日期到截止日期,各库存商品的库存帐龄情况,即从入库起在仓库中放置了多久。与应收帐款帐龄一样,商品的库龄越长,说明周转越慢,占压的资金也就越多。例如显示某商品库龄较长,那么就在提醒管理者应采取相应对策来缩短库龄,减少积压资金。
扩展资料:
需要注意的是:
1、 对于发现积压的物料,不能一概予以同样的关注,因为管理也需要成本的。发动机周转速度变慢,要比标准件积压更可怕。
2、 在库存账龄分析中,用金额表示比用数量表示,更直观,更有效。
3、 对于标准账龄的设定,也是需要不断修正的,因为提高库存的周转速度,降低无效库存为最终目的。
4、 库存账龄分析是事后诸葛亮,是纠正方法,远不如事先控制也就是预防有效。在这点上,与质量管理的原理是一样的。
参考资料来源:百度百科-库龄分析
参考技术A 库龄分析 支持局部和全方式的库龄分析和库存优化,严格按照先进先出原则进行库存管理,按先进的货先销的原则进行库龄统计,以免商品批号过期。通过全局范围的库龄分析,及时了解热销商品和滞销商品及其分布情况,合理地进行库存调度和市场促销,可以大大提高库存周转率,促进销售的同时降低库存资金积压风险。 在库龄分析中,其目的只有两个: 1、材料的贮存期管理。 2、库存成本的控制。 库龄分析可查询起始日期到截止日期,各库存商品的库存帐龄情况,即从入库起在仓库中放置了多久。与应收帐款帐龄一样,商品的库龄越长,说明周转越慢,占压的资金也就越多。例如显示某商品库龄较长,那么就在提醒管理者应采取相应对策来缩短库龄,减少积压资金。本回答被提问者采纳小5聊Sql Server基础之统计库龄语句,仅作为语句使用
知识点的综合使用
分组、数据转换、Case when then、max、min、count、sum、left join多表关联等知识点
-
知识点
编号 | 知识点 | 说明 |
1 | group by | 对某个表字段进行分组 |
2 | convert | 数据类型转换 |
3 | case when then else end | 逻辑判断 |
4 | max | 最大值 |
5 | min | 最小值 |
6 | count | 记录数 |
7 | sum | 统计值,综合 |
8 | left join | 左链接 |
1、知识点
1)group by
此处以商品编号进行分组
select shopid from stock group by shopid
2)
2)convert
数据类型转换,varchar(10)和120,datetime时间数据类型转为字符串,并只显示10位长度值,刚好就是yyyy-MM-dd
select convert(varchar(10),timevalue,120) as timevalue from stock
2、创建表
USE [test]
GO
/****** Object: Table [dbo].[stock] Script Date: 04/17/2022 10:52:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[stock](
[typeValue] [varchar](50) NULL,
[shopid] [int] NULL,
[timevalue] [datetime] NULL,
[stockValue] [int] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
3、表添加记录
模拟一定量的记录进行测试
--truncate table stock
/*
insert into stock(typeValue,shopid,timevalue,stockValue)
values('入库',123,'2020-01-01',100)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('入库',234,'2020-01-02',100)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('出库',123,'2020-01-03',50)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('出库',234,'2020-01-04',50)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('出库',123,'2020-01-05',50)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('出库',234,'2020-01-06',50)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('入库',123,'2020-01-07',100)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('入库',234,'2020-01-08',100)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('出库',123,'2020-01-09',30)
insert into stock(typeValue,shopid,timevalue,stockValue)
values('出库',234,'2020-01-10',30)
*/
4、查询代码
/*
编号123,还存在库存,则使用上次进货时间2020-01-11和2020-02-20相差,就是40天
编号234,还存在库存,则使用上次进货时间2020-01-11和2020-02-20相差,就是41天'
*/
declare @searchTime varchar(50)
set @searchTime='2020-02-20'
select a.shopid as 商品编号,
convert(varchar(10),a.inMaxTime,120) as 上次进货时间,
@searchTime as 搜索时间,
(case when (a.totalInValue-b.totalOutValue)>0
then datediff(day, a.inMaxTime, @searchTime) --还有库存,则用上次进货时间计算
else datediff(day, b.outMaxTime, @searchTime) end) as 库龄, --没有库存了,使用最后一次出库时间计算
(a.totalInValue-b.totalOutValue) as '库存',
(case when (a.totalInValue-b.totalOutValue)>0 then '还有库存' else '已出完' end) as 是否出库完
from(
--先按商品编号分组,并筛选入库值和统计入库总值
--出库最小得时间
select shopid,
min(timevalue) as inMinTime, --入库最小时间
max(timevalue) as inMaxTime, --入库最大时间(上次进货时间)
sum(stockValue) as totalInValue,
count(1) as inCount
from stock
where typeValue='入库' and timevalue<=@searchTime
group by shopid
) as a
left join(
select shopid,
min(timevalue) as outMinTime, --出库最小时间
max(timevalue) as outMaxTime, --出库最大时间
sum(stockValue) as totalOutValue --出库总数
from stock where typeValue='出库' and timevalue<=@searchTime
group by shopid
) as b
on a.shopid=b.shopid
以上是关于什么是库龄!的主要内容,如果未能解决你的问题,请参考以下文章