【问题标题】:SSAS - Can you do MDX calculations based on dimension level of an attribute?SSAS - 您可以根据属性的维度级别进行 MDX 计算吗?
【发布时间】:2019-04-10 19:39:37
【问题描述】:

我正在尝试根据维度进行动态计算。假设我有三个维度级别,但使用 Field1 / Field2 之类的相同度量来获取平均值。

相同的计算将适用于每个维度;但是我使用不同级别的不同属性来计算平均值。

示例: Field1/Field2在使用level1属性时划分,dimension1 Field1/Field2在使用level2属性时划分,dimension2 Field1/Field2在使用level3属性时划分,dimension3

这是完全相同的计算,但在基于不同级别的计算时需要是动态的:level1、level2和level3属性,所有这些都可能在不同的维度中。

我对 MDX 还很陌生,所以任何编码帮助都将不胜感激!

我还没有尝试过任何东西,因为我需要一个代码示例来了解如何编写表达式。

我见过这样的东西,但不知道它是否在正确的范围内:

 WITH MEMBER [Measures].[Booking Window Value] AS
 [PNR Details].[Booking Window].CURRENTMEMBER.MEMBER_VALUE
 MEMBER [Measures].[Avg Booking Window Value] AS
 AVG([PNR Details].[Booking Window].[Booking Window].MEMBERS,[Measures]. 
 [Booking Window       Value])
 SELECT
 [Measures].[Avg Booking Window Value] ON COLUMNS
 FROM
 [SalesAnalysis]

我希望输出是 MDX 表达式,相当于根据维度级别计算属性。

【问题讨论】:

    标签: ssas mdx


    【解决方案1】:

    您可以像这样检查级别:

    WITH MEMBER [Measures].[Booking Window Value] AS
    CASE WHEN
        [MyDimension].[MyHierarchy].CURRENTMEMBER.Level
    IS
        [MyDimension].[MyHierarchy].[Level1Name]
    THEN
    //Calculation for Level1
    111
    WHEN
        [MyDimension].[MyHierarchy].CURRENTMEMBER.Level
    IS
        [MyDimension].[MyHierarchy].[Level2Name]
    THEN
     //Calculation for Level2
    222
    ELSE
    
    333
    
    END
    

    【讨论】:

      猜你喜欢
      • 2017-11-24
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多