总销量的新财年后年初今天是非常需要的学生经常会遇到,有两种思路:

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号開始的一年里。

我的语言是不是很好,目前还不清楚留言。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

QlikView一年计算,以最新的销售数据的更多相关文章

  1. 第三部分:Android 应用程序接口指南---第五节:计算---第一章 RenderScript

    第1章 RenderScript RenderScript提供一个独立于平台并在本地运行的计算引擎,用它来加速你需要大量计算能力的应用.RenderScript是一个运行与Android上计算密集型的 ...

  2. 【原创】Kakfa log包源代码分析(二)

    八.Log.scala 日志类,个人认为是这个包最重要的两个类之一(另一个是LogManager).以伴生对象的方式提供.先说Log object,既然是object,就定义了一些类级别的变量,比如定 ...

  3. Java Security:Java加密框架(JCA)简要说明

    加密服务总是关联到一个特定的算法或类型,它既提供了密码操作(如Digital Signature或MessageDigest),生成或供应所需的加密材料(Key或Parameters)加密操作,也会以 ...

  4. iOS开发——实用技术OC篇&简单抽屉效果的实现

    简单抽屉效果的实现 就目前大部分App来说基本上都有关于抽屉效果的实现,比如QQ/微信等.所以,今天我们就来简单的实现一下.当然如果你想你的效果更好或者是封装成一个到哪里都能用的工具类,那就还需要下一 ...

  5. 用Canvas制作小游戏——贪吃蛇

    今天呢,主要和小伙伴们分享一下一个贪吃蛇游戏从构思到实现的过程~因为我不是很喜欢直接PO代码,所以只copy代码的童鞋们请出门左转不谢. 按理说canvas与其应用是老生常谈了,可我在准备阶段却搜索不 ...

  6. 网站的优化----首页优化---app调取服务端数据

    高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等.为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案. //对于APP网站首页数据,通常是 ...

  7. 关于炒股软件——金魔方炒股软件的Dll外挂开发

    2015-01-19 14:40:04 金魔方平台是由飞狐交易师原创团队集多年研发经验,依靠和讯财经网强大资源,吸取国际专家思路而推出的十年巨作.目前新出的这个2.0版,这一版在数据存储方面作很大的改 ...

  8. react总结

    在我的工作用到的最多就是backbone,其次还会有ember/Ext,backbone目前能实现我们team所需要实现的功能,因为我们的component不需要频繁的操作Dom,当后台API返回数据 ...

  9. 学习Redux之分析Redux核心代码分析

    1. React,Flux简单介绍 学习React我们知道,React自带View和Controller库,因此,实现过程中不需要其他任何库,也可以独立开发应用.但是,随着应用程序规模的增大,其需要控 ...

随机推荐

  1. jstl的小问题

    jstl试了半天,终于知道错在哪里了! 这是jsp中的代码 从select中取得user_id:看清楚了 是user_id:小写第一位; <table width="50%" ...

  2. (40)JS运动之右下角悬浮框

    <!DOCTYPE HTML> <!-- --> <html> <head> <meta charset="utf-8"> ...

  3. 打开或导入项目,从脱机 Outlook 数据文件 (.ost)

    打开或导入项目,从脱机 Outlook 数据文件 (.ost) Microsoft Outlook 2010 doesn\rquote t 支持手动打开或导入项目,从一个 脱机 Outlook 数据文 ...

  4. ecshop加广告出现广告位的宽度值必须在1到1024之间的解决方法

    ecshop加广告出现广告位的宽度值必须在1到1024之间,这点是非常郁闷的,因为现在宽屏网站逐渐成为主流,越来越多的宽屏网站进入了我们的视线,比如京东啊,一号店啊. 但是ecshop的广告位却不能超 ...

  5. SecureCRT 6.7.1 注冊机 和谐 破解 补丁 方法

    之前一直在用SecureCRT 6.5.3 版本号,和谐补丁也好找,甚至中文版本号也可找到(眼下仅仅找到了SecureCRT.6.2.0) 可是换为 6.7.1 后就怎么也注冊不了了.. 没办法试了各 ...

  6. 何谓集群(cluster)

    1.簇 1.1 何谓集群 简单的说.簇(cluster)是一组计算机.他们,作为一个一般的为客户提供了一套网络资源.该计算机系统是集群中的单个节点(node). 个理想的集群是,用户从来不会意识到集群 ...

  7. Java线程Dump分析工具--jstack(转)

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使 ...

  8. 移动web:tab选项卡

    平常做移动端会用到tab选项卡,这和PC端有些区别,移动端是触摸滑动切换,PC端是点击.移入切换. 这里滑动切换就是一个移动端事件的应用,这里主要用到的触摸事件:touchstart.touchmov ...

  9. swift 笔记 (十二) —— 下标

    下标 swift同意我们为 类.结构体,枚举 定义下标,以更便捷的方式訪问一大堆属性.比方Array和Dictionary都是结构体,swift的project师已经为这两个类型提供好了下标操作的代码 ...

  10. sql pivot、unpivot和partition by用法

    原文:sql pivot.unpivot和partition by用法 演示脚本 from sys.sysobjects where name = 'Student' AND type = 'U') ...