mdx - 有没有更好的方法来计算 iccube 中 MDX 的移动平均值?

标签 mdx iccube

我使用以下计算成员来计算我过去 30 天的访问的移动平均值;有更短的方法吗?

WITH 
  MEMBER [Measures].[Visits Moving Avg] AS 
      AVG(
        [TIME].[Time].Prevmember : [TIME].[Time].Prevmember.Prevmember.Prevmember....
        , [Measures].[VISITS] 
      ), SOLVE_ORDER = 0

最佳答案

您可以使用 Lag MDX function 而不是使用 prevMember.prevMember... 系列调用功能如下:

WITH 
  MEMBER [Measures].[Visits Moving Avg] AS 
      AVG(
        [TIME].[Time].prevMember : [TIME].[Time].prevMember.lag(30)
        , [Measures].[VISITS] 
      ), SOLVE_ORDER = 0

顺便说一下,您的查询中似乎缺少 currentMember;您当前正在计算 [Time] 维度的 defaultMember 的移动平均值。使用时间维度的currentMember查询如下:

WITH 
  MEMBER [Measures].[Visits Moving Avg] AS 
      AVG(
        [TIME].[Time].currentMemBer.prevMember
            : [TIME].[Time].currentMemBer.prevMember.lag(30)
        , [Measures].[VISITS] 
      ), SOLVE_ORDER = 0

关于mdx - 有没有更好的方法来计算 iccube 中 MDX 的移动平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075636/

相关文章:

icCube 报告 - 使用事件的标签 : Formatting and Syntax

pivot - IcCube - 数据透视表中的叶子

iccube - IcCube 报告中的重叠标签

mdx - 是否可以基于 icCube 中的其他平面层次结构创建层次结构(向下钻取结构)?

mdx - 网络上最好的 MDX 引用

ssas - 从SSAS中选择​​维度表

mdx - 工作项树层次结构

ssas - 根据 MDX 中的日期获取度量

sql - 在 MDX 查询上添加过滤器