看似简单的MDX计算,但对不同变量使用相同维度两次
表: 我需要求和[X]。苹果赢,Y=草莓,然后除以[X]。草莓总损失。[措施][某些成员]=3/(5+3) 另一种方法是这样计算: 求和([X]。苹果赢,其中Y=草莓/SUM([Y]。草莓赢) 我不确定如何构造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 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]