欢迎投稿

今日深度:

QlikView计算年初到今天为止的销售数据,qlikview年

QlikView计算年初到今天为止的销售数据,qlikview年初


新财年年初到今天的销售总和是很多同学经常遇到的需求,有两种思路:

1. 可以在Load数据的时候就生成一个字段叫YTDFlag,即是当下这个财年的该字段就为1,否则为0。因此在报表中可以很方便的用Sum(Sales * YTDFlag)来得到想要的KPI。

Load数据的Script如下所示:

SalesData:
LOAD
	Num(ID) as ID,
	Date(Date) as Date,
	Month,
	Num(Year) as Year,
	Num(Sales) as Sales,
	InYearToDate(Date(Date), Today(), 0, 10) as YTDFlag
Inline [
ID, Date, Month, Year, Sales
1, 2012-1-1, 2012-1, 2012, 20
2, 2012-1-1, 2012-2, 2012, 21
3, 2012-1-1, 2012-3, 2012, 23
4, 2013-1-1, 2013-1, 2013, 34
5, 2013-2-1, 2013-2, 2013, 35
6, 2013-3-1, 2013-3, 2013, 46
7, 2014-1-1, 2014-1, 2014, 27
8, 2014-2-1, 2014-2, 2014, 30
9, 2014-3-1, 2014-3, 2014, 49
10, 2013-10-1, 2013-10, 2013, 50
11, 2013-11-1, 2013-11, 2013, 51
12, 2013-12-1, 2013-12, 2013, 52
];


2. 当然也可以在报表中直接用公式来得到, 公式为 =Sum(Sales * InYearToDate(Date, Today(), 0, 10) * -1)。

上面两种方式得到的结果都是 259,数据量大的时候当然是前面先计算更好,不必把所有的计算都在前台实现。这样会影响性能。

 

其中关键方法InYearToDate有四个参数,意思是:

第一个参数是否和第二个参数在同一年;

第三个参数表示,第二个参数的年份需要减多少年,0表示第一个参数直接和第二个参数相比(第二个参数的年份减0),-1表示第二个参数的年份需要减1,再和第一个参数相比较,以此类推。也就是说,第二个参数的年份需要减去第三个参数代表的多少年,然后再和第一个参数相比;

第四个参数是可选的,表示一年从第几个月开始,上面第四个参数是10,则表示,10月1号算作新年第一天,第一个参数是否是和第二个参数在以10月1号为第一天的一年里。

假如是则公式返回-1,否则为0.

 

上面我的例子表示:10月1号为新年的第一天,由于第三个参数是0,因此第一个参数直接和第二个参数比较,表示Date字段中的值是否和今天在以10月1号为新年开始的一年里。比如2013-11-1是,2013-09-31则不是。

InYearToDate(Date, Today(), -1, 10)则表示Date中的字段和去年的今天(Today()的年份减一)相比,是否在以10月1号开始的一年里。

 

我的语文不是太好,不清楚的地方欢迎留言!


用过去三年的销售数据预算公司下年的销售量,怎计算?

1、一般情况,过去三年的数据,对预算没有太多指导意义,因为09、10、11宏观经济环境变化很大。
2、如果非得这么算,那么就看你们10比09,11比10,同比销售增长率是多少,然后预测12年比11年的增长率。
3、如果大客户比较稳定,区域销售变化不大,应该预测一个30%左右的增长率就可以了。但如果是新兴行业,或新开的公司(3年左右),也可以稍稍放大。
 

excel计算某月到某月的销售数据,怎算?

用以下类似的公式
=SUM(SUMIF(A2:A5,"张三",OFFSET(B2:B5,,ROW(1:2)-1)))
数组函数,ctrl shift enter输入
A2:A5为人名区域 B2:B5为销售数据区域,注意区域大小要一致
变更项 ROW(1:2),是1,2月
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2985.html NewsArticle QlikView计算年初到今天为止的销售数据,qlikview年初 新财年年初到今天的销售总和是很多同学经常遇到的需求,有两种思路: 1. 可以在Load数据的时候就生成一个字段叫YTDFlag,即是当下...
评论暂时关闭