SSAS:如何使用不同层次结构上的多个条件创建计算成员

时间:2015-12-07 14:24:40

标签: ssas olap member

我的SSAS Cube存在问题。 我必须对我的Cube实施基本计算:

总和(Ammount)其中BOOK ="资产"和CD_PRODUCT_L4<> " LoanLoss"

我的dimmension如下图所示:

尺寸属性:BOOK,CD_PRODUCT_L4,CD_PRODUCT_L5,..

层次结构PROD:CD_PRODUCT_L4 - CD_PRODUCT_L5

CREATE MEMBER CURRENTCUBE.[Measures].[Principal Loans] 
    AS (
        except(
            [PLV PRH HDIM CB].[BOOK].&[ASSETS_ON],
            [PLV PRH HDIM CB].[COD PRODUCT L4].&[51L4]
        ), 
        [Measures].[EOM PRINCIPAL_a])

最重要的是条件不是来自同一层级,所以我不能使用除了,我知道没有其他方法来实现这个特定条件集

请帮助,谢谢

Product dimmension model

2 个答案:

答案 0 :(得分:0)

我设法通过向我的维度添加层次结构解决了这个问题,这允许我使用除了之前我想要的但我不满意这个解决方案,因为它看起来更像是解决方法然后解决方案

CREATE MEMBER CURRENTCUBE.[Measures].[Principal Loans] AS sum((except([PLV PRH HDIM CB].[Hierarchy BOOK].[BOOK].&[ASSETS_ON].children,[PLV PRH HDIM CB].[Hierarchy BOOK].[COD PRODUCT L4].&[51L4]),[Measures].[EOM PRINCIPAL_a]))

答案 1 :(得分:0)

这可能是我能提供给你所需要的最接近的例子。

这下面的代码只是我们定义的大约50个测量中的一个,包括计数,平均值,总和,百分比等。我们采用单个DW值并执行至少2个分离计算,大多数有4个或者更多不同的计算,来自那个领域。

CREATE MEMBER CURRENTCUBE.[Measures].[Count Previous Difference]
    AS Case 
    // Test for current coordinate being on (All) member.
        When [Date].[YearMonth].CurrentMember.Level Is [Date].[YearMonth].[(All)]
            Then "NA"
        Else 
            ( [Date].[YearMonth].CurrentMember, [Measures].[Gross Count] ) 
                -
            (   ParallelPeriod (
                    [Date].[YearMonth].CurrentMember.Level,
                    1,
                    [Date].[YearMonth].CurrentMember
                ), 
                [Measures].[Gross Count]
            )
    End, 
FORMAT_STRING = "#,##0.00;-#,##0.00", 
NON_EMPTY_BEHAVIOR = { [Gross Count] }, 
VISIBLE = 0 ,  ASSOCIATED_MEASURE_GROUP = 'Some Summary'; 

请记住,我们也使用DW&带有SharePoint和SSRS报告的多维数据集。