QlikView一年计算,以最新的销售数据
總銷量的新財年后年初今天是非常需要的學(xué)生經(jīng)常會遇到,有兩種思路:
1. 能Load當數(shù)據(jù)是生成一個稱為場YTDFlag。這是本財年的時刻,本場會1,除此以外,0。因此,在報告中可使用非常方便Sum(Sales * YTDFlag)以獲得所需的KPI。
Load數(shù)據(jù)的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)。
上面兩種方式得到的結(jié)果都是 259,數(shù)據(jù)量大的時候當然是前面先計算更好,不必把全部的計算都在前臺實現(xiàn)。這樣會影響性能。
當中關(guān)鍵方法InYearToDate有四個參數(shù),意思是:
第一個參數(shù)是否和第二個參數(shù)在同一年;
第三個參數(shù)表示,第二個參數(shù)的年份須要減多少年。0表示第一個參數(shù)直接和第二個參數(shù)相比(第二個參數(shù)的年份減0),-1表示第二個參數(shù)的年份須要減1。再和第一個參數(shù)相比較,以此類推。也就是說。第二個參數(shù)的年份須要減去第三個參數(shù)代表的多少年。然后再和第一個參數(shù)相比。
第四個參數(shù)是可選的,表示一年從第幾個月開始,上面第四個參數(shù)是10,則表示,10月1號算作新年第一天。第一個參數(shù)是否是和第二個參數(shù)在以10月1號為第一天的一年里。
假如是則公式返回-1。否則為0.
上面我的樣例表示:10月1號為新年的第一天。因為第三個參數(shù)是0,因此第一個參數(shù)直接和第二個參數(shù)比較,表示Date字段中的值是否和今天在以10月1號為新年開始的一年里。比方2013-11-1是。2013-09-31則不是。
InYearToDate(Date, Today(), -1, 10)則表示Date中的字段和去年的今天(Today()的年份減一)相比,是否在以10月1號開始的一年里。
我的語言是不是很好,目前還不清楚留言。
版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的QlikView一年计算,以最新的销售数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sklearn的class_weight
- 下一篇: linux心跳包检测代码_OpenSSL