cognos 时间统计应用

 

total([Revenue] within set periodsToDate([great_outdoors_company].[Years].[Years].[Years],
[great_outdoors_company].[Years].[Years].[Month]->?p_Month?))


截止时间累计值:
total([Revenue] within set periodsToDate([CUBE].[交易时间].[交易时间].[交易时间],[CUBE].[交易时间].[交易时间].[月份]->?p?))


from-to:
except(
periodsToDate([great_outdoors_company].[Years].[Years].[Years],
[great_outdoors_company].[Years].[Years].[Month]->?finishMonth?),
periodsToDate([great_outdoors_company].[Years].[Years].[Years],
lag([great_outdoors_company].[Years].[Years].[Month]->?startMonth?,1))
)


get 2 month trailing total:
total([Revenue] within set lastPeriods(2, currentMember([great_outdoors_company].[Years].[Years])))

get 12 month trailing total:
total([Revenue] within set lastPeriods(12, currentMember([great_outdoors_company].[Years].[Years])))
tuple(member(total(currentMeasure within set filter(descendants([Camping Equipment],2),caption(descendants([Camping Equipment],2)) starts with 'T')), 'TProducts','T Products', [great_outdoors_company].[Products].[Products]),[Department Store])

当我们在用cube实现的报表中把年,月当成条件查询的时候,如果年月来自同一个维度的话,当我们再更换年份的时候,系统会强制要求我们选月份。如果要年月互不干预的话,只能把年,月分开成两个维度。分开以后,我们在做同比,环比的时候又是另外一种计算方式了,如下:
当月收入:
tuple ([收入cube].[年份].[年份].[年度]->?年度?,[税收收入cube].[月份].[月份].[月份1]->?月度?,[收入]) / 1000000
上年同期:
tuple (prevMember ([收入cube].[年份].[年份].[年度]->?年度?),[收入cube].[月份].[月份].[月份1]->?月度?,[收入]) /1000000
本年累计:
total ( tuple([收入],[收入cube].[年份].[年份].[年度]->?年度?) within set periodsToDate ([收入cube].[月份].[月份].[月份],[收入cube].[月份].[月份].[月份1]->?月度?)) / 1000000
上年累计:
total ( tuple([收入],prevMember ([收入cube].[年份].[年份].[年度]->?年度?)) within set periodsToDate ([收入cube].[月份].[月份].[月份],[收入cube].[月份].[月份].[月份1]->?月度?)) / 1000000

http://blog.163.com/wengr/blog/static/29196182200811511936161/


total([快信结算后收入] within set periodsToDate([快信].[日期].[日期].[Year],[快信].[日期].[日期].[Month]->?month?))


上年同期:
total ([收入] within set parallelPeriod ([收入cube].[年度].[年度].[年度1],1,[收入cube].[年度].[年度].[月份]->?月度?))

本年累计:
total ( [收入] within set periodsToDate ([收入cube].[年度].[年度].[年度1],[收入cube].[年度].[年度].[月份]->?月度?))

上年累计:
total ([收入] within set periodsToDate ([收入cube].[年度].[年度].[年度1],parallelPeriod ([收入cube].[年度].[年度].[年度1],1,[税收收入cube].[年度].[年度].[月份]->?月度?)))


http://hi.baidu.com/blyd/blog/item/472b4eed57038bddb21cb17d.html


aggregate([Measures] within set periodsToDate([日期维中的年],[当月]))


当月函数为:parent([当天])

当天函数为:item(filter([日期维中的日],caption[日期维中的日]=?参数?),0)


http://www.cognoschina.net/club/thread-2277-1-1.html


sql方式时间段
[SQL1].[TO_CHAR(STAMP,'YYYY-MM-DD')] between ?day1? and ?day2?


1. 去年同期:即查询月为200905的话,该指标为200805该指标
total([金额] within set parallelPeriod([日期].[日期层次结构].[年],1,[日期].[日期层次结构].[月]->?mon?))

2. 本年累计:即查询月为200905的话,该指标为200901-200905期间发生
total([金额] within set periodsToDate([日期].[日期层次结构].[年],[日期].[日期层次结构].[月]->?mon?))

3. 去年同期止累计:即查询月为200905的话,该指标为200801-200805期间发生
total([金额] within set periodsToDate([日期].[日期层次结构].[年],parallelPeriod([日期].[日期层次结构].[年],1,[日期].[日期层次结构].[月]->?mon?)))

同比增长 (以日期为行维)
([销售金额]- value(tuple(parallelPeriod([ARPD-Sale].[日期].[日期].[年]),[销售金额])))/ value(tuple(parallelPeriod([ARPD-Sale].[日期].[日期].[年]),[销售金额]))
环比增长   (以日期为行维)
([销售金额]-value(tuple(prevMember(currentMember([ARPD-Sale].[日期].[日期])),[销售金额])))/value(tuple(prevMember(currentMember([ARPD-Sale].[日期].[日期])),[销售金额]))

4. 有史以来累计发生:查询月为200805,则为从时间第一个节点截止200805期间发生

1)如果提示使用的是[日期].[日期层次结构].[月].[月 - Key]
   total([金额] within set
        filter(
             members([日期].[日期层次结构].[月]),
             [日期].[日期层次结构].[月].[月 - Key]<=?month?
              ))

2)如果提示使用的是[日期].[日期层次结构].[月]
    total([金额] within set
        lastperiods(1000,[日期].[日期层次结构].[月]->?month?))

5. 查询粒度为年,统计上半年、下半年
上半年余额(即时点类指标):
total([余额] within set subset(descendants([日期].[日期层次结构].[年]->?year?,[日期].[日期层次结构].[月]),5,1))
上半年发生额(即时段类指标):
total([金额] within set subset(descendants([日期].[日期层次结构].[年]->?year?,[日期].[日期层次结构].[月]),0,6))

这里subset()这个函数和substring()类似,只不过subset截取的是一个set(集合)中的某些成员而已,并且注意subset()第一个是0而不是1,这个和数组是类似的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值