看似简单的MDX计算,但对不同变量使用相同维度两次

看似简单的MDX计算,但对不同变量使用相同维度两次,mdx,olap,mondrian,Mdx,Olap,Mondrian,表: 我需要求和[X]。苹果赢,Y=草莓,然后除以[X]。草莓总损失。[措施][某些成员]=3/(5+3) 另一种方法是这样计算: 求和([X]。苹果赢,其中Y=草莓/SUM([Y]。草莓赢) 我不确定如何构造MDX查询来完成我需要的: X Y wins losses Apples Oranges 5 2 Apples Limes 2 1 Apples Str

表:

我需要求和[X]。苹果赢,Y=草莓,然后除以[X]。草莓总损失。[措施][某些成员]=3/(5+3)

另一种方法是这样计算: 求和([X]。苹果赢,其中Y=草莓/SUM([Y]。草莓赢)

我不确定如何构造MDX查询来完成我需要的:

X             Y             wins  losses
Apples        Oranges       5     2
Apples        Limes         2     1 
Apples        Strawberries  3     3
Limes         Pears         5     4
Limes         Strawberries  6     8
Strawberries  Limes         2     3
Strawberries  Apples        1     5

我已经研究过使用
AXIS
,但我使用的是Mondrian,它不支持
AXIS

您尝试过计算的度量吗

SELECT
{ [Measures].[some_calculated_member] } ON 0,
{ [X].[Apples] } ON 1,
{ [X].[Strawberries] } ON 2,
{ [Y].[Strawberries] } ON 3
FROM [cube]

谢谢!这很有效。为了我自己的学习目的,你介意告诉我为什么不起作用吗?如果成员[Measures].[Ratio]为([X].[Apples],[Measures].[wins])/SUM({[Y].CurrentMember},[Measures].[wins]),在列上选择{[Y].[Y].Members},在[cube]行上选择{[Measures].[Ratio]}为什么要做“SUM({[Y].CurrentMember},[Measures].[wins])?因为这意味着您正在将[Measures].[wins]筛选到[Y]。CurrentMember,而默认情况下,[Y]已在CurrentMember上
WITH 
Member [Measures].[Ratio] AS (
  [Measures].[wins.SUM],
  [X].[ALL].[AllMember].[Apples],
  [Y].[ALL].[AllMember].[Strawberries]
) / (
  [Measures].[losses.SUM],
  [Y].[ALL].[AllMember].[Strawberries]
) 
SELECT NON EMPTY {
  [Measures].[New Measure]
} ON COLUMNS 
FROM [SomeCube]