互联网服务商业智能统计

【已解决】RS计算精确到天的【同比】和【环比】问题

这个是冰妹妹的表达式:
去年同期:即查询月为200905的话,该指标为200805该指标
total([金额] within set parallelPeriod([日期].[日期层次结构].[年],1,[日期].[日期层次结构].[月]->?mon?))
冰妹妹的这个函数好像不能同期到天。月份参数不是本月没问题,但是:
如果?month?=本月(如目前是2010-01月份,实际区间为2010-01-01到2010-01-18]
那么【去年同期】统计区间应该是2009-01-01到2009-01-18;而非2009-01整月数据
    【上月同期】统计区间应该是2009-12-01到2009-12-18;而非2009-12整月数据

/*********************************************************/
同理:本年、年同期;本周、上周同期等
/********************************************************/

欢迎大家讨论方法。
参与76

76同行回答

冰华敏冰华敏商业智能工程师家里蹲
cognos rs里面没有count(《set》)来计算成员数的这个函数,如果用的话使用subset也可以达到效果显示全部
cognos rs里面没有count(《set》)来计算成员数的这个函数,如果用的话使用subset也可以达到效果收起
国防军队 · 2010-01-19
浏览637
冰华敏冰华敏商业智能工程师家里蹲
解释一下:首先去找查询月的最后一个日:lastchild([日期].[日期层次结构].[月]->?mon?)  如查询月份是’201001‘   则截止目前为止最后一个日应该是:’20100118‘;然后找本月最后一个日的上年:parallelPeriod([日期].[日期层次结构].[年],1,[20100118]),即...显示全部
解释一下:
首先去找查询月的最后一个日:lastchild([日期].[日期层次结构].[月]->?mon?)  如查询月份是’201001‘
  则截止目前为止最后一个日应该是:’20100118‘;
然后找本月最后一个日的上年:parallelPeriod([日期].[日期层次结构].[年],1,[20100118]),即20090118;
最后基于20090118做本月累计即2009年1月1日至2009年1月18日累计发生:
   periodsToDate([日期].[日期层次结构].[月],[20090118]).收起
国防军队 · 2010-01-19
浏览602
冰华敏冰华敏商业智能工程师家里蹲
OK,终于拼出来了:total([金额] within setperiodsToDate([日期].[日期层次结构].[月],parallelPeriod([日期].[日期层次结构].[年],1,lastchild([日期].[日期层次结构].[月]->?mon?))))显示全部
OK,终于拼出来了:

total([金额] within set
periodsToDate([日期].[日期层次结构].[月],
parallelPeriod([日期].[日期层次结构].[年],1,
lastchild([日期].[日期层次结构].[月]->?mon?))))收起
国防军队 · 2010-01-19
浏览729
冰华敏冰华敏商业智能工程师家里蹲
我倒是知道写时间段的方法,就是比较复杂显示全部
我倒是知道写时间段的方法,就是比较复杂收起
国防军队 · 2010-01-18
浏览719

    提问者

    贝克汉姆
    软件开发工程师IBM

    相关问题

    相关资料

    问题状态

  • 发布时间:2010-01-18
  • 关注会员:0 人
  • 问题浏览:42321
  • 最近回答:2014-02-12
  • X社区推广