首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >月水平上的MDX错误和

月水平上的MDX错误和
EN

Stack Overflow用户
提问于 2017-02-06 14:04:13
回答 2查看 756关注 0票数 1

我需要计算最后7天的计数值在立方体中。

我编写下一个MDX表达式:

代码语言:javascript
复制
Count
(
  Filter
  (
    Descendants
    (
        [Date].[Date Hierarchy].CurrentMember.Lag(6)
      : 
        [Date].[Date Hierarchy].CurrentMember
    )
   ,[Measures].[Amount]
  )
)

数据在层次结构的日级别上是正确的,但是在、月份级别和其他级别上,数据是用来度量持续7个月值的总和的。

更新我想显示月份最后一天的值

示例:

日期_

2017-01-01 \x{5}4

2017-01-02 -4-3

2017-01-03 \x{e76f}3

.

2017-01-31 \x{1}<

EN

回答 2

Stack Overflow用户

发布于 2017-02-06 22:03:46

lastchild的帮助下,你可以得到一个月的最后七天。它会帮助你度过这个月的最后一天。因此,对于月份级别,可以使用:

代码语言:javascript
复制
Count (
    Filter ( 

            {[Date].[Date Hierarchy].CurrentMember.lastchild.Lag(6) :
            [Date].[Date Hierarchy].CurrentMember.lastchild}
         ,[Measures].[Amount]
    )
)

这里不适合使用后代,因为它返回包含该层次结构的所有子成员的集合。

票数 0
EN

Stack Overflow用户

发布于 2017-02-06 22:48:55

未进行测试,但可能类似于以下内容

代码语言:javascript
复制
COUNT(
  //to find the members with values use nonempty
  NONEMPTY( 
    //find the last date in a set
    TAIL(  
      EXISTS(  //find the dates associated to the currentmember 
        [Date].[Date Hierarchy].CurrentMember
       ,[Date].[Date Hierarchy].[Date Hierarchy].MEMBERS
      )
    ).ITEM(0).LAG(6)
    :
    TAIL(  //find the last date
      EXISTS(  //find the dates associated to the currentmember 
        [Date].[Date Hierarchy].CurrentMember
       ,[Date].[Date Hierarchy].[Date Hierarchy].MEMBERS
      )
    ).ITEM(0)
    , [Measures].[Amount]  
  )
)

我安装了一个针对的测试。

如果选择月份,则为:

代码语言:javascript
复制
WITH 
  MEMBER [Measures].[X] AS 
    Count
    (
      NonEmpty
      (
          Tail
          (
            Exists
            (
              [Date].[Calendar].[Date].MEMBERS
             ,[Date].[Calendar].CurrentMember
            )
          ).Item(0).Lag(6)
        : 
          Tail
          (
            Exists
            (
              [Date].[Calendar].[Date].MEMBERS
             ,[Date].[Calendar].CurrentMember
            )
          ).Item(0)
       ,[Measures].[Internet Sales Amount]
      )
    ) 
SELECT 
  NON EMPTY 
    {
      [Measures].[Internet Sales Amount]
     ,[Measures].[X]
    } ON 0
 ,NON EMPTY 
      [Date].[Calendar].[Month].&[2007]&[7]
    : 
      [Date].[Calendar].[Month].&[2008]&[6] ON 1
FROM [Adventure Works];

它按预期返回7:

如果我改变为每日在轴1:

代码语言:javascript
复制
WITH 
  MEMBER [Measures].[X] AS 
    Count
    (
      NonEmpty
      (
          Tail
          (
            Exists
            (
              [Date].[Calendar].[Date].MEMBERS
             ,[Date].[Calendar].CurrentMember
            )
          ).Item(0).Lag(6)
        : 
          Tail
          (
            Exists
            (
              [Date].[Calendar].[Date].MEMBERS
             ,[Date].[Calendar].CurrentMember
            )
          ).Item(0)
       ,[Measures].[Internet Sales Amount]
      )
    ) 
SELECT 
  NON EMPTY 
    {
      [Measures].[Internet Sales Amount]
     ,[Measures].[X]
    } ON 0
 ,NON EMPTY 
      [Date].[Calendar].[Date].&[20070701]
    : 
      [Date].[Calendar].[Date].&[20080630] ON 1
FROM [Adventure Works];

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42069684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档