关于BI中OLAP的MDX语句及各类分析实现 同比增长率

本文通过MDX语句详细展示了如何在商业智能(BI)系统中计算和展示年度、季度和月度的同比增长率,以帮助理解销售趋势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
  销售同比增长率:年度同比增长率,季度同比增长率,月同比增长率
效果如图:
*/




CREATE MEMBER CURRENTCUBE.[Times].[同比增长率].[年度同比增长率]
AS "",
FORMAT_STRING = "Percent",
VISIBLE = 1;              
  
// 年度同比增长率  
  (
[Times].[同比增长率].[年度同比增长率],
    [Times].[Y].[Y].Members ( 1 ) : Null,
[Times].[dateKey].Members
  ) =      
  (
    ( [Times].[同比增长率].DefaultMember ) -
    ( [Times].[同比增长率].DefaultMember,
      ParallelPeriod(
                      [Times].[按时间统计].[年],
                      1,
                      [Times].[按时间统计].CurrentMember
      )
    )
  )
  /
  ( [Times].[同比增长率].DefaultMember,
    ParallelPeriod(
                    [Times].[按时间统计].[年],
                    1,
                    [Times].[按时间统计].CurrentMember
    )
  );              
  
  (
    [Times].[同比增长率].[年度同比增长率],
    [Times].[Y].[Y].Members ( 0 ),
[Times].[dateKey].Members
  ) = Null;               
  
  Format_String(
                 (
       [Times].[同比增长率].[年度同比增长率],
       [Times].[dateKey].Members
     )
  ) = "Percent";              
  
   

//季度同比增长率

CREATE MEMBER CURRENTCUBE.[Times].[同比增长率].[季度同比增长率]
AS "",
FORMAT_STRING = "Percent",
VISIBLE = 1;         
  

  (
[Times].[同比增长率].[季度同比增长率],
    [Times].[Q].[Q].Members ( 1 ) : Null,
[Times].[dateKey].Members
  ) =      
  (
    ( [Times].[同比增长率].DefaultMember ) -
    ( [Times].[同比增长率].DefaultMember,
      ParallelPeriod(
                      [Times].[按时间统计].[季],
                      1,
                      [Times].[按时间统计].CurrentMember
      )
    )
  )
  /
  ( [Times].[同比增长率].DefaultMember,
    ParallelPeriod(
                    [Times].[按时间统计].[季],
                    1,
                    [Times].[按时间统计].CurrentMember
    )
  );         
  
  (
    [Times].[同比增长率].[季度同比增长率],
    [Times].[Q].[Q].Members ( 0 ),
[Times].[dateKey].Members
  ) = Null;           
  
  Format_String(
                 (
       [Times].[同比增长率].[季度同比增长率],
       [Times].[dateKey].Members
     )
  ) = "Percent";         
  

// 月同比增长率  

CREATE MEMBER CURRENTCUBE.[Times].[同比增长率].[月同比增长率]
AS "",
FORMAT_STRING = "Percent",
VISIBLE = 1;         
  
  (
[Times].[同比增长率].[月同比增长率],
    [Times].[M].[M].Members ( 1 ) : Null,
[Times].[dateKey].Members
  ) =      
  (
    ( [Times].[同比增长率].DefaultMember ) -
    ( [Times].[同比增长率].DefaultMember,
      ParallelPeriod(
                      [Times].[按时间统计].[月],
                      1,
                      [Times].[按时间统计].CurrentMember
      )
    )
  )
  /
  ( [Times].[同比增长率].DefaultMember,
    ParallelPeriod(
                    [Times].[按时间统计].[月],
                    1,
                    [Times].[按时间统计].CurrentMember
    )
  );         
  
  (
    [Times].[同比增长率].[月同比增长率],
    [Times].[M].[M].Members ( 0 ),
[Times].[dateKey].Members
  ) = Null;         
  
  Format_String(
                 (
       [Times].[同比增长率].[月同比增长率],
       [Times].[dateKey].Members
     )
  ) = "Percent";
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值