在MDX中查找计算度量的相关日期

时间:2016-05-10 15:19:27

标签: mdx calculated-columns measures

背景故事 我在MDX工作,我的测量组使用了很多计算。其中许多是时间表,例如[Date].[Fiscal].[LY WTD],它代表去年为止的一周。

为了计算这个,我使用了ParellelPeriods函数。然而,由于我们的日历一年有52周,而本年有53周,我的计算结束了。

我已使用

进行了更改
CREATE MEMBER CURRENTCUBE.[Date].[Fiscal].[LY WTD] as
Aggregate(
  Exists(
    [Date].[Date].[Date].members,
      {
        [Date].[F Day Of Week].[F Day Of Week].item(0) :
        Exists([Date].[F Day Of Week].[F Day Of Week].members, [Date].[Last Complete Day].&[Y]).item(0)
      }
    * Exists([Date].[F Year].[F Year].members,[Date].[Last Complete Day].&[Y]).item(0).lag(1)
    * Exists([Date].[F Week of Year].[F Week of Year].members, [Date].[Current Week].&[Current Week])
  )
), VISIBLE = 0;

我现在需要测试一下。

问题 我怎样才能确定我的测量周期[日期]。[财政]。[LY WTD]正在撤回?

2 个答案:

答案 0 :(得分:0)

你可以添加这样的测试成员吗?

CREATE 
  MEMBER CURRENTCUBE.[Date].[Fiscal].[LY WTD - Caption] AS 
    Exists
    (
      [Date].[F Week of Year].[F Week of Year].MEMBERS
     ,
        {
            [Date].[F Day Of Week].[F Day Of Week].Item(0)
          : 
            Exists
            (
              [Date].[F Day Of Week].[F Day Of Week].MEMBERS
             ,[Date].[Last Complete Day].&[Y]
            ).Item(0)
        }*
        Exists
        (
          [Date].[F Year].[F Year].MEMBERS
         ,[Date].[Last Complete Day].&[Y]
        ).Item(0).Lag(1)*
        Exists
        (
          [Date].[F Week of Year].[F Week of Year].MEMBERS
         ,[Date].[Current Week].&[Current Week]
        )
    ).Item(0).Item(0).Member_Caption 
   ,VISIBLE = 1 ;

答案 1 :(得分:0)

我认为我的问题是,当我汇总我的calc脚本时,不可能再看到各个原始成员。这就是我最终要做的事情。

<强> 1。首先,我使用了我用于在mdx查询中进行计算的相同脚本,并确保我得到了预期的日期。

Select
    {Measures.[Gross Units]} on 0,

  Exists(
    [Date].[Date].[Date].members,
      {
        [Date].[F Day Of Week].[F Day Of Week].item(0) :
        Exists([Date].[F Day Of Week].[F Day Of Week].members, [Date].[Last Complete Day].&[Y]).item(0)
      }
    * Exists([Date].[F Year].[F Year].members,[Date].[Last Complete Day].&[Y]).item(0).lag(1)
    * Exists([Date].[F Day of Year].[F Day of Year].members, [Date].[Current Week].&[Current Week])
  )


on 1
From myips

<强>结果:

  

总单位2015/05/09(null)2015/05/10 13,069 2015/05/11 35,853   2015/05/12 104,617 2015/05/13 46,318

<强> 2。然后我查找结果,使用我去年为止的计算结果,并将其与那些日子汇总的查询作用域计算成员进行比较

With Member [Date].[Fiscal].[Custom] as 
    Aggregate([Date].[Fiscal].[Date].&[2015-05-09T00:00:00]:[Date].[Fiscal].[Date].&[2015-05-13T00:00:00])

Select

[Date].[Fiscal].[Custom]
//Date.Fiscal.[LY WTD]
    on 0,

Measures.[Gross Units]
on 1
From myIPS

 **I got the same results! Success!**