Excel中的计算成员消失,具体取决于列顺序

问题描述:

我正在尝试在Excel中为我的表格模型创建一个计算所得成员。我无法访问SQL中的模型,也无法更改那里的代码。Excel中的计算成员消失,具体取决于列顺序

我的目标是创建一个包含除亚特兰大之外的所有分支的计算成员。这是我在Excel中的mdx代码。

aggregate([Branch].[Branch].[Branch].MEMBERS)-[Branch].[Branch].&[101 - ATLANTA] 

该代码运行良好,可以在以下数据透视表中看到。

Working ptable

工作MDX代码:

WITH 
MEMBER [Branch].[Branch].[All].[ExclAtl] as aggregate([Branch].[Branch]. 
    [Branch].MEMBERS)-[Branch].[Branch].&[101 - ATLANTA] 
SELECT NON EMPTY Hierarchize(DrilldownMember(CrossJoin({[Branch].[Branch]. 
    [All],[Branch].[Branch].[Branch].AllMembers}, {([Currency Type]. 
    [Currency Type].[All])}), [Branch].[Branch].[Branch].AllMembers, 
    [Currency Type].[Currency Type])) 
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS 
FROM (SELECT ({[Branch].[Branch].[All].[caseTest], [Branch].[Branch].[All]. 
    [ExclAtl], [Branch].[Branch].&[101 - ATLANTA]},{[Currency Type]. 
    [Currency Type].&[Base (USD)]}) ON COLUMNS FROM [Model]) 
WHERE ([Scale].[Currency Scale].[All],[Reserve Class].[Reserve Class Line]. 
    [All],[Param1].[Gross Ceded Net].&[Gross],[Measures].[Total Incurred]) 
CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, 
    FONT_FLAGS 

的问题是ExclAtl计算的成员显示不出来,当我切换货币类型和科列。为什么是这样?有没有更好的方法在Excel中键入MDX代码,以便ExclAtl成员将显示我选择的任何列顺序?

Not working ptable

MDX代码(ExclAtl未显示)

WITH 
MEMBER [Branch].[Branch].[All].[ExclAtl] as aggregate([Branch].[Branch]. 
    [Branch].MEMBERS)-[Branch].[Branch].&[101 - ATLANTA] 
SELECT NON EMPTY Hierarchize(DrilldownMember(CrossJoin({[Currency Type]. 
    [Currency Type].[All],[Currency Type].[Currency Type].[Currency 
    Type].AllMembers}, {([Branch].[Branch].[All])}), [Currency Type]. 
    [Currency Type].[Currency Type].AllMembers, [Branch].[Branch])) 
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS 
FROM (SELECT ({[Currency Type].[Currency Type].&[Base (USD)]},{[Branch]. 
    [Branch].[All].[caseTest], [Branch].[Branch].[All].[ExclAtl], [Branch]. 
    [Branch].&[101 - ATLANTA]}) ON COLUMNS FROM [Model]) 
WHERE ([Scale].[Currency Scale].[All],[Reserve Class].[Reserve Class Line]. 
    [All],[Param1].[Gross Ceded Net].&[Gross],[Measures].[Total Incurred]) 
CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, 
    FONT_FLAGS 

问题就出在这里:

{([Branch].[Branch].[All])} 

它不会返回[科] [科] [。全部]。[ExclAtl]成员。 您应该改用:

{([Branch].[Branch].AllMembers)} 
+0

谢谢!有没有办法在Excel中进行这种编辑?或者有没有可以改变的设置?我无法访问表格模型来编辑SQL中的mdx代码。我在Excel中做所有事情。 –

+0

你可以玩删除总计。由于简化了生成的代码(无DrilldownMember等),我期望这可能会有所帮助。但最好的方法是添加一个单独的属性。 –